zabbix自定义监控(编写脚本监控服务,日志等)

zabbix自定义监控

监控进程

实验环境

zabbix—serverzabbix—z2
ip192.168.80.21192.168.80.22
主机名c1c2

实验思路

  1. 客户端开启自定义监控功能
  2. 编写脚本
  3. 测试脚本可用性
  4. 服务端编辑配置
  5. 服务端测试脚本可用性
  6. ui界面配置监控线和触发器
  7. 手动触发警报

实验流程

  • 开启自定义监控功能
[root@z2 ~]# vim /usr/local/etc/zabbix_agentd.conf
322 UnsafeUserParameters=1
  • 编写脚本
[root@z2 ~]# mkdir /scripts
[root@z2 ~]# vim /scripts/check_process.sh 
#!/bin/bash
process_status=$(ps -elf | grep -Ev "grep|$0" | grep -c $1)
if  [ $process_status != 0 ];then
        echo '1'
else
        echo '0'
fi
[root@z2 ~]# chmod +x /scripts/check_process.sh 
[root@z2 ~]# /scripts/check_process.sh httpd 		#脚本加服务名
0
  • zabbix用户测试脚本可用性(zabbix是以zabbix用户访问系统)
[root@z2 ~]# yum install -y httpd
[root@z2 ~]# systemctl start httpd
[root@z2 ~]# ss -antl
State        Recv-Q       Send-Q             Local Address:Port              Peer Address:Port      Process      
LISTEN       0            128                      0.0.0.0:111                    0.0.0.0:*                      
LISTEN       0            32                 192.168.122.1:53                     0.0.0.0:*                      
LISTEN       0            128                      0.0.0.0:22                     0.0.0.0:*                      
LISTEN       0            5                      127.0.0.1:631                    0.0.0.0:*                      
LISTEN       0            128                      0.0.0.0:10050                  0.0.0.0:*                      
LISTEN       0            128                         [::]:111                       [::]:*                      
LISTEN       0            128                            *:80                           *:*                      
LISTEN       0            128                         [::]:22                        [::]:*                      
LISTEN       0            5                          [::1]:631                       [::]:*           
[root@z2 ~]# su - zabbix -s /bin/bash 	 #临时给zabbix一个/bin/bash
su: warning: cannot change directory to /home/zabbix: No such file or directory
[zabbix@z2 root]$ /scripts/check_process.sh httpd
1
[root@z2 ~]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_process[*],/bin/bash /scripts/check_process.sh $1
  • 服务端测试脚本
[root@z1 ~]# zabbix_get -s 192.168.80.22 -k check_process['httpd']
0
  • ui界面添加监控项和触发器

image-20210520090828032

image-20210520090942366

  • 之前定义过动作为微信告警,这里就不做了

  • 手动触发

[root@z2 ~]# systemctl stop httpd

image-20210520091435897

image-20210520091704959

监控日志

实验环境

zabbix—serverzabbix—z2
ip192.168.80.21192.168.80.22
主机名c1c2

实验思路

  1. 配置脚本
  2. 客户端编辑配置文件
  3. 服务端连接测试
  4. 配置zabbix监控项和触发器
  5. 手动触发警报

实验流程

  • 配置脚本
[root@z2 ~]# git clone https://github.com/chendao2015/pyscripts.git #克隆gitbug脚本
[root@z2 ~]# cp pyscripts/log.py /scripts/
[root@z2 ~]# cd /scripts/
[root@z2 scripts]# ls
check_process.sh  log.py
[root@z2 scripts]# chmod +x log.py 
#脚本参数
seekfile = '/tmp/logseek'				//默认将此次读取到了多少条信息存放到此文件中
        tagKey = 'Error'				//默认报错信息为Error
[root@z2 ~]# dnf -y module install python38  #安装python3.8
[root@z2 ~]# setfacl -m u:zabbix:rx /var/log/httpd/
[root@z2 ~]# mkdir /zabbix_item_log  
[root@z2 ~]# chown -R zabbix.zabbix /zabbix_item_log/

脚本使用语法
python3 脚本 '日志文件名' 'seek position文件的路径' '搜索关键字'

[zabbix@z2 root]$ python3 /scripts/log.py /var/log/httpd/error_log /zabbix_item_log/logseek Failed
0
  • 编辑配置文件
[root@z2 ~]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_logs[*],/scripts/log.py $1 $2 $3
[root@z2 ~]# pkill zabbix_agent
[root@z2 ~]# zabbix_agentd 
  • server端测试
[root@z1 ~]# zabbix_get -s 192.168.80.22 -k check_logs['/var/log/httpd/error_log','/zabbix_item_log/logseek','Failed'] #一条命令(太长了,换行了)
0                   #输出结果
  • zabbix ui界面添加监控项和触发器

  • image-20210520104733049

    image-20210520104438921

  • 手动触发

[root@z2 tmp]# echo 'Failed' >> /var/log/httpd/error_log 

image-20210520105742361

image-20210520105851372

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值