Zabbix-低级自动发现
1.低级自动发现介绍
自动发现:自动添加主机
低级自动发现:自动添加监控项,图形,触发器
自动发现(LLD):提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法
2.添加自动发现监控项原型
2.1.编写配置文件
#必须是传参式的监控条件,$$2可避免视为第二个传参,还原本意,取第二列
[root@zabbix-server /etc/zabbix/zabbix_agentd.d]# cat mac.conf
UserParameter=net_mac[*],ifconfig $1|grep ether|awk '{print $$2}'
2.2.web界面添加
3.低级自动发现监控MySQL多实例
自动以自动发现规则:监控项,它的值必须是json格式
3.1.创建MySQL多实例
#准备配置文件
[root@zabbix-server ~]# cp /etc/my.cnf /etc/my3307.cnf
[root@zabbix-server ~]# vim /etc/my3307.cnf
[root@zabbix-server /etc]# vim my3307.cnf
[mysqld]
datadir=/data/3307/
socket=/data/3307/mysql.sock
port=3307
user=mysql
symbolic-links=0
[mysqld_safe]
log-error=/data/3307/mysqld.log
pid-file=/data/3307/mysqld.pid
[root@zabbix-server ~]# cp /etc/my3307.cnf /etc/my3308.cnf
[root@zabbix-server ~]# sed -i 's#3307#3308#g' /etc/my3308.cnf
#初始化数据库3307
[root@zabbix-server ~]# mysql_install_db --user=mysql --defaults-file=/etc/my3307.cnf
[root@zabbix-server ~]# mysqld_safe --defaults-file=/etc/my3307.cnf &
#初始化数据库3308
[root@zabbix-server ~]# mysql_install_db --user=mysql --defaults-file=/etc/my3308.cnf
[root@zabbix-server ~]# mysqld_safe --defaults-file=/etc/my3308.cnf &
#检查多实例是否正常
[root@zabbix-server ~]# mkdir /data/3306
[root@zabbix-server ~]# ln -s /var/lib/mysql/mysql.sock /data/3306/
#检查测试取值
[root@zabbix-server ~]# find /data -name "*.sock"
/data/3306/mysql.sock
/data/3308/mysql.sock
/data/3307/mysql.sock
[root@zabbix-server ~]# chmod 755 /data/*
[root@zabbix-server ~]# ll /data/* -d
drwxr-xr-x 2 root root 4096 Nov 23 01:45 /data/3306
drwxr-xr-x 4 mysql root 4096 Nov 23 01:39 /data/3307
drwxr-xr-x 4 mysql root 4096 Nov 23 01:40 /data/3308
[root@zabbix-server ~]# netstat -lntp|awk -F "[ :]+" '/mysqld/{print$5}'
3306
3307
3308
3.2.编辑脚本(取出json格式)
#编辑脚本
[root@zabbix-server /server/scripts]# cat discover_mysql.sh
#!/bin/bash
#mysql low-level discovery
res=`netstat -lntp|awk -F "[ :\t]+" '/mysqld/{print$5}'`
port=($res)
printf '['
for key in ${!port[@]}
do
if [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];then
printf '{'
printf "\"{#MYSQLPORT}\":\"${port[${key}]}\"},"
else [[ "${key}" -eq "((${#port[@]}-1))" ]]
printf '{'
printf "\"{#MYSQLPORT}\":\"${port[${key}]}\"}"
fi
done
printf ']\n'
3.3.编写zabbix监控规则
[root@zabbix-server /etc/zabbix/zabbix_agentd.d]# cat mysql_status.conf
UserParameter=discovery.mysql,/bin/bash /server/scripts/discover_mysql.shSystemctl restart zabbix-agent.service#添加权限
Chmod u+s /usr/bin/netstat
#测试取值
3.4.web界面添加自动发现规则
3.5.给自动发现规则添加监控项原型
#编写配置文件
root@zabbix-server /etc/zabbix/zabbix_agentd.d]# cat mysql_status.conf
UserParameter=discovery.mysql,/bin/bash /server/scripts/discover_mysql.sh
UserParameter=mysql_alive[*], /usr/bin/mysqladmin -h 127.0.0.1 -P $1 -uzabbix -p123456 ping |grep -c alive
4.自定义自动发现规则监控MySQL其他属性
4.1.查找监控MySQL模板文件
[root@zabbix-server ~/zabbix-5.0.6/conf/zabbix_agentd]# cat userparameter_mysql.conf
#template_db_mysql.conf created by Zabbix for "Template DB MySQL" and Zabbix 4.2
#For OS Linux: You need create .my.cnf in zabbix-agent home directory (/var/lib/zabbix by default)
#For OS Windows: You need add PATH to mysql and mysqladmin and create my.cnf in %WINDIR%\my.cnf,C:\my.cnf,BASEDIR\my.cnf https://dev.mysql.com/doc/refman/5.7/en/option-files.html
#The file must have three strings:
#[client]
#user=zbx_monitor
#password=<password>
#
UserParameter=mysql.ping[*], mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*], mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*], mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*], mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*], mysql -h"$1" -P"$2" -sN -e "SELECT SUM(DATA_LENGTH + INDEX_LENGTH) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"
4.2.编写自定义配置文件
[root@zabbix-server zabbix_agentd.d]# cat mysql.conf
UserParameter=discovery.mysql,/bin/bash /server/scripts/discovery_mysql.sh
UserParameter=mysql_alive[*],/usr/bin/mysqladmin -h 127.0.0.1 -P $1 ping 2>/dev/null |grep -c alive
UserParameter=mysql_status[*],echo "show global status where Variable_name='$2';"|/usr/bin/mysql -uroot -h 127.0.0.1 -P $1 -N|awk '{print $$2}'
#mysql -N 去掉表头
4.3.web添加监控项原型
5.自动发现规则-过滤器
Zabbix-低级自动发现相关推荐
- zabbix低级自动发现(DDL)
文章目录 一.简介 1.什么叫低级自动发现DDL? 2.实现原理及其流程 二.获取变量名称 1.设置获取变量名脚本 2.添加监控key 3.添加自动发现规则 三.添加监控项 1.添加监控项 2.设置监 ...
- zabbix学习4: 监控Java原理-zabbix性能优化-低级自动发现-zabbix api
文章目录 20: zabbix监控java jvm原理 21: zabbix性能优化 22: zabbix低级自动发现 23: zabbix api 20: zabbix监控java jvm原理 to ...
- zabbix通过自动发现功能实现自动识别网络设备接口
可是现在公司上线了一大批网络设备,如果要每个网络设备都做模板,添加item......那就该废了,于是迫于压力今天来测试使用zabbix的自动发现功能实现自动发现网络设备接口,并且自动获取接口的流量值 ...
- Zabbix通过自动发现监控端口
安装环境 Zabbix server和agent通过编译方式安装在服务器192.168.25.106上.Zabbix server/agent的安装目录为:/usr/local/zabbix. 创建脚 ...
- zabbix无法自动发现并监测华为AR路由器设备温度的解决办法
使用zabbix的Template Net Huawei VRP SNMPv2模板(zabbix6.2的华为监测模板为Huawei VRP SNMP)监测华为交换机和路由器的状态,在使用中发现自动发现 ...
- zabbix 监控项自动发现过滤_通过Zabbix的自动发现(规则)自动创建监控项
下图是一个已配置并启用的自动发现规则: 应用到165.194这个主机后,自动发现的监控项: 服务端配置创建Template 创建Discovery rule 键值readPorts跟被监控端配置的参数 ...
- Zabbix 神器——自动发现
1.添加搜索范围: 系统配置--自动发现--Create discovery rule 名称:就是一个规则的名字而已 IP地址段:就是这个规则搜索的IP段 Delay:搜索间隔,就是隔多久搜索一次 C ...
- Zabbix的自动发现
Zabbix自动发现是通过(1)网络扫描或(2)代理主动发现实现监控.本文主要介绍网络扫描的发现方式,并深入介绍底层监控项的主动发现功能. 网络发现(Discovery) 对于网络发现最需要理解的就是 ...
- zabbix怎么显示服务器流量,用zabbix的自动发现来获取交换机路由器等接口流量信息...
前言 笔者之前一直用zabbix监控服务器的各项状态,最近老板交待一项新工作,监控类似交换机.路由器之类的网络设备的接口流量.老板的要求就是职工的需求,立即开始监控准备工作.为了统一管理,决定还是使用 ...
- zabbix snmp 自动发现、自定义自动发现规则和监控项原型实现原理
自动发现(LLD)提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法. 例如,Zabbix可以在你的机器上自动开始监控文件系统或网络接口,而无需为每个文件系统或网络接口手动创建监控项:还 ...
最新文章
- “cyl projection cannot cross pole” 解决方法
- Python操作Excel(将父子级表头生成树状结构)
- C#——自定义泛型链表DEMO
- 三禧科技 工业机器人_redmi note 9 即将发布,三剑齐发! 三禧科技
- 使用PyCharm定义QQ变量
- idea无法导入主题jar包_总结IDEA开发的26个常用设置
- 超级玛丽游戏 C++简单实现
- 云计算机的优点,介绍云的优点和注意事项
- 通过程序得到数据库表之间的关联关系
- Azure实践之通过automation管理资产
- 使用计时器setInterval实现倒计时
- ubuntu-键盘映射
- netty实现 http 长连接
- dorado 7 数据库配置
- vue 点击图标 显示/隐藏 密码
- 小程序源码:图片秒加水印制作生成
- cygwin使用apt-cyg
- 为什么你也要用Firefox
- 无法加载DLL:找不到指定模块 问题解决办法
- SpringBoot启动报错:Failed to introspect Class [XXX] from ClassLoader解决办法