1、客户端配置

 

[root@mysql zabbix_agentd.conf.d]# pwd

/usr/local/zabbix-server/etc/zabbix_agentd.conf.d

[root@mysql zabbix_agentd.conf.d]# cat custom_parameters.conf 

UserParameter=masterha_manager,[ `/bin/ps aux | /bin/grep -v grep | /bin/grep -o masterha_manager` == masterha_manager ] &> /dev/null ;echo $?

UserParameter=crond,[ `/bin/ps aux | /bin/grep -v grep | /bin/grep -o crond` == crond ] &> /dev/null ;echo $?

UserParameter=postfix,[ `/bin/ps aux | /bin/grep -v grep | /bin/grep -o postfix` == postfix ] &> /dev/null ;echo $?

UserParameter=error,/usr/local/zabbix-server/error_log.sh

 

 

2、检查日志关键字脚本

 

#!/bin/bash

msg=`tail -n 100 /var/log/secure | grep -iE "error" `

if [ ! -n "$msg" ];then

        echo "OK"

        exit 0

else

        echo "error"

        exit 0

fi

 

 

 

3、zabbix  监控项和触发器配置

 

监控项配置:

    

zabbix 监控日志和报权限问题 (编辑中)_linux

 

 

 

触发器配置:

 

zabbix 监控日志和报权限问题 (编辑中)_配置文件_02

 

 

4、告警展示

 

 

 

zabbix 监控日志和报权限问题 (编辑中)_linux_03

 

zabbix_get查看agent端的key值提示没有权限:Permission denied

zabbix使用自动发现创建监控项

    agent端的配置:

    自动发现实例名,ip,端口

#!/bin/bash

printf "{\n"
printf '\t'"\"data\":["
first=1
for info in `cat /root/test.log`
do
IFS=',' read -r -a itmes <<< $info
if [ $first == 1 ];then
printf '\n\t\t{'
echo "\"{#PIDNAME}\":\"${itmes[0]}\",\"{#IP}\":\"${itmes[1]}\",\"{#PORT}\":\"${itmes[2]}\"}"
first=0
else
printf '\n\t\t'
echo ",{\"{#PIDNAME}\":\"${itmes[0]}\",\"{#IP}\":\"${itmes[1]}\",\"{#PORT}\":\"${itmes[2]}\"}"
fi
done;

printf "\n\t]\n"
printf "}\n"


agent的配置文件

[root@test zabbix_agentd.d]# vim flume.conf
UserParameter=disc_flume,bash /etc/zabbix/zabbix_agentd.d/disc_flume.sh


server端执行zabbix_get提示报错:没有权限

[root@zabbix ~]# zabbix_get -s 192.168.191.151 -p 10050 -k disc_flume
{
"data":[cat: /root/test.log: Permission denied

]
}


分析结果:agent端的selinux和firewalld已经关闭

需要更改agent的配置文件

修改为AllowRoot=1

 

server端再次执行脚本结果:

[root@zabbix ~]# zabbix_get -s 192.168.191.151 -p 10050 -k disc_flume
{
"data":[
{"{#PIDNAME}":"flume-test1","{#IP}":"192.168.1.1","{#PORT}":"9092"}

,{"{#PIDNAME}":"flume-test2","{#IP}":"192.168.1.2","{#PORT}":"9093"}

]
}