21.2zabbix低级自动发现-mysql多实例

news2024/11/15 4:29:01

配置mysql多实例

注释:自动发现:创建监控主机;低级自动发现:创建监控项
mysql单实例是直接yum安装,开启mysql多实例
准备配置文件

#mysql3307实例
cp /etc/my.cnf /etc/my3307.cnf
vim /etc/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

#mysql3308实例
cp /etc/my3307.cnf /etc/my3308.cnf
sed -i 's#3307#3308#g' /etc/my3308.cnf

#创建mysql实例路径
mkdir -p /data/{3307,3308}

初始化数据库3307
mysql_install_db --user=mysql --defaults-file=/etc/my3307.cnf
启动数据
mysqld_safe --defaults-file=/etc/my3307.cnf &


初始化数据库3308
mysql_install_db --user=mysql --defaults-file=/etc/my3308.cnf
启动数据
mysqld_safe --defaults-file=/etc/my3308.cnf &

检查多实例mysql状态正常,多实例mysql准备完成。
在这里插入图片描述

配置低级自动发现

创建一个键值,定义key就是mysql.discovery

vim /etc/zabbix/zabbix_agentd.d/mysql.discovery.conf 
UserParameter=mysql.discovery,/bin/bash /server/scripts/mysql.discovery.sh
#创建脚本实现json格式的文件内容
vim /server/scripts/mysql.discovery.sh 
#!/bin/bash
#mysql low-level discovery
res=`netstat -lntp|awk -F "[ :\t]+" '/mysqld/{print$5}'`
port=($res)
printf '{'
printf '"data":['
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 ']'
printf '}\n'

执行脚本mysql.discovery.sh实现json格式内容,实现对应的mysql端口
在这里插入图片描述

测试取值成功,注意:默认情况下载,zabbix会以zabbix用户的身份执行刚才的discover.sh脚本, netstat -lntup需要root用户的权限,所以这里我们使用suid来解决这个问题
chmod u+s /usr/bin/netstat
在这里插入图片描述

zabbix界面上创建自动发现规则
在这里插入图片描述

规则创建完成,如果要给mysql.discovery该规则添加一个过滤器,则需要创建一个正则表达式
在这里插入图片描述

配置一个过滤器的正则表达式,结果为假,意思就是说,将3306该MySQL的端口去掉。
在这里插入图片描述

标签里面的宏值,就是上面执行脚本输出的json格式内容的{#MYSQLPORT}
在这里插入图片描述

配置监控原型

我这里调用原来配置文件:userparameter_mysql.conf里面的key就是mysql.status[*]
在这里插入图片描述

拿出一条对应参考,到命令行中执行测试,

UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}'

测试取值成功
$1就是zabbix系统中模板对应的mysql的键值内容;
$$2就是防止出现与系统中的变量发生冲突。
home就是一个变量,没有实际意义
在这里插入图片描述

其他说明,命令行中直接获取数据库中信息,两个中方法:

#方法一:
echo "select version()" |mysql
#方法二:
mysql -e "select version()"

在这里插入图片描述

数据库中查看sock文件路径

#进入指定的数据库
mysql -h 127.0.0.1 -P 3307
#查看sock文件路径
show VARIABLES like '%sock%';

在这里插入图片描述

修改配置文件:userparameter_mysql.conf,加入指定的主机的地址和指定端口,端口使用$2进行传参即可。
在这里插入图片描述

重启zabbix-agent服务器

systemctl restart zabbix-agent.service
#测试取值3307和3308均有值
zabbix_get -s 127.0.0.1 -k  mysql.status[Uptime,3307]

解释:根据配置文件中对应:mysql.status[*]定义一个key
Uptime(启动时间)传参$1
3307传参为$2
在这里插入图片描述

创建监控项原型名称不能一致,键值里面,启动时间一个,mysql端口是变量,因有过滤3306。所以每个uptime对应两个值。
添加一个应用集mysqls。然后点击添加
在这里插入图片描述

验证,查看监测-最新数据,选择对应主机和应用集,查看最新数据即可,对应两条监控项,包含3307和3308数据库。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1696114.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Maven多环境打包配置

一、启动时指定环境配置文件 在启动springboot应用的jar包时,我们可以指定配置文件,通常把配置文件上传到linux服务器对应jar包的同级目录,或者统一的配置文件存放目录 java -jar your-app.jar --spring.config.location/opt/softs/applicat…

4.Redis之Redis的通用命令

