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. ...
随机推荐
- xml——dom&sax解析、DTD&schema约束
dom解析实例: 优点:增删改查一些元素等东西方便 缺点:内存消耗太大,如果文档太大,可能会导致内存溢出 sax解析: 优点:内存压力小 缺点:增删改比较复杂 当我们运行的java程序需要的内存比较大 ...
- Codeforces Round #501 (Div. 3) B. Obtaining the String (思维,字符串)
题意:有两个字符串\(S\)和\(T\),判断\(T\)是否能由\(S\)通过交换某位置的相邻字符得到,如果满足,输出交换次数及每次交换的位置,否则输出\(-1\). 题解:首先判断不满足的情况,只有 ...
- Go中的Socket编程
在很多底层网络应用开发者的眼里一切编程都是Socket,话虽然有点夸张,但却也几乎如此了,现在的网络编程几乎都是用Socket来编程.你想过这些情景么?我们每天打开浏览器浏览网页时,浏览器进程怎么和W ...
- servlet相关知识点
一.servlet的生命周期 Servlet(Sever Applet),全称是Java Servlet,是用java编写的服务器程序.Servlet是指任何实现了这个Servlet接口的类. ser ...
- 2.hello rabbitmq
作者 微信:tangy8080 电子邮箱:914661180@qq.com 更新时间:2019-07-22 22:49:50 星期一 欢迎您订阅和分享我的订阅号,订阅号内会不定期分享一些我自己学习过程 ...
- 根据直方图 histogram 进行简单的图像检索
https://github.com/TouwaErioH/Machine-Learning/tree/master/image%20identification/Histogram%20retrie ...
- MSE,RMSE
MSE: Mean Squared Error 均方误差是指参数估计值与参数真值之差平方的期望值; MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度. RMSE ...
- sass文件编译(.scss->.css),使用ruby环境,在windows10,koala工具,Error: Invalid GBK character "\xE5"
1 注意事项: 问题描述: 请确保 Encoding.default_external = Encoding.find('utf-8') 是uft-8 编码! sass文件编译时候使用ruby环境,在 ...
- Promise thenable All In One
Promise thenable All In One Promise thenable 是指一个函数或一个对象的里面定义了一个 then 方法 Promises/A+ https://promise ...
- Apple iPhone 12 Pro 数据迁移方式 All In One
Apple iPhone 12 Pro 数据迁移方式 All In One iPhone 12 Pro https://mp.weixin.qq.com/s/US1Z_69zVQIhV-cNW1E6A ...