自动发现告警配置
一、目录文件数详细配置
1、编写shell自动发现脚本
cd /home/yeahzxw/script/discoverdir.sh
#!/bin/bash
conf=/home/yeahzxw/script/conf/key_dir.cfg
INDEX=0
echo ' {'
echo ' "data"' : [
COUNT=`cat $conf |wc -l`
cat $conf|while read LINE DIRCOUNT
do
echo ' {'
echo ' "{#DIRNAME}": "'$LINE'",'
echo ' "{#DIRCOUNT}": "'$DIRCOUNT'"'
echo ' }'
INDEX=`expr $INDEX + 1`
if [ $INDEX -lt $COUNT ];
then
echo ","
fi
done
echo ' ]'
echo }

2、编写自动发现配置文件
cd /home/yeahzxw/script/conf/key_dir.cfg
第一列为路径,第二列为告警值
/home/yeahzxw/bl1/data/incoming/GJDWJK 100
/home/yeahzxw/bl1/data/incoming/GPRS 100
/home/yeahzxw/bl1/data/incoming/GPRSDOM 100
/home/yeahzxw/bl1/data/incoming/GPRSSMS 100
/home/yeahzxw/bl1/data/incoming/HD 100
/home/yeahzxw/bl1/data/incoming/HETV 50
/home/yeahzxw/bl1/data/incoming/IDCP 100
/home/yeahzxw/bl1/data/incoming/IOTSMS 100
/home/yeahzxw/bl1/data/incoming/IPNM 100
/home/yeahzxw/bl1/data/incoming/IR95 100
3、先创建创建一个模版
将模版挂载到对应主机上
创建模版后在模版中点击自动发现
目录文件数模板:billingDIR
日志未更新模板:Ftp ProcessLog
<img src="C:\Users\Administrator\Desktop\自动发现告警配置.assets\image-20240815172730187.png" alt="image-20240815172730187" />
4、zabbix中选择主机-自动发现--自动发现规则-创建自动发现
`名称`:`Dir Discover`
`目录键值`:`dir.discovery`
`日志键值`:`process.discoveryftplog`
`类型`:`zabbix客户端(主动式)`
`间隔`:`60m`


