zabbix监控之进程&日志监控
一、进程监控
1、环境说明
环境 | IP | 要安装的应用 |
---|---|---|
服务器 | 192.168.56.23 | lamp架构 zabbix server zabbix agent |
客户端 | 192.168.56.20 | zabbix agent |
2、项目要求
利用zabbix对客户机192.168.56.20上的postfix进程进行监控
3、监控配置
1)客户端修改
//创建脚本路径并编写脚本
[root@20liuzhenchao ~]# mkdir /scripts
[root@20liuzhenchao ~]# vim /scripts/check_process.sh
#!/bin/bash
process_count=$(ps -ef|grep -Ev "grep|$0" |grep -c $1)
echo $process_count
//给脚本执行权限,并改属主和属组为zabbix
[root@20liuzhenchao ~]# chmod +x /scripts/check_process.sh
[root@20liuzhenchao ~]# chown zabbix.zabbix /scripts/check_process.sh
[root@20liuzhenchao ~]# ll /scripts/check_process.sh
-rwxr-xr-x 1 zabbix zabbix 88 5月 24 17:20 /scripts/check_process.sh
//测试脚本
[root@20liuzhenchao ~]# /usr/bin/bash /scripts/check_process.sh postfix
3
//修改客户端配置文件
[root@20liuzhenchao ~]# vim /usr/local/etc/zabbix_agentd.conf
#
# Mandatory: no
# Range: 0-1
# Default:
UnsafeUserParameters=1 //将此处“0”改为“1”,启用该功能
UserParameter=check_process[*],bash /scripts/check_process.sh $1 //添加此行
//重启zabbix_agentd服务,在服务端重启zabbix_server服务并在服务端验证能否获取key
[root@zabbix ~]# zabbix_get -s 192.168.56.20 -k check_process[postfix]
3
2)在zabbix网页里创建监控项
3)在zabbix网页里配置触发器动作(动作引用之前的)
4)触发告警,测试
[root@20liuzhenchao ~]# systemctl stop postfix
二、日志监控
1、环境说明
环境 | IP | 要安装的应用 |
---|---|---|
服务器 | 192.168.56.23 | lamp架构 zabbix server zabbix agent |
客户端 | 192.168.56.20 | zabbix agent |
2、项目要求
利用zabbix对客户机192.168.56.20上的/tmp/zabbix_agentd.log日志进行监控
3、监控配置
此处脚本为python脚本,名字为log.py
log.py说明
作用:检查日志文件中是否有指定的关键字
第一个参数为日志文件名(必须有,相对路径、绝对路径均可)
第二个参数为seek position文件的路径(可选项,若不设置则默认为/tmp/logseek文件。相对路径、绝对路径均可)
第三个参数为搜索关键字,默认为 Error
1)客户端修改
//修改配置文件
[root@20liuzhenchao ~]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_log[*],python /scripts/log.py $1 $2 $3 //添加此行
//重启客户端zabbix_agentd
[root@20liuzhenchao ~]# pkill zabbix
[root@20liuzhenchao ~]# zabbix_agentd
//在服务端检查验证配置
[root@zabbix ~]# zabbix_get -s 192.168.56.20 -k check_log[/tmp/zabbix_agentd.log]
1 //表示zabbix_agentd.log日志中有error,验证没问题
[root@20liuzhenchao ~]# less /tmp/zabbix_agentd.log
zabbix_agentd [1990]: Error waiting for process with PID 1991: [10] No child processes4
2)在网页上配置监控项
3)在网页上配置触发器
4)手动触发并测试
[root@20liuzhenchao ~]# echo "faild" >> /tmp/zabbix_agentd.log