(服务运维)日志服务管理rsyslog和journalctl工具

幽映每白日,清辉照衣裳。这篇文章主要讲述(服务运维)日志服务管理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 的启动日志。带来的好处就是,可以只用
【(服务运维)日志服务管理rsyslog和journalctl工具】journalctl一个命令,查看所有日志(内核日志和应用日志)。
命令格式:journalctl [OPTIONS...] [MATCHES...]


常用参数   
  • -a 正向显示所有
  • -r 反向显示所有
  • -e 分页显示,日志尾部默认显示1000行
  • -p 日志等级
  • -k 只看内核日志
  • -n 100 最新100条内容
  • _PID=1  查看指定进程日志

    推荐阅读