阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Zabbix自动发现MySQL端口并监控

132次阅读
没有评论

共计 3226 个字符,预计需要花费 9 分钟才能阅读完成。

一、需求:
因为我们是游戏业务,要用到 MySQL,一个服务器上面跑多个 mysql 实例也是很正常。如果单独手动一台台修改 agent.conf,添加 web 监控,太费时费力。所以就想的要用 zabbix 的自动发现来监控

二、配置 Agent
1. 编写自动发现端口脚本
[root@test ~]# cat /etc/zabbix/alertscripts/zabbix_discovery_mysql.sh 
#!/bin/bash
mysql() {
            port=($(sudo netstat -tpln | awk -F “[ :]+” ‘/[m]ysql/’ | awk -F: ‘{print $4}’))
            printf ‘{\n’
            printf ‘\t”data”:[\n’
              for key in ${!port[@]}
                  do
                      if [[“${#port[@]}” -gt 1 && “${key}” -ne “$((${#port[@]}-1))” ]];then
              socket=`ps aux|grep ${port[${key}]}|grep -v grep|awk -F ‘=’ ‘{print $10}’|cut -d ‘ ‘ -f 1`
                          printf ‘\t {\n’
                          printf “\t\t\t\”{#MYSQLPORT}\”:\”${port[${key}]}\”},\n”
                    else [[“${key}” -eq “((${#port[@]}-1))” ]]
              socket=`ps aux|grep ${port[${key}]}|grep -v grep|awk -F ‘=’ ‘{print $10}’|cut -d ‘ ‘ -f 1`
                          printf ‘\t {\n’
                          printf “\t\t\t\”{#MYSQLPORT}\”:\”${port[${key}]}\”}\n”
                      fi
              done
                          printf ‘\t ]\n’
                          printf ‘}\n’
}
$1

2. 赋权

赋执行权限 chmod 755  /etc/zabbix/alertscripts/zabbix_discovery_mysql.sh 
修改属组 chown  zabbix.zabbix /etc/zabbix/alertscripts/zabbix_discovery_mysql.sh

3. 测试脚本效果
1234567 [root@test ~]# /etc/zabbix/alertscripts/zabbix_discovery_mysql.sh  mysql
{
        “data”:[
        {
                        “{#MYSQLPORT}”:”3306″}
        ]
}

4. 配置 agent.conf
[root@test ~]# cat /etc/zabbix/zabbix_agentd.conf | grep Include
### Option: Include
# Include=
# Include=/usr/local/etc/zabbix_agentd.userparams.conf
# Include=/usr/local/etc/zabbix_agentd.conf.d/
Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf

[root@test zabbix_agentd.conf.d]# cat check_mysql.conf 
UserParameter=mysql.discovery[*],/etc/zabbix/alertscripts/zabbix_discovery_mysql.sh  $1
UserParameter=mysql_stats[*],/usr/bin/mysql –defaults-file=/home/zabbix/.my.cnf -P $1  -e “show global status”|grep “\<$2\>”|cut  -f2

5.sudo 权限
123 #Defaults    requiretty
Defaults:zabbix    !requiretty
zabbix  ALL=(root)      NOPASSWD:/bin/netstat,/usr/bin/mysql

6. 创建 zabbix 查询 mysql 用户
GRANT PROCESS ON *.* TO ‘zabbix’@’localhost’ identified BY ‘zabbix’;
Flush privileges;

注意:Warning: Using a password on the command line interface can be insecure.
因为 mysql5.6 不能使用明文密码登录,所以这里要创建一个文件用来指定用户名密码

7. 创建 mysql.cnf 文件
[root@test zabbix]# cat /home/zabbix/.my.cnf 
[client]
user=zabbix
password=zabbix
host=localhost

chown zabbix.zabbix /home/zabbix/.my.cnf
chmod 600  /home/zabbix/.my.cnf

8. 重启 agent 服务
service zabbix_agentd restart

9. 测试
[root@test alertscripts]# /usr/local/zabbix/bin/zabbix_get  -s 127.0.0.1 -k mysql_stats[3306,Uptime]
3862
[root@test alertscripts]# /usr/local/zabbix/bin/zabbix_get  -s 127.0.0.1 -k mysql.discovery[mysql]
{
        “data”:[
        {
                        “{#MYSQLPORT}”:”3306″}
        ]
}

三、配置 web
添加模板

Zabbix 自动发现 MySQL 端口并监控

2. 创建应用

Zabbix 自动发现 MySQL 端口并监控

3. 创建自动发现规则

Zabbix 自动发现 MySQL 端口并监控

4. 创建监控项

Zabbix 自动发现 MySQL 端口并监控

5. 创建图形

Zabbix 自动发现 MySQL 端口并监控

6. 主机链接模板

7. 查看监控数据

Zabbix 自动发现 MySQL 端口并监控

一些 Zabbix 相关教程集合

Ubuntu 14.04 下 Zabbix2.4.5 源码编译安装  http://www.linuxidc.com/Linux/2015-05/117657.htm

安装部署分布式监控系统 Zabbix 2.06 http://www.linuxidc.com/Linux/2013-07/86942.htm

《安装部署分布式监控系统 Zabbix 2.06》http://www.linuxidc.com/Linux/2013-07/86942.htm

CentOS 6.3 下 Zabbix 安装部署 http://www.linuxidc.com/Linux/2013-05/83786.htm

Zabbix 分布式监控系统实践 http://www.linuxidc.com/Linux/2013-06/85758.htm

CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm

CentOS 6.3 下 Zabbix 监控 MySQL 数据库参数 http://www.linuxidc.com/Linux/2013-05/84800.htm

64 位 CentOS 6.2 下安装 Zabbix 2.0.6   http://www.linuxidc.com/Linux/2014-11/109541.htm

ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/136925.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3226字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中