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. ...
随机推荐
- hdu5564 Clarke and digits
Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission ...
- HDU 3488-Tour KM
为什么可以这样拆点在 这道题 都已经证明过 代码: 1 //题目上面说了"The only exception is that the first and the last city sho ...
- hdu4521 小明系列问题——小明序列
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission ...
- CF1400-D. Zigzags
CF1400-D. Zigzags 题意: 给出一个由\(n\)个数字构成的数组\(a\),让你在这个数组中找出有多少个符合以下要求的元组\((i,j,k,l)\): 1. \(i<j<k ...
- forEachRemaining()方法的用法
forEachRemaining()是java1.8新增的Iterator接口中的默认方法对于这个方法,官方文档是这么描述的:Performs the given action for each re ...
- 网络安全-企业环境渗透2-wordpress任意文件读&&FFmpeg任意文件读
参考 http://prontosil.club/posts/c08799e1/ 一. 实验名称 企业环境渗透2 二. 实验目的 [实验描述] 操作机的操作系统是kali 进入系统后默认是命令行界面 ...
- Linux命令学习-01——find -type
Linux find 命令用来在指定目录下查找文件. 任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件.并且将查找到 ...
- Code Spell Checker & VSCode 单词拼写验证
Code Spell Checker & VSCode 单词拼写验证 https://marketplace.visualstudio.com/items?itemName=streetsid ...
- css variables & CSS 变量
css variables & CSS 变量 https://gist.github.com/xgqfrms-GitHub/5d022a13292c615d2730e84d909e1aba c ...
- js 运算符的执行顺序
js 运算符的执行顺序 js 运算符优先级 Operator Precedence 下表从最高(21)到最低(1)优先顺序排列 left-to-right 从左到右 / 先左后右 right-to-l ...