rsyslog日志总结
rsyslog日志总结
一 rsyslog介绍
syslogd被rsyslog取代
将日志写入数据库 可以利用模块和插件控制输入输出
rsyslog程序管理本地和远程日志
安装软件
根据需求修改配置文件
启动服务
测试验证
日志:
历史事件:时间,地点,人物,事件
日志级别:事件的关键性程度,Loglevel
系统日志服务:
sysklogd :CentOS 5之前版本
syslogd: system application 记录应用日志
klogd: linux kernel 记录内核日志
事件记录格式:
日期时间 主机 进程[pid]: 事件内容
C/S架构:通过TCP或UDP协议的服务完成日志记录传送,将分布在不同主机的日志实现集中管理
rsyslog特性:CentOS6和7
多线程
UDP, TCP, SSL, TLS, RELP
MySQL, PGSQL, Oracle实现日志存储
强大的过滤器,可实现过滤记录日志信息中任意部分
自定义输出格式
ELK:elasticsearch, logstash, kibana
非关系型分布式数据库
基于apache软件基金会jakarta项目组的项目lucene
Elasticsearch是个开源分布式搜索引擎
Logstash对日志进行收集、分析,并将其存储供以后使用
kibana 可以提供的日志分析友好的 Web 界面
二系统日志文件介绍
日志格式 文本日志/二进制日志/数据库日志
常见日志文件
/var/log/boot.log 系统引导日志,记录开机启动信息
/var/log/dmesg 核心的启动日志 (硬件相关)
/var/log/messages 系统的日志文件
/var/log/maillog 邮件服务的日志
/var/log/xferlog ftp服务的日tmp志
/var/log/secure 网络连接及系统登录的安全信息
/var/log/cron 定时任务的日志
/var/log/wtmp 记录所有的登入和登出 last -f 查看
/var/log/btmp 记录失败的登入尝试
三:日志级别
# man syslog
日志信息分为以下级别,从上到下级别依次降低
none 不算是一个等级,它表示不记录服务的所有信息
0 emerg 系统不可用
1 alert 特别留意的报警信息
2 crit 非常严重的状况
3 err 错误信息
4 warning 警告信息
5 notice 稍微要注意的信息
6 info 正常信息
7 debug 调试信息,开发人员使用
四.日志配置
1.日志定义相关符号
配置文件中常见的表示符号
. <--- 用来分隔服务和级别
* <--- 任何服务,或者任何级别
= <---有等号表示等于某一级别,没有等号表示或者等于某一级别 mail.=info
mail.info
! <--- 排除操作,前面有相同服务的表达式,这个操作才有意义
代表从前面表达式所包含的内容中排除某些内容
; <--- 用于分隔不同的服务,级别组合
cron.=info;mail.info
, <--- 用于分隔不同的服务 cron,mail.=info
- <--- 用于指定目标文件时,代表异步写入 -/var/log/maillog
举例:
cron.err 0123
cron.=info 6
cron.!=info 0123457
mail,cron,ftp=err 3
cron.info;cron.!err
0123456 4567
456 #取交集
mail.info;mail.!=err
0123456 0124567
012456 #取交集
配置文件详解
/etc/rsyslog.conf rsyslog日志的主配置文件
/etc/rsyslog.d/*.conf rsyslog日志的辅助配置文件
/var/log/ 日志文件的目录
cat /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none /var/log/messages
#记录所有服务产生的日志,除了mail/验证/任务计划相关日志都记录/
authpriv.* /var/log/secure
telnet ssh 设备载体
#记录所有跟验证有关日志信息 mail.* -/var/log/maillog #记录所有跟邮件有关日志信息
cron.* /var/log/cron
#记录所有跟任务计划有关日志信息
*.emerg :omusrmsg:*
#把所有级别为emerg的信息发送给所有登录到系统上的用户
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
#记录所有跟启动相关的日志
1.修改sshd的配置文件
vim /etc/ssh/sshd_config
SyslogFaclity local1
2.修改rsyslog程序的配置文件
vim /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none;local1.none
authpric.*;local1.none
local1.*
3.重启服务测试验证
总结:
本地日志管理:服务的日志和系统的日志
服务日志:
1.服务本身可以做管理自己的日志,比如ftp服务。----->服务的配置文件,vsftpd.conf
2.使用rsyslog程序管理服务的日志。rsyslog.conf--->日志设备载体.info /var/log/ftp.log
五远程日志管理
目的:把多台服务器的日志远程记录到其中一台日志服务器集中化管理,方便对其统一分析和管理;
需求:
将ssh服务的日志远程记录到日志管理服务器上保存
环境准备
ssh-server 10.1.1.250(管理端)
log-server:10.1.1.1
ssh-server:10.1.1.3
client:10.1.1.2
思路:
1.在ssh-server上将ssh服务的日志单独记录
2.在ssh-server上通过修改rsyslog.conf文件来将本地ssh服务日志远程传送到log-server服务器上
3.在log-server上打开514端口等待客户来传送日志
4.测试验证
步骤:
ssh-server
1.在日志服务器端完成以下事情
1)安装rsyslog文件
rpm -qa rsyslog
2)在log-server上打开514端口
vim /etc/rsyslog.conf
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
systemctl restart rsyslog
netstat -tnulp|grep 514
2.在ssh-server上将ssh服务的日志单独记录
修改sshd的配置文件
vim /etc/ssh/sshd_config
SyslogFaclity local1
1)ssh服务的日志载体定义为local1
2)删除原来的本地保存
#local1.* /var/log/sshd.log
local1.* @@10.1.1.1:514
第一个@代表UDP协议传送;@@代表tcp协议传输
3)重启rsyslog服务
systemctl restart rsyslog
useradd stu1
echo 123|passwd --stdin stu1
日志轮转
日志轮转介绍
日志轮换
logrotate 日志轮换的工具
日志存放的地方: /var/log/*
常见的日志文件:
/var/log/messages
/var/log/wtmp
/var/log/btmp
轮换工具的配置文件: /etc/logrotate.conf
/var/log/wtmp { <---需要轮换的日志的据对路径
monthly <---采用每个月轮换一次的设定
minsize 1M <----日志轮换的时候日志文件必须不少于1M,尽管轮换的时间到了,如果文件达不到1M也不去轮换
create 0664 root utmp <----新建的日志文件权限是什么?拥有者是谁,组是谁?
rotate 1
}
size 512k <---尽管轮换的时间还没到,如果日志文件达到512kb,也进行轮换
对ssh服务日志进行轮转
要求:
1.每天进行轮转,保留5天的日志文件
2.日志文件大小大于5M进行轮转,不管是否到轮转周期
思路:
修改logrotate程序的主配置文件或者在/etc/logrotate.d/目录创建一个文件
步骤:
log-server
vim /etc/rsyslog.conf
local1.* /var/log/sshd.log
#local1.* @@10.1.1.1:514
find /var/log -type f -exec rm -f {} \;
find /var/log/ -type f -delete
systemctl restart rsyslog
方法1:修改主配置文件
vim /etc/logrotate.conf
...
/var/log/sshd.log {
daily
rotate 5
size 5M
}
测试验证
logrotate -f /etc/logrotate.conf
方法2:创建子配置文件
vim /etc/logrotate.d/sshd
/var/log/sshd.log {
missingok
daily
rotate 5
size 5M
}
nodateext //不以日期作为后缀
find /var/log/ -type f -delete
systemctl restart rsyslog
logrotate -f /etc/logrotate.conf
对FTP服务日志进行轮转
要求:
1.每个月轮转1次,保留一个月的日志
2.日志文件大小超过500M不管有没有到轮转周期必须轮转
3.如果日志文件不存在也不报错
思路:
1.首先得在当前系统中有ftp服务的日志
ftp服务自己本身管理日志(/var/log/xferlog)
交给rsyslog程序管理(vsftpd.conf--->syslog_enable=YES;设备载体默认是FTP);rsyslog.conf
----->ftp.* /var/log/ftp.log
log-server
yum install vsftpd -y
systemctl restart vsftpd
systemctl enable vsftpd
vim /etc/rsyslog.conf
ftp.* /var/log/ftp.log
vim /etc/vsftpd/vsftpd.conf
lftp localhost
vim /etc/logrotate.d/vsftpd
添加
/var/log/ftp.log {
missingok
monthly
rotate 1
size 500M
}
logrotate -f /etc/logrotate.conf
rsyslog日志总结的更多相关文章
- rsyslog日志服务的配置文件分析
基于rsyslog日志服务的日志 在不同的LINUX系统,实现的软件略有不同. syslog,rsyslog,syslog-ng,用于实现系统日志的管理. [root@asianux4 ~]# rpm ...
- Linux Rsyslog日志集中管理
Linux Rsyslog日志集中管理 一.Rsyslog简介 ryslog 是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来 ...
- Linux下rsyslog日志收集服务环境部署记录
rsyslog 可以理解为多线程增强版的syslog. 在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL.PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.目 ...
- Linux下rsyslog日志收集服务环境部署记录【转】
rsyslog 可以理解为多线程增强版的syslog. 在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL.PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.目 ...
- logstash收集rsyslog日志
(1)rsyslog配置 在192.168.1.31配置 #vim /etc/rsyslog.conf *.* @@192.168.1.32:514 //所有设备名,所有日志级别都发送到192.168 ...
- 将shell脚本运行情况写入Rsyslog日志server
在运维工作中,免不了编写一些脚本交由计划任务(cron)去定时运行完毕一些日常工作,实现运维工作自己主动化.比方在我的日常工作中备份数据是一项重要的工作,须要定时将数据备份到备份服器和一些其它的备份介 ...
- centos7设置rsyslog日志服务集中服务器
centos7设置rsyslog日志服务集中服务器 环境:centos6.9_x86_64,自带的rsyslog版本是7.4.7,很多配置都不支持,于是进行升级后配置 # 安装新版本的rsyslog程 ...
- rsyslog日志服务部署
rsyslog简介 rsyslog是CentOS6和CentOS7默认的记录日志的服务 支持特性: UDP, TCP, SSL, TLS, RELP MySQL, PGSQL, Oracle实现日志存 ...
- CentOS7+Rsyslog+MySQL 搭建 Rsyslog 日志服务器
文章目录 1.主机环境 2.rsyslog搭建 2.1.rsyslog-server搭建 2.2.rsyslog-client 2.2.1.测试 2.3.rsyslog日志分类 2.3.1.测试 3. ...
随机推荐
- UVA-257 哈希算法
UVA-257 题意: 给你很多串,你需要找到这个串内有没有两个长度大于3的回文字符串,且要保证这两个回文字符串不相同,也不能完全覆盖,但可以重合一部分 题解: 首先判断回文的话可以通过马拉车算法(M ...
- URAL - 1029 dp
题意: n层楼,每层楼有m个房间.找出一个路径从第一层到达第M层,使得路径上的所有数的和是所有可达路径中最小的,每次上到下一层以后就不能再上去,依次输出路径上的各点在所在层的列数. 题解: 参考链接: ...
- 流程的python PDF高清版
免费下载链接:https://pan.baidu.com/s/1qcPjLlFXhVXosIGBKHVVXQ 提取码:qfiz
- python try异常处理
什么是异常 python异常捕获,在刚开始学的时候,经常会遇到两种报错信息:语法错误和执行的异常. 语法错误在执行的时候就会报错,同时控制端会告诉你错误所在的行: 但即便python程序语法是正确的, ...
- GitHub Actions 支持 "skip ci" 了
GitHub Actions 支持 "skip ci" 了 Intro GitHub Actions 作为 GitHub 官方的 CI 支持,很多开源项目已经在使用 Actions ...
- Linux系统SCSI磁盘扫描机制解析及命令实例
介绍Linux系统扫描SCSI磁盘有几种方式?Linux新增LUN之后,能否不重启主机就认出设备?如果安装了PowerPath,动态添加/删除LUN的命令是什么?本文总结了Linux主机对磁盘设备进行 ...
- 网站日志统计以及SOA架构
网站日志统计相关术语 PV(Page View):页面浏览量或点击量,衡量用户访问的网页数量 UV(Unique Visitor):独立设备的访问次数,根据客户端发送的 Cookie 区分 IP(In ...
- 鸟哥的linux私房菜——第五章学习(Linux的文件权限与目录配置)
******************第五章学习****************** 1.[重要的三个概念] 1).文件拥有者(使用者):User,该文件/文件夹只能我来读写: 2).群组:Group, ...
- JS编程练习:封装insertAfter函数(功能类似于系统insertBefor)
那么insertAfter()要实现的功能: 在指定的子节点后面插入新的子节点: 1 <body> 2 <div> 3 <p></p> 4 <sp ...
- MarkDown(文本编译器)
MarkDown(一种高效的文本编译器) 推荐使用Typora 点击此处下载 使用方法 1. 首先创建一个文本文件xxx.txt. 2. 然后修改文件后缀为xxx.md.(可以记做玛德...) 3. ...