IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> zabbix低级自动发现检测MySQL多实例 -> 正文阅读

[大数据]zabbix低级自动发现检测MySQL多实例

1. 环境的准备

1.1 MySQL多实例创建

yum -y install mariadb-server

设置三个
MySQL配置文件

mkdir /data/{3307,3308} -p
chown -R mysql.mysql /data/*
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/3308/mysqld.log
pid-file=/data/3307/mysqld.pid


vim /etc/my3308.cnf

[mysqld]
datadir=/data/3308/
socket=/data/3308/mysql.sock
port=3307
user=mysql
symbolic-links=0
[mysqld_safe]
log-error=/data/3308/mysqld.log
pid-file=/data/3308/mysqld.pid

初始化

mysql_install_db --user=mysql --defaults-file=/etc/my3307.cnf
mysql_install_db --user=mysql --defaults-file=/etc/my3308.cnf

启动多实例

mysqld_safe --defaults-file=/etc/my3307.cnf 
mysqld_safe --defaults-file=/etc/my3308.cnf 

登录进去

mysql -S /data/3307/mysql.sock
grant all on *.* to root@localhost identified by '123456';
flush privileges;
exit

mysql -S /data/3308/mysql.sock
grant all on *.* to root@localhost identified by '123456';
flush privileges;
exit

改完就可以登录了

mysql -uroot -p123456 -P 3307
mysql -uroot -p123456 -P 3308

查看进程,检查端口

[root@web03 data]# netstat -lntup| grep mysqld
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      30396/mysqld        
tcp        0      0 0.0.0.0:3307            0.0.0.0:*               LISTEN      31682/mysqld        
tcp        0      0 0.0.0.0:3308            0.0.0.0:*               LISTEN      32737/mysqld  

1.2 创建自动发现文件

vim /etc/zabbix/zabbix_agentd.d/mysql_discovery.conf
 
cat /etc/zabbix/zabbix_agentd.d/mysql_discovery.conf

UserParameter=mysql.discovery,/bin/bash /server/scripts/mysql_discovery.sh
mkdir -p /server/scripts
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'

测试:

[root@web03 scripts]# bash /server/scripts/mysql_discovery.sh  
{"data":[{"{#MYSQLPORT}":"3306"},{"{#MYSQLPORT}":"3307"},{"{#MYSQLPORT}":"3308"}]}

重启

systemctl restart zabbix-agent.service 

zabbix_get测试取key

zabbix_get -s 172.16.1.9 -k mysql.discovery

(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
{"data":[]}

这时我们发现取不出来并提示了个错误
原因是zabbix用户不能使用netstat的-p参数
解决方法为给netstat命令添加s权限

在web03上边
which netstat 
/usr/bin/netstat

chmod u+s /usr/bin/netstat 

[root@zabbix ~]# zabbix_get -s 172.16.1.9 -k mysql.discovery
{"data":[{"{#MYSQLPORT}":"3306"},{"{#MYSQLPORT}":"3307"},{"{#MYSQLPORT}":"3308"}]}

1.3 web页面操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个是脚本里边的参数

{#MYSQLPORT}
@mysql.discovery

表达式创建
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.4 模仿zabbix自带的mysql监控配置修改监控项

cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 
修改一下
   
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -uroot -p123456 -P $2 -N | awk '{print $$2}'

systemctl restart zabbix-agent.service

访问监控项

zabbix_get -s 172.16.1.9 -k mysql.status[Uptime,3307]

zabbix_get -s 172.16.1.9 -k mysql.status[Uptime,3308]

在这里插入图片描述

1.5 web页面添加监控项原型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.6 web页面设置主机关联模版

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-26 12:16:31  更:2021-10-26 12:17:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:48:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码