1 Linux-日志模板概述
本文档适用于监控操作系统Linux-日志,Linux-日志是通过Zabbix Agent进行设备纳管,监控指标主要包含日志中关键字。
支持的Zabbix版本:5.0以上版本
支持的Linux-日志版本:Centos、Redhat、Uos、Kylin、Ubuntu、Euler、Suse
监控模板下载:主模板_Linux_日志监控_主动.xml
例如通过Linux日志,监控主备系统是否发生过切换,如下图:
2 模板详情
2.1 模板宏
无
2.2 监控指标
指标组 | 监控指标项 | Item名称 | Item键值 | 触发器 |
Log | 通用日志文件 | 描述:{#DESC}-日志名称:{#LOGPATH}-关键字{#FILTER} | log[{#LOGPATH},"{#FILTER}",,,skip] | [业务]{#DESC},日志 {#LOGPATH}存在{#FILTER}错误信息 |
Log | 正则日志文件 | 描述:{#DESC}-日志名称:{#LOGPATH}-关键字{#FILTER} | logrt[{#LOGPATH},"{#FILTER}",,,skip] | [业务]{#DESC},日志 {#LOGPATH}存在{#FILTER}错误信息 |
3 模板安装说明
3.1 监控前置条件(管理员必做)
1. 需要存在已安装配置的zabbix agent程序,通过检查zabbix进程;
ps-ef|grep zabbix_agentd
2. 下载并上传日志脚本的压缩包log.tar.gz至/tmp目录,并且解压log.tar.gz文件;
日志脚本压缩包下载:log.tar.gz
cd /tmp
tar -zxvf log.tar.gz
3. 查看日志检测脚本是否被定义可以根据zabbix agent配置文件的Include参数进行查看,根据进程获取zabbix agent的配置文件路径
ps -ef|grep zabbix_agentd
grep 'Include'/opt/zabbix/agent/conf/zabbix_agentd.conf|grep -v '#'
4. 根据Include定义的上传日志纳管脚本及日志配置文件至到被监控服务器的Agent规划的Userparameter目录中,
grep 'LOGCHECK'/opt/zabbix/agent/conf/zabbix_agentd/*.conf
5. 根据上述所述,/opt/zabbix/agent/agentscripts/network为日志自定义监控的执行目录,则复制日志纳管脚本及日志配置文件到/opt/zabbix/agent/agentscripts/network;
mkdir -p /opt/zabbix/agent/agentscripts/network/
cp -a/tmp/logmon.sh /opt/zabbix/agent/agentscripts/network/
cp -a /tmp/logmon.conf /opt/zabbix/agent/agentscripts/network/
6. 可以根据zabbix agent配置文件的Include参数,如未定义Include参数,则直接将log.conf文件追加到zabbix agent配置文件中,并且修改log.conf定义的logmon.sh执行路径,log.conf文件中默认路径为/opt/zabbix/agent/agentscripts/network/,如默认路径是正确,则不需要修改;
grep 'LOGCHECK'/opt/zabbix/agent/conf/zabbix_agentd/*.conf
如出现上述返回,代表已定义log日志监控键值,则无需执行复制动作,反之,则需要复制文档到Include参数定义的路径目录下。
cp -a /tmp/log.conf /opt/zabbix/agent/conf/zabbix_agentd/
7. 赋予/opt/zabbix/agent目录权限为zabbix用户组且755
chown -Rzabbix:zabbix /opt/zabbix/agent
chmod -R755 /opt/zabbix/agent
8. 重启zabbix agentd
systemctl restart zabbix-agentd
3.2 logmon.conf文件配置说明(管理员必做)
此文件主要用于配置需要监控的日志文件路径及关键字信息,因为每一台设备所涉及的日志文件路径及关键字不相同,因而需要特定开发一个日志监控框架,管理员配置相应的logmon.conf配置文件即可,监控系统会根据定义的信息进行日志纳管。
示例:
#Type#Path#Filter#Description
配置内容以“#”作为分割符,其中各字段说明如下
编号 | 字段名 | 字段说明 |
1 | Type | 常量,特定配置的两个值: general通用日志文件路径 regexp正则日志文件路径 |
2 | Path | 日志路径,支持两种日志路径格式 general /var/log/messages 绝对路径 regexp /var/log/cron* 回滚日志路径 |
3 | Filter | 日志中的关键字 |
4 | Description | 自定义的告警描述,用于告警通知 |
#example:
general#/var/log/messages#removingprotocol VIPs#系统Keepalived的VIP发生切换
上述示例为:监控keepalived是否发现VIP切换,监控/var/log/messages日志文件中的关键字“removing protocol VIPs”来判定VIP的切换情况。如切换,则会将告警描述“系统Keepalived的VIP发生切换”及日志内容一并发送且通知用户。
3.3 设备监控
3.3.1 主机添加
在zabbix web上新建host并关联Linux-日志模板
3.3.2 修改主机宏
无
3.3.3 查看最新数据
在zabbix web上点击“monitor”à”Latest data”,在“Hosts”选择新增的Linux-日志
主机,最后点击“Apply”生效来查看最新数据。