5、选择监控项原型
`名称`:【生产】{#DIRNAME}目录文件数
`键值`:system.run[ls {#DIENAME}|wc -l]
`信息类型`:数字(无正负)
`单位`:个
`间隔`:3600m
类型:zabbix主动式
-----
`名称`:【生产】{#DIRNAME}目录文件数
`键值`:**system.run[ls {#DIENAME}|wc -l]**
`信息类型`:数字(无正负)
`单位`:个
`间隔`:3600m
`类型`:zabbix主动式
6、选择触发器类型
名称:{#DIRNAME}目录文件数{#DIRCOUNT}
表达式注释:/billingDIR为上层模版名
表达式:last(/billingDIR/system.run[ls {#DIRNAME}|wc -l])>{#DIRCOUNT}
zabbix_agent.d配置中定义
/home/yeahzxw/zabbix3.4.14/etc/zabbix_agentd.conf
Include=/home/yeahzxw/zabbix3.4.14/etc/zabbix_agentd.conf.d/*.conf
#注:一个键值写一个脚本
目录文件数配置
/home/yeahzxw/zabbix3.4.14/etc/zabbix_agentd.conf.d/userparameter_discover.conf
UserParameter=dir.discovery,/home/yeahzxw/script/discoverdir.sh
#注:UserParameter为固定变量,dir.discovery:监控项键值,/home/yeahzxw/script/discoverdir.sh:脚本绝对路径
二、日志更新配置
/home/yeahzxw/zabbix3.4.14/etc/zabbix_agentd.conf.d/userlogftp_logftp.conf
UserParameter=process.discoveryftplog,/home/yeahzxw/script/discoverftplog.sh
#注:UserParameter为固定变量,process.discoveryftplog:监控项键值,/home/yeahzxw/script/discoverftplog.sh:脚本绝对路径
三、重启服务
ps -ef|grep zabbix|grep -v grep|grep appop|awk '{print $2}'|xargs kill -9
/home/yeahzxw/zabbix3.4.14/sbin/zabbix_agentd -c /home/yeahzxw/zabbix3.4.14/etc/zabbix_agentd.conf
二、扩展:
一.进程
1、ftp日志
1.1、Shell
/home/yeahzxw/script/discoverftplog.sh
#!/bin/bash
conf=/home/yeahzxw/script/conf/key_ftp_log.cfg
confd=/home/yeahzxw/script/conf/key_ftp_log_d.cfg
data=`date '+%Y%m%d'`
INDEX=0
echo ' {'
echo ' "data"' : [
COUNT=`cat $conf |wc -l`
cat $conf|while read LINE
do
echo ' {'
echo ' "{#FTPLOGNAME}": "'$LINE'"'
echo ' }'
INDEX=`expr $INDEX + 1`
if [ $INDEX -lt $COUNT ];
then
echo ","
fi
done
echo ' ]'
echo }
1.2、配置文件
/home/yeahzxw/eaiftp/logs/ftp_get_BDC2.log
/home/yeahzxw/eaiftp/logs/ftp_get_BDC3.log
/home/yeahzxw/eaiftp/logs/ftp_get_BDC4.log
/home/yeahzxw/eaiftp/logs/ftp_get_BDC5.log
/home/yeahzxw/eaiftp/logs/LogCCHRGPut.log
/home/yeahzxw/eaiftp/logs/LogADCPut.log
/home/yeahzxw/eaiftp/logs/LogBDCPut.log
/home/yeahzxw/eaiftp/logs/ftp_get_LBMP.log
/home/yeahzxw/eaiftp/logs/ftp_get_G400.log
/home/yeahzxw/eaiftp/logs/ftp_get_BILLLIST.log
/home/yeahzxw/eaiftp/logs/ftp_get_CAS.log
/home/yeahzxw/eaiftp/logs/ftp_put_other.log
/home/yeahzxw/eaiftp/logs/ftp_get_MVP.log
/home/yeahzxw/eaiftp/logs/ftp_get_CTD.log
2、进程
2.1、Shell
/home/yeahzxw/script/discoverprocess_all.sh
#!/bin/bash
conf=/home/yeahzxw/script/conf/key_proc.cfg
INDEX=0
echo ' {'
echo ' "data"' : [
COUNT=`cat $conf |wc -l`
cat $conf|while read LINE
do
echo ' {'
echo ' "{#PROCESSNAME}": "'$LINE'"'
echo ' }'
INDEX=`expr $INDEX + 1`
if [ $INDEX -lt $COUNT ];
then
echo ","
fi
done
echo ' ]'
echo }
2.2、配置文件
/home/yeahzxw/bin/DUP -m=dup -n=29004901 -p=bl2
/home/yeahzxw/bin/DUP -m=dup -n=29006801 -p=bl2
/home/yeahzxw/bin/DUP -m=dup -n=29007801 -p=bl2
/home/yeahzxw/bin/guiding -n 30007001 -l /home/yeahzxw/bl1/var/log
/home/yeahzxw/bin/guiding -n 30006801 -l /home/yeahzxw/bl1/var/log
/home/yeahzxw/bin/guiding -n 39006801 -l /home/yeahzxw/bl1/var/log
/home/yeahzxw/bin/guiding -n 39007801 -l /home/yeahzxw/bl1/var/log
/home/yeahzxw/bin/imp -m=imp -n=69004901 -p=bl2
/home/yeahzxw/bin/imp -m=imp -n=69006801 -p=bl2
/home/yeahzxw/bin/imp -m=imp -n=69007801 -p=bl2
/home/yeahzxw/bin/ErrSink -W=YJTXKF /home/yeahzxw/etc/conf/ErrSink/ErrSink.cfg.YJTXKF
/home/yeahzxw/bin/ErrSink -W=YJTXPT /home/yeahzxw/etc/conf/ErrSink/ErrSink.cfg.YJTXPT
/home/yeahzxw/bin/ErrSink -W=YJTXIC /home/yeahzxw/etc/conf/ErrSink/ErrSink.cfg.YJTXIC