zabbix自动发现监控url

1.在监控客户机上

web_site_code_status.sh:

#!/bin/bash

# function:monitor tcp connect status from zabbix

source /etc/bashrc >/dev/null 2>&1

source /etc/profile >/dev/null 2>&1

#/usr/bin/curl -o /dev/null -s -w %{http_code} http://$1/

web_site_discovery () {

WEB_SITE=($(cat /opt/scripts/WEB.txt|grep -v "^#"))

printf ‘{\n‘

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

for((i=0;i<${#WEB_SITE[@]};++i))

{

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

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

then

printf "\t\t{ \n"

printf "\t\t\t\"{#SITENAME}\":\"${WEB_SITE[$i]}\"},\n"

else

printf "\t\t{ \n"

printf "\t\t\t\"{#SITENAME}\":\"${WEB_SITE[$num]}\"}]}\n"

fi

}

}

web_site_code () {

/usr/bin/curl -o /dev/null -s -w %{http_code} http://$1

}

case "$1" in

web_site_discovery)

web_site_discovery

;;

web_site_code)

web_site_code $2

;;

*)

echo "Usage:$0 {web_site_discovery|web_site_code [URL]}"

;;

esac

/opt/scripts/WEB.txt 在脚本路径创建WEB.txt文件,文件内容为要监控url,格式如下:

www.baidu.com

www.sina.com

在zabbix客户端加配置文件:

vim /etc/zabbix/zabbix_agentd.d/web_site_discovery.conf

UserParameter=web.site.discovery,/opt/scripts/web_site_code_status.sh web_site_discovery

UserParameter=web.site.code[*],/opt/scripts/web_site_code_status.sh web_site_code $1

测试是否正常:

$ zabbix_get -s 10.0.0.109 -k web.site.discovery

{

"data":[

{

"{#SITENAME}":"www.baidu.com"},

{

"{#SITENAME}":"www.sina.com.cn"},

{

"{#SITENAME}":"gc.7y7.com"},

{

"{#SITENAME}":"www.7y7.com"}]}

$ zabbix_get -s 10.0.0.109 -k web.site.code[www.163.com]

200

在zabbix server添加:

1.首先选定主机,创建application,application用来管理各种item,可以归类

2.创建discovery 规则: 里面有个keep lost resource period 时间,这个时间就是监控url更新没有后保留的时间 ,我设置为0表示,WEB.txt文件更新后,监控跟着更新

3.创建item,选择创建的application

4.创建trriger:选择select prototype

时间: 2024-12-24 19:52:59

zabbix自动发现监控url的相关文章

zabbix自动发现监控多台mysql

1: 前言 由于前面写的博客,zabbix自动发现监控redis.zabbix自动发现监控mongo这两篇博客虽然都能自动发现并监控,但是由于每个zabbix_agentd都得配置,监控起来非常不方便,因此,再做了个模板,能够自动发现并监控多台mysql.这个方法在监控mongo.redis或者mysql主从等时候也都适用. 2: 在zabbix_agentd下编写自动发现并监控多台mysql的脚本,脚本如下: #!/bin/sh #zhuangweihong 20160512 zabbix d

zabbix自动发现监控mongo

1: zabbix自动发现mongo监控的端口,并返回zabbix_server需要的格式,脚本部署在zabbix_agent上,路径为/usr/local/zabbix/zabbix_discover_mongo.sh,脚本内容如下: #!/bin/sh #zhuangweihong 20160419 zabbix discover mysql res=`sudo ss -tulnp|grep mongo|grep -v 28107|awk '{print $(NF-2)}'|awk -F':

Zabbix自动发现监控Mysql数据库

结果图展现 先让大家看下结果图,Zabbix通过自动发现监控Mysql每秒的增.删.改.查,通过自动发现监控Mysql的流入流出流量,结果图如下: Mysql给Zabbix监控的权限 首先创建一个监控用户,usage on为比较小的权限,较安全.sql如下 grant usage on *.* to 'monitor'@'127.0.0.1' identified by 'shijiangepwd'; flush privileges; 测试监控用户是否生效,测试结果如下 mysql -umon

zabbix自动发现监控tomcat健康页面

一.背景 公司系统平台有10几个tomcat服务,由于需要服务保持全年无间断服务,特在tomcat中嵌入专门的监控页面,在curl 专用页面返回值为200时,则认定服务正常运行,否则报警发送专门的监控运维的邮箱. 二.原理 正常的tomcat健康状态监控页面如下图 我们利用如下命令判断返回值是否为200 shell>/usr/bin/curl -o /dev/null -s --connect-timeout 5 -w '%{http_code}' http://10.0.0.107:9100/

使用 zabbix 自动发现监控 MySQL

介绍 使用 zabbix 的 low-level 自动发现功能完成单主机多端口的监控, 详见low_level_discovery, 整体上监控类似 percona 的 zabbix 监控插件, 不过使用 mymonitor.pl 替换了脚本 ss_get_mysql_stats.php, 而且配置有点不同. 具体代码及配置详见: zabbix_mysql 1. 结构说明: zabbix_mysql/ |-- README.md |-- bin | |-- get_mysql_stats_wra

zabbix自动发现监控redis

1: 在zabbix_agentd端编写自动发现的脚本,主要是自动发现redis的监控端口,脚本如下: vim /usr/local/zabbix/zabbix_discover_redis.sh #!/bin/sh #zhuangweihong 20160419 zabbix discover redis res=`sudo ss -tulnp|grep redis|awk '{print $(NF-2)}'|awk -F':' '{print $(NF)}'|sort -u` if [[ -

zabbix 自动发现监控端口(六)

一.配置脚本,将脚本分发到各个minion端 1.1.脚本内容 vim discover_port.sh  #!/bin/bash portarray=(`sudo netstat -tnlp|egrep -i "$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]*$/) print $NF}'|sort|uniq`) length=${#portarray[@]} printf "{\n" printf  '\t'&q

zabbix 自动发现 监控 硬盘读写 disk io

直接 上配置: 1.配置文件 cat userparameter_harddisk.conf #discovery hard diskUserParameter=custom.vfs.discovery.diskname,/opt/app/zabbix-agent/scripts/check_harddisk.sh diskname_discovery#disk status# See https://www.kernel.org/doc/Documentation/ABI/testing/pr

zabbix自动发现与监控内存和CPU使用率最高的进程

监控需求 某项目的应用服务器CPU和内存使用率的监控,通过zabbix系统监控记录应用服务器上进程的CPU和内存的使用情况,并以图表的形式实时展现,以便于我们分析服务器的性能瓶颈. 监控方式 利用zabbix监控系统的自动发现功能,首先编写shell脚本获取服务器的CPU和内存资源使用率最大的进程,以json的格式输出,然后对这些进程的CPU和内存资源使用情况进行监控.(本文监控的进程为Linux服务器中资源使用率最高的10个进程.) 缺点 不适用于监控固定的进程 首先使用top命令查看进程状态