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

配置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.mzph.cn/bicheng/15919.shtml

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

相关文章

lazarus-IDE 可以开发 Node.js 吗?

Lazarus IDE 本身不是用来开发 Node.js 应用程序的工具,因为它是一个用于开发跨平台应用程序的环境,类似于 C Builder 或 Delphi。Node.js 是一个基于 JavaScript 的运行时环境,通常使用 V8 引擎,用于构建异步、事件驱动的服务器端…

产品经理-流程图结构图(四)

1. 流程图 1.1 概念 为了达到特定的目标而进行的一系列有逻辑性的操作步骤,由两个及以上的步骤,完成一个完整的行为的过程,可称之为流程 1.2 产品经理为什么需要绘制流程图? 保证产品的使用逻辑合理顺畅向项目组其他成员清晰的…

代码随想录算法训练营Day4|24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、 142.环形链表II、面试题 02.07. 链表相交

24. 两两交换链表中的节点 这道题的关键在于: 1、在置换两个节点的时候,当前节点需要在这俩节点之前一个节点。并且要提前保存cur.next以及cur.next.next。 2、每次置换完一组节点,cur cur.next.next 3、判断结束的标志:奇数个节点&#xf…

如何禁止U盘拷贝文件|禁止U盘使用的软件有哪些

禁止U盘拷贝文件的方法有很多,比如使用注册表、组策略编辑器等,但这些方法都适合个人,不适合企业,因为企业需要对下属多台电脑进行远程管控,需要方便、省时、省力的方法。目前来说,最好的方法就是使用第三方…

Unity websocket客户端

🏆 个人愚见,没事写写笔记 🏆《博客内容》:Unity3D开发内容 🏆🎉欢迎 👍点赞✍评论⭐收藏 🔎目标:服务器和客户端可以实时的传输信息 ☀️实现目标: 使用的w…

技术速递|无障碍应用程序之旅:键盘可访问性和 .NET MAUI

作者:Rachel Kang 排版:Alan Wang 首先让我们一起来看看您的应用程序是否支持键盘访问: 启动您的其中一个应用。如果您的设备尚未连接物理键盘,请连接物理键盘。像平常一样导航您的应用程序,并且仅使用键盘来执行此操…

如何使用Rust构建Python原生库?注意,不是动态链接库!!!

参考文档:https://github.com/PyO3/pyo3 创建python虚拟环境: conda create --name pyo3 python3.11.7激活虚拟环境: conda activate pyo3安装依赖: pip install maturin初始化项目: maturin init构建项目&#x…

设计模式--目录

设计模式是软件工程中为解决常见问题而总结出来的一系列通用解决方案。它们可以分为三大类别:创建型模式、结构型模式和行为型模式。下面列举了一些常见的设计模式及其分类: 创建型模式(Creational Patterns) 创建型模式关注对象的创建过程&#xff0c…

小程序checkbox改成圆形与radio样式保持一致

修改前 修改后 html: <view class"agreement"><checkbox value"{{ isAgreed }}" bind:tap"toggleCheckbox" /><text>我同意室外智能健身房 <text class"link" bind:tap"showUserProtocol">用户协…

【JTS Topology Suite】Java对二维几何进行平移、缩放、旋转等坐标变换

JTS介绍 Github项目地址&#xff1a;https://github.com/locationtech/jts Maven库地址&#xff1a;https://mvnrepository.com/artifact/org.locationtech.jts JTS Topology Suite是一个用于创建和操作二维矢量几何的Java库。 JTS有对应的.NET版本NetTopologySuite库&…

P3128 [USACO15DEC] Max Flow P题解(树上差分,最近公共祖先,图论)

前言&#xff1a; 题目链接&#xff1a;P3128 [USACO15DEC] Max Flow P - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 讲解&#xff1a; 这一题含金量真算高的&#xff0c;包含了建树&#xff08;用了图论的知识&#xff09;&#xff0c;求最近公共祖先&#xff08;倍增法…

2024目前网上最火短剧机器人做法,自动搜索发剧 自动更新资源 自动分享资源

目前整个项目圈子很多的短剧机器人&#xff0c;我写的&#xff0c;自动搜索发剧&#xff0c;自动更新资源&#xff0c;自动分享资源&#xff0c;前段时间大部分做短剧的都是做的短剧分成&#xff0c;我的一个学员做的30W播放量才200块收益&#xff0c;备受启发&#xff0c;我就…

springboot社区助老志愿服务系统-计算机毕业设计源码96682

摘要 大数据时代下&#xff0c;数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求&#xff0c;利用互联网服务于其他行业&#xff0c;促进生产&#xff0c;已经是成为一种势不可挡的趋势。在图书馆管理的要求下&#xff0c;开发一款整体式结构的社区助老志愿服务…

社交媒体数据恢复:绿洲

本教程将向您展示如何在绿洲平台上备份和恢复数据&#xff0c;但不涉及推荐任何具体的数据恢复软件。 一、绿洲平台数据备份 为了确保数据的安全&#xff0c;在日常使用过程中&#xff0c;我们需要定期备份绿洲平台上的数据。以下是备份绿洲平台数据的步骤&#xff1a; 登录绿…

three.js能实现啥效果?看过来,这里都是它的菜(09)

Hi&#xff0c;这是第九期了&#xff0c;继续分享three.js在可视化大屏中的应用&#xff0c;本期分享位移动画的实现。 位移动画 Three.js位移动画是指在Three.js中实现物体位置的平移动画。通过改变物体的位置属性&#xff0c;可以实现物体沿着指定路径从一个位置移动到另一…

Java——图书管理系统万字详解(附代码)

框架搭建 book包 将书相关的放到book包中&#xff0c;创建一个Book类用来设置书的属性&#xff0c;包括书名、作者、价格、类型、是否被借出等。 以上属性均被private所修饰 利用编译器生成构造方法&#xff08;不需要构造isBorrowed&#xff0c;因为其初始值为false&#…

微前端架构 之 应用之间样式隔离 (四)

1. 使用 CSS Modules 进行样式隔离 1. 安装必要的依赖 如果你使用 webpack 作为构建工具&#xff0c;你可能需要安装 css-loader 和 style-loader。如果你的项目使用 Create React App 或其他现代前端框架&#xff0c;这些可能已经内置了。 npm install --save-dev css-loade…

springboot结合baomidou dynamic-datasource组件实现多数据源

dynamic-datasource组件实现多数据源 一、背景介绍二、 思路方案三、过程四、总结五、升华 一、背景介绍 博主最近研发的项目中由于业务需要&#xff0c;在项目中使用到多个数据源。使用到了baomidou的dynamic-datasource组件来实现访问不同的数据源。觉得挺有意思的也是进行了…

Redis事务(1)

什么是事务&#xff1f; Redis 的事务和 MySQL 的事务概念上是类似的. 都是把⼀系列操作绑定成⼀组. 让这⼀组能够批量执行。 但是注意体会 Redis 的事务和 MySQL 事务的区别: 弱化的原⼦性: redis 没有 “回滚机制”. 只能做到这些操作 “批量执⾏”. 不能做到 “⼀个失败就…

海外链游地铁跑酷全自动搬砖挂机掘金变现项目,号称单窗口一天收益30+(教程+工具)

一、项目概述 地铁跑酷海外版国外版自动搬砖挂机掘金项目是一款结合了地铁跑酷元素的在线游戏&#xff0c;为玩家提供一个全新的游戏体验&#xff0c;使得玩家可以轻松地进行游戏&#xff0c;无需手动操作&#xff0c;节省时间和精力。 二、游戏特点 1. 自动化操作&#xff1…