zabbix自定义监控以及通过Python监控日志

1. 添加监控项

//在agent端的/opt/目录下,创建一个cc文件,利用zabbix来监控此文件

[root@agent ~]# ls /opt
bebejo  cc  messi  xaii
[root@agent ~]# cat /opt/cc 
hello worl
hello runtime

在这里插入图片描述
Name:监控项的名称
Type:监控项的类型,(此处为被监控)
Key:键,选择vfs.file.cksum[file],后面的file是所需监控的文件,需要传一个参数
Host interface:主机接口,IP套接字,填写所监控的主机的IP地址
Type of information:所监控的值的类型
Update interval:多久监控一次
Custom intervals:定制版的监控时间,例如:wd1-5h9-18表示,周一到周五的9点到18点
History storage period:监控的数据会存放在zabbix数据库中,此处表示数据在数据库中存放的时间
Trend storage period:365天
New application:自己添加一个application,也可以不添加,可以在下方自己选择

//监控项的状态:
在这里插入图片描述

2. 触发器

没有添加传感器,我们修改/etc/cc文件,是不会告警的!

在这里插入图片描述//查看触发器的状态:

在这里插入图片描述

//在agent端修改/etc/cc文件的内容,来验证:
在这里插入图片描述

3. 自定义监控+监控进程(监控httpd服务)

//修改agent的zabbix配置文件

[root@agent ~]# vim /usr/local/etc/zabbix_agentd.conf
......
UnsafeUserParameters=1		(//将值改为1)
UserParameter=check_apache,/scripts/check_process.sh httpd	(//在最后面添加此内容)

//自动化监控需要写脚本

	[root@agent ~]# vim /scripts/check_process.sh 
	[root@agent ~]# cat /scripts/check_process.sh 
	#! /bin/bash
	
	sum=`ps -ef|egrep -v "grep|$0"|grep  $1|wc -l`
	if [ $sum -eq 0 ];then
		echo 1
	else
		echo 0
	fi

	//在服务端查看是否能够获取到agent端的值
	[root@xaii ~]# zabbix_get -s 192.168.157.19 -k check_apache
	0
	0表示httpd服务正常,1表示服务不正常

//在zabbix中添加监控项和触发器

在这里插入图片描述在这里插入图片描述//正常情况下状态都应该是enable,那么我们在agent端关闭httpd服务,来验证:

在这里插入图片描述//至此,自动化监控进程已经大概介绍完毕。

4. 监控日志(监控apache的错误日志)

//编辑agent端的配置文件,并重启服务:

	[root@agent ~]# vim /usr/local/etc/zabbix_agentd.conf
	[root@agent ~]# tail -1 /usr/local/etc/zabbix_agentd.conf
	UserParameter=check_log_apache,python /scripts/log.py /var/log/httpd/error_log(跟之前的自动化监控内容不完全一样,以为是通过Python来控制的)
	[root@agent scripts]# pkill zabbix
	[root@agent scripts]# zabbix_agentd 

//从 https://github.com/chendao2015/pyscripts 获取一个检测日志的脚本,并将其拷贝到agent端:

	[root@agent scripts]# ls
	check_process.sh  inotify.sh  log.py
	[root@agent scripts]# chmod +x log.py 	(//加上执行权限)
	[root@agent scripts]# chown zabbix.zabbix log.py )(//修改属主属组)

//创建新的监控项和触发器:
在这里插入图片描述
在这里插入图片描述创建完成后,确保都是处于enable状态

//现在zabbix-server端,手动验证,查看是否能够获取到值:

	[root@xaii ~]# zabbix_get -s 192.168.157.19 -k check_log_apache
	0
	[root@xaii ~]# zabbix_get -s 192.168.157.19 -k check_log_apache
	0
	[root@xaii ~]# zabbix_get -s 192.168.157.19 -k check_log_apache
	0

//在agent端的error_log中添加一些不含Error字段的内容,查看Latest data值是否都为0:

	[root@agent scripts]# cat >> /var/log/httpd/error_log <<EOF
	> lizhao
	> messi
	> leo
	> EOF

在这里插入图片描述
//再香/var/log/httpd/error_log文件中添加Error字段,检验Latest data是否有1:

[root@agent scripts]# cat >>/var/log/httpd/error_log <<EOF
> jahdskadhkaErrordasdas
> dkash
> EOF

在这里插入图片描述
在这里插入图片描述至此,利用脚本监控日志就介绍完毕了。

注意:
log.py介绍

  • 作用:检查日志文件中是否有指定的关键字

  • 第一个参数为日志文件名(必须有,相对路径、绝对路径均可)

  • 第二个参数为seek position文件的路径(可选项,若不设置则默认为/tmp/logseek文件。相对路径、绝对路径均可)

  • 第三个参数为搜索关键字,默认为 Error

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值