zabbix 自定义discovery

自定义discovery

1.通过脚本获取系统数据

2.把数据处理成joson格式的,自动监控的项目信息

3.获取自动监控的项目的数据

3.修改 agentd.conf的配置文件

UserParameter=process.discovery,/usr/local/zabbix/scripts/check_process.sh   //自动检测的项目,即定义key值

UserParameter=process.resource[*],/usr/local/zabbix/scripts/process_monitor.sh $1 $2    //获取数据

4.测试

zabbix_get -s 192.168.36.130 -k process.discovery  //必须为jison格式

zabbix_get -s 192.168.36.130 -k process.resource[tsg,mem]

5.在zabbix中配置自动发现

discovery---create discovery(key process.discovery)---item(key process.resource[{{#TABLENAME}},cpu])



check_process.sh 主要获取监控的项目名称

#!/bin/bash
pro_name=`ps -e -o ‘comm,pcpu,rsz‘ | awk ‘{print $1}‘ | sort -u | awk -F".exe" ‘{print $1}‘`
COUNT=`echo "$pro_name" |wc -l`
INDEX=0
echo {‘"data"‘:[
    echo "$pro_name" | while read LINE;
        do
                echo -n ‘{"{#HOMEDNAME}":"‘$LINE‘"}‘
                INDEX=`expr $INDEX + 1`
                if [ $INDEX -lt $COUNT ]; then
                    echo ","
                fi
        done
    echo ]}



process_monitor.sh 根据项目名称获取检测的数据

#!/bin/bash
process=$1
name=$2
case $2 in
mem)
echo "`ps -e -o ‘comm,pcpu,rsz‘ | awk ‘{a[$1]+=$3}END{for(key in a) print key,a[key]/1024}‘ | grep "$1\>" | awk ‘{print $2}‘`"
;;
cpu)
echo "`ps -e -o ‘comm,pcpu,rsz‘ | awk ‘{a[$1]+=$2}END{for(key in a) print key,a[key]}‘ | grep "$1\>" | awk ‘{print $2}‘`"
;;
*)
echo "Error input:"
;;
esac
exit 0

时间: 2024-10-13 11:33:31

zabbix 自定义discovery的相关文章

zabbix自定义自动发现服务(low-level-discovery)监控系统服务

一.概述 由于工作关系很久没有更新博客了,本文基于生产配置,是zabbix系列的另一补充:本次要讲的是zabbix Low-level discovery简称(LLD),我们在配置items(监控项)时,有时需要对类似的Items进行添加,换句话说,多台机器上的某一监控具有类似的items,如系统开放的服务,再如磁盘分区,网卡名称等,后两种zabbix已经自带,今天我们以自定义监控每个系统开放的服务来说明 LLD的使用逻辑;和普通items获取不同的是,LLD 脚本在获取返回时,格式必须是jso

Zabbix 自定义Item经常Not Supported解决

Zabbix 自定义Item经常Not Supported解决 大家在使用Zabbix的时候往往会自定义Item.但是经常会遇到自定义的Item动不动就Not Supported了.其实原因很简单.Zabbix Agent默认的超时时间是3秒.往往我们自定义的Item由于各种原因返回时间会比较长.所以建议统一修改一个适合自己实际的值. vim /etc/zabbix/zabbix_agent.conf #Range: 1-30 Timeout=8 修改完毕后重启zabbix-agent /etc

shell编程之【zabbix自定义监控网卡流量脚本】

之前写了一篇文章主要介绍zabbix的搭建使用http://msiyuetian.blog.51cto.com/8637744/1705396 下面这篇文章主要介绍zabbix自定义监控网卡流量的脚本实现 前期准备 1.说明 server ip :192.168.0.115 client ip :192.168.0.114 2.开启服务 因为之前搭建过zabbix环境,这里就不重复了,直接开启服务端的所需服务: [[email protected] ~]# /etc/init.d/httpd s

zabbix 自定义trigger

zabbix 自定义trigger 版本:3.0.4 测试场景:在agent上自定key,回传一个数值,这个数值每分钟增加1,当这个值大于5时warnning 测试主机agent:10.0.50.152 1.trigger 必须定义在templates中,所以先定义templates 2.trigger依赖items,所以还得先定义Items,Items中Key是自定义的,因此先得定义Key 2.1 自定义key,客户端操作: [[email protected] ~]# cat /opt/te

L15.4 zabbix 自定义执行远程命令与分级报警示例

 zabbix 自定义执行远程命令与分级报警示例 详细选项说明参考之前内容,这里只演示操作过程. 注意事项: operation send message Media Type Email, SMS, Jabber, Script, EZ Texting User remote command (1) 给zabbix定义sudo规则: zabbix ALL=(ALL) ALL (2) 不支持active模式的agent: (3) 不支持代理模式: (4) 命令长度不得超过255个字符: (5)

zabbix自定义监控实现思路以及自定义监控某个端口的连接数

一 zabbix自定义监控实现思路 我在前面有写到: zabbix3.x服务端安装和配置 zabbix3.x客户端安装和配置 zabbix监控memcached 实际上我们要想使用zabbix来监控一些服务的原理很简单,步骤分别是: 写一个脚本用于获取待监控服务的一些状态信息 在zabbix客户端的配置文件zabbix_agentd.conf中添加上自定义的"UserParameter",目的是方便zabbix调用我们上面写的那个脚本去获取待监控服务的信息 在zabbix服务端使用za

zabbix自定义监控mysql主从状态,并做邮件告警

 通过zabbix自定义监控mysql主从状态,并做邮件告警 分析: mysql主要是通过主从来提供安全性,一个完整的主从体系,就应该包括数据同步.开启二进制日志.全备.还有对Slave_IO_Running和Slave_SQL_Running两个线程的实时监测,并做告警,而zabbix监控软件就提供了很好的方法:对于zabbix这个监控软件,个人来说也是比较熟悉,现在的企业们都基本用的是zabbix软件来做系统的资源的监控,zabbix的强大不仅仅体现于,它自身自带的监控模板比较全面,而是通过

zabbix自定义监控脚本配置

实验环境 环境 IP 服务端 192.168.24.168 客户端 192.168.24.188 实验条件: zabbix监控服务器.客户端都已经部署完成,被监控主机已添加完成,zabbix监控运行正常.zabbix服务器设置邮箱报警运行正常. 实现目的: zabbix自定义监控客户端用户量,当用户量大于三个以上,会自动发送报警邮件到指定的邮箱. 实验步骤 1.修改客户端配置文件 [[email protected] ~]# vim /usr/local/etc/zabbix_agentd.co

zabbix自定义web检测

zabbix自定义web检测 本博客使用zabbix 版本 4.0.3 Web监控的原理 Web监控即对HTTP服务的监控,模拟用户去访问网站,对特定的结果进行比较,如状态码.返回字符串等特定的数据进行比较和监控,从而判断网站Web服务的可用性 大体步骤包括首页->登录->检测登录->退出->检测退出 5个步骤 监测静态网站(网站首页) 点击右上角的创建web场景 配置步骤 !!!注:检测字符串,具体是zabbix检索返回的response里面的还是别的地方的这个我也不太清楚,如果