网站首页 > 精选教程 正文
在Linux系统上,日志文件通常可以分为四类:
System Logs(系统日志)
Event Logs(事件日志)
Application Logs(应用程序日志)
Service Logs(服务日志)
一、为什么要监控日志?
Linux为了跟踪和监视系统(内核)各个组件及应用程序运行状态而将产生的相关事件存储到日志文件中,当系统或者应用程序出现问题时,系统管理员能根据日志定位到问题。而通过监控Linux的日志,系统管理员不仅可以及时掌控到服务器错误消息以及其它应用程序的详细信息,还可以监控到系统安全性,如非法登录等事件等。
二、哪些日志需要被监控?
1、/var/log/messages,对应Debian或Ubuntu日志文件为/var/log/syslog。该日志文件用于记录系统启动期间的产生的日志、应用程序相关的错误日志。
/var/log/messages需要监控的关键字如下:
Crit、crit、Warn、warn、Error、error、err、failed、segfault等
2、/var/log/secure,对应Debian或Ubuntu日志文件为/var/log/auth.log。该日志文件用于记录服务器中所有与用户身份验证相关的事件,如用户sudo/ssh登录信息、暴力攻击等未经授权的信息。
/var/log/secure需要监控的关键字如下:
Failed、failed、Error、err等。
3、/var/log/boot.log,该日志用于记录系统启动时的相关信息,包括应用程序开机自启动。另外,非正常关机、意外重启或引导失败等相关问题均会被记录。
/var/log/boot.log需要监控的关键字如下:
WARNING、FATAL、ERROR、Failed等。
4、/var/log/dmesg,该日志记录了硬件设备以及驱动程序相关信息,当内核在引导过程中检测到硬件错误时会在该文件中记录相关信息。
/var/log/dmesg需要监控的关键字如下:
Failed、failed、Error、err等。
另外还可以监控系统相关应用日志,包括/var/log/cron、/var/log/yum.log、/var/log/maillog或者用户自研的应用日志,又或者是tomcat或者nginx访问日志等。
三、如何使用Zabbix监控日志关键字?
我们需要用到Zabbix监控日志的两种Key,log和logtr。
在配置log和logtr类型的Item时,item的Type一定要选择Zabbix agent (active),即主动模式,因此所有Zabbix的Agent端zabbix_agentd.conf中需要配置ServerActive指向Zabbix Server。另外,zabbix用户需要有被监控的日志文件读取权限,否则item添加后会报unsupported。
① 确保Zabbix Agent配置了ServerActive,如下图所示。
② 确保要监控的日志zabbix用户有读取权限,可执行如下命令。
/usr/bin/setfacl -m u:zabbix:r-- /var/log/secure
/usr/bin/setfacl -m u:zabbix:r-- /var/log/messages
/usr/bin/setfacl -m u:zabbix:r-- /var/log/boot.log
/usr/bin/setfacl -m u:zabbix:r-- /var/log/dmesg
③ 通过修改/etc/logrotate.d/syslog,确保日志滚动后仍然可被zabbix用户读取。
# cat /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
/var/log/dmesg
/var/log/boot.log
{
missingok
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
/usr/bin/setfacl -m u:zabbix:r-- /var/log/secure
/usr/bin/setfacl -m u:zabbix:r-- /var/log/messages
/usr/bin/setfacl -m u:zabbix:r-- /var/log/boot.log
/usr/bin/setfacl -m u:zabbix:r-- /var/log/dmesg
endscript
}
④ 使用log[]或者logrt[]添加items。
log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>]
logrt[file_regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>]
详细可参考官档中文说明(https://www.zabbix.com/documentation/4.0/zh/manual/config/items/itemtypes/log_items)
创建item前,我们先创建一个模板如"Template System Logs",专门用于系统日志监控。
本文暂时没有评论,来添加一个吧(●'◡'●)