zabbix 监控项自动发现过滤_Zabbix 自动发现tomcat并添加监控

客户端配置

#新增下面2条配置

UserParameter=discover.tomcat[*],sudo /usr/local/zabbix/etc/discover_tomcat.sh

UserParameter=discover.tomcat.item[*],sudo /usr/local/zabbix/etc/discover_tomcat_item.sh $1 $2

#修改sudoer文件

## Same thing without a password

# %wheel ALL=(ALL) NOPASSWD: ALL

zabbix ALL=(ALL) NOPASSWD: /usr/local/zabbix/etc/discover_tomcat.sh,/usr/local/zabbix/etc/discover_tomcat_item.sh *

脚本内容

discover_tomcat.sh脚本, 用于发现运行中的tomcat

# cat /usr/local/zabbix/etc/discover_tomcat.sh

#!/bin/bash

# author: baiyongjie

array=($(ps -ef|grep java | grep -Ev "grep|cronolog|catalina.sh|DocumentService-1.2.jar|felix.jar|deploy.jar"| awk '{print $(NF-3)}' |sed 's/-Dcatalina.home=//g'| sed 's/\(.*\)/\1\//g'))

printf "{\n"

printf '\t"data":[\n'

for ((i=0;i

do

printf '\t\t{\n'

num=$(echo $((${#array[@]}-1)))

if [ "$i" == ${num} ];

then

printf "\t\t\"{#TOMCAT}\":\"${array[$i]}\"}\n"

else

printf "\t\t\"{#TOMCAT}\":\"${array[$i]}\"},\n"

fi

done

printf "\t]\n"

printf "}\n"

discover_tomcat_item.sh脚本

# 用自动发现的tomcat去请求数据以及监控项配置

# cat /usr/local/zabbix/etc/discover_tomcat_item.sh

#!/bin/bash

JavaPid=`ps -ef|grep $1 | grep -Ev 'grep|discover_tomcat|/bin/sh|cronolog' |awk '{print $2}'`

JavaHome=`ps -ef|grep $1 | grep -Ev 'grep|discover_tomcat|/bin/sh|cronolog' |awk '{print $8}' |sed 's/\(.*[1-9]\).*/\1/g' | awk '{print $1}'`

function Survivor0 {

$JavaHome/bin/jstat -gcutil $JavaPid | awk 'NR==2 {print $1}'

}

function Survivor1 {

$JavaHome/bin/jstat -gcutil $JavaPid | awk 'NR==2 {print $2}'

}

function Eden {

$JavaHome/bin/jstat -gcutil $JavaPid | awk 'NR==2 {print $3}'

}

function Old {

$JavaHome/bin/jstat -gcutil $JavaPid | awk 'NR==2 {print $4}'

}

function Perm {

$JavaHome/bin/jstat -gcutil $JavaPid | awk 'NR==2 {print $5}'

}

function Metaspace {

$JavaHome/bin/jstat -gcutil $JavaPid | awk 'NR==2 {print $5}'

}

$2

重启zabbix agent

pkill zabbix_agentd

/usr/local/zabbix/sbin/zabbix_agentd

服务端测试

自动发现tomcat

[root@localhost tmp]# zabbix_get -s 192.168.1.162 -k discover.tomcat

{

"data":[

{

"{#TOMCAT}":"/opt/app/sfa_sunflower/web_6501/"},

{

"{#TOMCAT}":"/opt/app/sfa_sunflower/mobile_6502/"},

{

"{#TOMCAT}":"/data/app/sfa/mnzw_pre_20180607/task/"},

{

"{#TOMCAT}":"/opt/app/mnzw_pressure_test/web/"},

{

"{#TOMCAT}":"/data/app/sfa/mnzw_pre_20180607/web/"},

{

"{#TOMCAT}":"/opt/app/mnzw_pressure_test/mobile/"},

{

"{#TOMCAT}":"/opt/app/SFA_Guoyuanlaonong_20181101/"}

]

}

监控项

[root@localhost tmp]# zabbix_get -s 192.168.1.162 -k discover.tomcat.item[/opt/app/sfa_sunflower/web_6501/,Survivor0]

35.00

[root@localhost tmp]# zabbix_get -s 192.168.1.162 -k discover.tomcat.item[/opt/app/sfa_sunflower/web_6501/,Survivor1]

0.00

[root@localhost tmp]# zabbix_get -s 192.168.1.162 -k discover.tomcat.item[/opt/app/sfa_sunflower/web_6501/,Eden]

62.68

[root@localhost tmp]# zabbix_get -s 192.168.1.162 -k discover.tomcat.item[/opt/app/sfa_sunflower/web_6501/,Old]

56.31

[root@localhost tmp]# zabbix_get -s 192.168.1.162 -k discover.tomcat.item[/opt/app/sfa_sunflower/web_6501/,Perm]

99.50

[root@localhost tmp]# zabbix_get -s 192.168.1.162 -k discover.tomcat.item[/opt/app/sfa_sunflower/web_6501/,Metaspace]

99.50

自动发现模板配置

新建模板

创建应用集

创建自动发现规则

创建监控项原型(共6个)

创建触发器

创建图形原型

效果展示

自动发现展示

图形展示

触发器展示

意外问题

[sudo:抱歉,您必须拥有一个终端来执行 sudo]

Centos6.8开始就没有requiretty参数了, 此问题只出现在Centos6.8一下的版本

原因: sudo命令默认是不能在后台运行的,如果需要在后台运行,就必须添加不用后台启动也就是: !requiretty(不需要终端来启动)

修改/etc/sudoer文件,添加 Defaults:zabbix !requiretty

$ visudo

Defaults requiretty

Defaults:zabbix !requiretty

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值