(服务运维)日志服务管理rsyslog和journalctl工具
Posted 林炜玮_51CTO
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(服务运维)日志服务管理rsyslog和journalctl工具相关的知识,希望对你有一定的参考价值。
rsyslog特性
- 多线程
- UDP, TCP, SSL, TLS, RELP
- mysql, PGSQL, Oracle实现日志存储
- 强大的过滤器,可实现过滤记录日志信息中任意部分
- 自定义输出格式
- 适用于企业级中继链
rsyslog配置文件
/etc/rsyslog.conf 配置文件格式:由三部分组成
GLOBAL DIRECTIVES:
- 全局配置MODULES:
- 相关模块配置GLOBAL DIRECTIVES:
- 全局配置RULES:日志记录相关的规则配置
通常的日志文件的格式:
日志文件有很多,如: /var/log/messages,cron,secure等,基本格式都是类似的。格式如下
事件产生的日期时间 主机 进程(pid):事件内容
- /var/log/secure:系统安全日志,文本格式,应周期性分析
- /var/log/btmp:当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看
- /var/log/wtmp:当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看
- /var/log/lastlog:每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看/
- var/log/dmesg:CentOS7 之前版本系统引导过程中的日志信息,文本格式,开机后的硬件变化将不再记录专用命令dmesg查看,可持续记录硬件变化的情况
- /var/log/boot.log 系统服务启动的相关信息,文本格式
- /var/log/messages :系统中大部分的信息
- /var/log/anaconda : anaconda的日志
启用网络日志服务
启用网络日志服务功能,可以将多个远程主机的日志,发送到集中的日志服务器,方便统一管理。
配置步骤
172.16.10.10(service)配置
vim /etc/rsyslog.conf
systemctl restart rsyslog.service #重启服务,查看是否开启514端口
172.16.10.18(client)配置
vim /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none @172.16.10.10:514 #UDP
#如果是TCP传输
*.info;mail.none;authpriv.none;cron.none @@172.16.10.10:514 #TCP
systemctl restart rsyslog.service #重启服务
由于日志的格式是时间+主机名+事件,为了日志易于识别,需要区分主机名
logger "this is a test log on 172.16.10.18" #手动打印测试日志
拓展玩法
利用mysql存储日志,利用loganalyzer图形化展示日志,利用logrotate日志转储或滚动
日志管理工具 journalctl
CentOS 7 以后版,利用Systemd 统一管理所有 Unit 的启动日志。带来的好处就是,可以只用
journalctl一个命令,查看所有日志(内核日志和应用日志)。
命令格式:journalctl [OPTIONS...] [MATCHES...]
常用参数
- -a 正向显示所有
- -r 反向显示所有
- -e 分页显示,日志尾部默认显示1000行
- -p 日志等级
- -k 只看内核日志
- -n 100 最新100条内容
- _PID=1 查看指定进程日志
以上是关于(服务运维)日志服务管理rsyslog和journalctl工具的主要内容,如果未能解决你的问题,请参考以下文章
CentOS6.8下使用rsyslog+ldap部署日志服务器来实现日志收集