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-低级自动发现相关推荐

  1. zabbix低级自动发现(DDL)

    文章目录 一.简介 1.什么叫低级自动发现DDL? 2.实现原理及其流程 二.获取变量名称 1.设置获取变量名脚本 2.添加监控key 3.添加自动发现规则 三.添加监控项 1.添加监控项 2.设置监 ...

  2. zabbix学习4: 监控Java原理-zabbix性能优化-低级自动发现-zabbix api

    文章目录 20: zabbix监控java jvm原理 21: zabbix性能优化 22: zabbix低级自动发现 23: zabbix api 20: zabbix监控java jvm原理 to ...

  3. zabbix通过自动发现功能实现自动识别网络设备接口

    可是现在公司上线了一大批网络设备,如果要每个网络设备都做模板,添加item......那就该废了,于是迫于压力今天来测试使用zabbix的自动发现功能实现自动发现网络设备接口,并且自动获取接口的流量值 ...

  4. Zabbix通过自动发现监控端口

    安装环境 Zabbix server和agent通过编译方式安装在服务器192.168.25.106上.Zabbix server/agent的安装目录为:/usr/local/zabbix. 创建脚 ...

  5. zabbix无法自动发现并监测华为AR路由器设备温度的解决办法

    使用zabbix的Template Net Huawei VRP SNMPv2模板(zabbix6.2的华为监测模板为Huawei VRP SNMP)监测华为交换机和路由器的状态,在使用中发现自动发现 ...

  6. zabbix 监控项自动发现过滤_通过Zabbix的自动发现(规则)自动创建监控项

    下图是一个已配置并启用的自动发现规则: 应用到165.194这个主机后,自动发现的监控项: 服务端配置创建Template 创建Discovery rule 键值readPorts跟被监控端配置的参数 ...

  7. Zabbix 神器——自动发现

    1.添加搜索范围: 系统配置--自动发现--Create discovery rule 名称:就是一个规则的名字而已 IP地址段:就是这个规则搜索的IP段 Delay:搜索间隔,就是隔多久搜索一次 C ...

  8. Zabbix的自动发现

    Zabbix自动发现是通过(1)网络扫描或(2)代理主动发现实现监控.本文主要介绍网络扫描的发现方式,并深入介绍底层监控项的主动发现功能. 网络发现(Discovery) 对于网络发现最需要理解的就是 ...

  9. zabbix怎么显示服务器流量,用zabbix的自动发现来获取交换机路由器等接口流量信息...

    前言 笔者之前一直用zabbix监控服务器的各项状态,最近老板交待一项新工作,监控类似交换机.路由器之类的网络设备的接口流量.老板的要求就是职工的需求,立即开始监控准备工作.为了统一管理,决定还是使用 ...

  10. zabbix snmp 自动发现、自定义自动发现规则和监控项原型实现原理

    自动发现(LLD)提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法. 例如,Zabbix可以在你的机器上自动开始监控文件系统或网络接口,而无需为每个文件系统或网络接口手动创建监控项:还 ...

最新文章

  1. “cyl projection cannot cross pole” 解决方法
  2. Python操作Excel(将父子级表头生成树状结构)
  3. C#——自定义泛型链表DEMO
  4. 三禧科技 工业机器人_redmi note 9 即将发布,三剑齐发! 三禧科技
  5. 使用PyCharm定义QQ变量
  6. idea无法导入主题jar包_总结IDEA开发的26个常用设置
  7. 超级玛丽游戏 C++简单实现
  8. 云计算机的优点,介绍云的优点和注意事项
  9. 通过程序得到数据库表之间的关联关系
  10. Azure实践之通过automation管理资产
  11. 使用计时器setInterval实现倒计时
  12. ubuntu-键盘映射
  13. netty实现 http 长连接
  14. dorado 7 数据库配置
  15. vue 点击图标 显示/隐藏 密码
  16. 小程序源码:图片秒加水印制作生成
  17. cygwin使用apt-cyg
  18. 为什么你也要用Firefox
  19. 无法加载DLL:找不到指定模块 问题解决办法
  20. SpringBoot启动报错:Failed to introspect Class [XXX] from ClassLoader解决办法

热门文章

  1. Python数据清洗之Dataframe中不同分隔符数据的清洗
  2. 福尔摩斯探案词频统计
  3. 阿里云免费SSL证书申请及收费版说明
  4. 在Windows系统中通过简单代码实现一键清理C盘垃圾文件
  5. Java抽象类(abstract)的定义和设计模式(模板设计模式)
  6. 如何使用Python对文件进行压缩与解压缩
  7. PCB器件封装网络无法更改
  8. RealsenseD435驱动
  9. ncnn神经网络计算框架在香橙派OrangePi 3 LTS开发板中的使用介绍
  10. FFMPEG音视频同步-音视频实时采集并编码推流