0.Redis 实战操作 通过 redis-cli 客户端和 redis 服务器交互 涉及到很多的 redis 的命令 【redis 的命令非常非常多!!! 1.掌握常用命令(多操作多练习) 2.学会使用 redis 的文档-> 阅读文档, 是程序猿的基操!! redis 的命令非常非常多!!! 1.掌握常用命令(多操作多练习…

Golang文件操作

文章目录 文件操作基本介绍普通的文件操作方式(os包)带缓冲的文件操作方式(bufio包)文件拷贝操作(io包) 命令行参数基本介绍解析命令行参数(flag包) JSON基本介绍JSON序列化JSON反序…

【手把手带你搓组件库】从零开始实现Element Plus

从零开始实现Element Plus 前言亮点项目搭建1、创建项目初始化monorepo创建 .gitignore目录结构安装基础依赖配置文件创建各个分包入口utilscomponentscoreplaytheme 2、创建VitePress文档3、部署到Github Actions生成 GH_TOKENGitHub Page 演示 4、总结 前言 在本文中&#xf…

vim操作手册

vim分为插入模式、命令模式、底行模式。 插入模式:编辑模式 命令模式:允许使用者通过命令,来进行文本的编辑控制 底行模式:用来进行让vim进行包括但不限于shell进行交互 w:保存 wq&am…

北邮22级信通院DSP:用C++程序实现给定参数下四种滤波器的Butterworth模拟滤波器设计:给定上下截频和衰减系数求H(p)和H(s)

北邮22信通一枚~ 跟随课程进度更新北邮信通院DSP的笔记、代码和文章,欢迎关注~ 获取更多文章,请访问专栏: 北邮22级信通院DSP_青山入墨雨如画的博客-CSDN博客 目录 一、 核心算法 1.1判断滤波器类型 1.2 带通滤波器BP 1.3带阻滤波器B…

十二、shell编程之awk

12.1 什么是awk 虽然sed编辑器是非常方便自动修改文本文件的工具,但其也有自身的限制。通常你需要一个用来处理文件中的数据的更高级工具,它能提供一个类编程环境来修改和重新组织文件中的数据。这正是awk能够做到的。 awk程序是Unix中的原始awk程序的…

P4097 【模板】李超线段树 / [HEOI2013] Segment 题解

题意 有一个平面直角坐标系,总共 n n n 个操作,每个操作有两种: 给定正整数 x 0 , y 0 , x 1 , y 1 x_0,y_0,x_1,y_1 x0​,y0​,x1​,y1​ 表示一条线段的两个端点。你需要在平面上加入这一条线段,第 i i i 条被插入的线段的标…

【面试干货】完全平方数

【面试干货】完全平方数 1、实现思想2、代码实现 💖The Begin💖点点关注,收藏不迷路💖 一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少? 1、…

设计模式 17 组合模式 Composite Pattern

设计模式 17 组合模式 Composite Pattern 1.定义 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设…

wps使用(解决毕业论文)

目录自动生成 页码自动生成 一部分使用I II III IV 格式,一部分使用1,2,3,4 格式 先设置全部文章为I II III IV 格式,然后再需要的地方再设置1,2,3,4 格式 一键设置中文、英文、数…

特斯拉FSD的「端到端」到底能不能成?

引言 近年来,特斯拉的全自动驾驶(Full Self-Driving,FSD)技术备受关注,尤其是其「端到端」的AI软件框架更是引发了广泛讨论。端到端技术到底是一条正确的路径吗?它能否真正实现完全自动驾驶?本…

Java面试八股之什么是锁消除和锁粗化

什么是锁消除和锁粗化 锁消除(Lock Elimination): 锁消除是Java虚拟机(JVM)进行的一种高级优化策略,旨在消除那些没有必要存在的同步操作,以减少不必要的性能开销。这一优化发生在即时编译器&a…

Docker拉取镜像报错:x509: certificate has expired or is not yet v..

太久没有使用docker进行镜像拉取,今天使用docker-compose拉取mongo发现报错(如下图): 报错信息翻译:证书已过期或尚未有效。 解决办法: 1.一般都是证书问题或者系统时间问题导致,可以先执行 da…

Nginx-狂神说

Nginx概述 公司产品出现瓶颈? 我们公司项目刚刚上线的时候,并发量小,用户使用的少,所以在低并发的情况下,一个jar包启动应用就够了,然后内部tomcat返回内容给用户。 但是慢慢的,使用我们平台…

微信小程序- 实现横向滑动列表

1. 微信小程序-实现横向滑动列表 微信小程序如何隐藏scroll-view滚动条    1.1. photoScroll.wxml <view class"hs-body"><scroll-view class"hs-layout" scroll-x"true" scroll-left"{{x}}" scroll-with-animation&quo…

设计循环队列(C语言)怎会如此简单!!!

目录 题目题目分析 解答结构体初始化判空判满插入删除去队头数据取队尾数据队列的销毁 题目 链接: 题目 设计你的循环队列实现。 循环队列是一种线性数据结构&#xff0c;其操作表现基于 FIFO&#xff08;先进先出&#xff09;原则并且队尾被连接在队首之后以形成一个循环。它…

AI Agent: Agent框架+7个实例

何谓Agent Agent 作为一种新兴的人工智能技术&#xff0c;正在受到越来越多的关注。要说清楚什么是 Agent&#xff0c;先得看看人工智能的本质是什么。 人工智能这个名称来自它试图通过计算机程序或机器来模拟、扩展和增强人类智能的 一些方面。在这个定义中&#xff0c;“人…

【QGIS入门实战精品教程】10.6:QGIS制作酒店分布热力图

相关阅读: ArcGIS实验教程——实验四十二:ArcGIS密度分析(核密度、点密度、线密度) 【ArcGIS微课1000例】0086:基于七普人口数据的人口密度分析与制图 ArcGIS实验教程——实验二十四:人口密度制图 文章目录 一、加载酒店分布数据二、热力分析一、加载酒店分布数据 订阅专…

LeetCode刷题之HOT100之合并二叉树

2024/5/26 晴。是的&#xff0c;等下我要去长乐沙滩赶海哈哈&#xff0c;因为这几天数字峰会&#xff0c;地铁公交又免费啦。ok&#xff0c;今天做的是HOT100里面最后一道easy题目啦&#xff0c;明天就是要跨越一个难度啦&#xff01;做题吧 1、题目描述 2、逻辑分析 题目要求…