介绍

最近学习使用go语言写了一个zabbix监控mysql数据库的小工具,有如下特点:
1.使用Zabbix Agent Trapper方式(主动发送采集数据到zabbix server,类似active模式)监控mysql数据库
2.支持对密码加密,避免配置文件里出现明文密码
3.支持SHOW /!50001 GLOBAL / STATUS和SHOW /!50001 GLOBAL / VARIABLES所有指标监控!!!
4.支持mysql主从监控(默认关闭,可通过配置文件开启,mysql用户需要有SUPER或REPLICATION CLIENT权限)
5.支持自定义采集周期

源码:https://github.com/canghai908/zabbix-mymon
新手上路,轻喷!欢迎star!
模版下载:https://dl.cactifans.com/zabbix/zabbix_template_mysql.tar.gz
工具下载:https://dl.cactifans.com/zabbix/zabbix-mymon-0.0.1.x86_64.tar.gz

源码编译

如果不喜欢使用二进制包或者需要修改某些源码的,可以使用源码编译,具体步骤如下。部署好golang开发环境,具体部署手册请查看 https://golang.org/doc/install
执行以下命令,即可编译生成mymon-0.0.1.tar.gz

1
2
3
4
mkdir -p $GOPATH/src/github.com/canghai908
cd $GOPATH/src/github.com/canghai90
git clone https://github.com/canghai908/zabbix-mymon.git
cd zabbix-mymon &./control pack

导入模版

在zabbix Server上导入导入模版,解压之前下载的模版。
先导入valuemap,导入zbx_valuemaps_mysql.xml

再导入模版文件,zbx_templates_mysql.xml

导入之后可以看到名为Template App MySQL Trapper的模版,表示导入成功

MySQL作为中间件可以挂载到任何在zabbix server里的host上。监控脚本不一定部署在真实的数据库服务器之上,只要脚本通过远程方式能连接到数据库即可。
关联模版到需要挂载Mysql监控的的host上即可。

配置插件

下载并解压插件

1
2
3
mkdir -p  /opt/mymon
wget https://dl.cactifans.com/zabbix/zabbix-mymon-0.0.1.x86_64.tar.gz
tar zxvf zabbix-mymon-0.0.1.x86_64.tar.gz -C /opt/mymon

插件结构
├── control //启动脚本
├── mymon //二进制程序
└── mymon.json //配置文件
使用mysql的root用户进行监控(主从监控需要)。把密码写在明文的文件里不是被推荐的,因此脚本提供了一个使用AES加密算法加密数据库密码的工具,保证root密码的安全。使用一下命令加密密码明文,将yourpassword替换为你的root密码

1
/opt/mymon/mymon enc yourpassword

执行之后会看到进过加密后的密码密文,记录下来

1
2
/opt/mymon/mymon enc admin
sXcEQ2FTGk4WsWSxyT6fuBnjZ3v43pc0

修改配置文件mymon.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"debug": false,
"interval": 60,
"slave": false,
"mysql": {"username": "admin","password": "hcxhF+KoURUsge+kMQQaU2lDN1YfOLiJ","host": "172.16.66.17","port": 3306},
"zabbix":{"server": "zabbix.cactifans.com","port": 10051,"hostname": "hosts135"}
}

配置文件说明
interval 采集周期,单位为秒
slave 是否开启slave采集,如需要采集,mysql用户需要有SUPER或REPLICATION CLIENT权限
需要监控的mysql数据库信息配置

username 数据库的用户名,一般使用root用户
passoword 加密后的密码密文
host 数据库主机ip
port mysql端口

zabbix信息配置

server 为zabbix server的地址,如通过zabbix proxy 需要设置为zabbix proxy的地址
port zabbix server端口默认为10051
hostname为之前关联模版的主机名一致

使用

如不需要采集slave信息,用以下命令建立一个mysql用户不用授权任何权限即可监控

1
CREATE USER admin@'%' IDENTIFIED BY 'password';

如需要监控slave信息,需要将配置文件里的slave设置为true,并建立一个有SUPER或REPLICATION CLIENT权限的用户,修改好配置文件之后可以启动插件,使用以下命令进行测试数据库是否能够连通

1
2
cd /opt/mymon
./mymon ping

可以看到使用的配置文件
如返回1,表示数据库连接正常
如返回2表示连接数据库异常,请检查用户权限及配置文件

1
2
2018/08/08 15:29:58 ping.go:41: Using config file: /opt/mymon/mymon.json  successfully!
1

测试成功之后可以使用以下命令启动即可

1
./control start

常用操作

1
2
3
4
./control start    //启动应用
./control stop     //停止应用
./control restart  //重启应用
./control tail     //查看日志

效果




扩展

指标增加

由于指标较多目前添加了基础的监控指标,SHOW /!50001 GLOBAL / STATUS和SHOW /!50001 GLOBAL / 命令支持的指标都支持监控!!!只需要在模版里添加新的item即可。clone当前的指标,修改就可以了

指标解释

name 为指标名称
type不修改,为Zabbix trapper
key 为myql.加上SHOW /!50001 GLOBAL / STATUS和SHOW /!50001 GLOBAL / 命令里的指标名称
type of Information为指标类型,根据具体指标类型选择
preprocessing 指标是计数器还是具体数值具体设置即可

命令行工具

工具内置几个命令行工具及基本使用,可以使用mymon -h 查看帮助

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@localhost mymon]# ./mymon
Zabbix mysql database monitoring tool. For example:mymon daemon --config=./mymon.jsonUsage:mymon [command]Available Commands:daemon      Running as a daemonenc         Encrypt passwords in AES modehelp        Help about any commandping        Connected line checkerversion     VersionFlags:--config string   config file (default is /.mymon.json)-h, --help            help for mymonUse "mymon [command] --help" for more information about a command.

注意事项

1.trapper方式默认允许任何主机发送数据到zabbix server,建议通过设置宏的方式,在模版里配置allowed hosts配置权限
2.mysql是否运行状态未监控,建议添加mysql进程监控来实现

Zabbix监控MySQL工具相关推荐

  1. zabbix监控mysql的实例方法

    文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 1.监控规划 在创建监控 ...

  2. mysql 表空间监控shell_一种通过zabbix监控mysql表空间的方法

    一种通过zabbix监控mysql表空间的方法[ 技术领域: ][0001]本发明涉及计算机自动化运维与监控领域,具体地说是一种通过ZABBIX监控MYSQL表空间的方法.[ 背景技术: ][0002 ...

  3. Zabbix 监控Mysql数据库及主从数据库

    Zabbix监控mysql主从数据库在脚步出现用户名和密码是会出现如下报错"Warning: Using a password on the command line interface c ...

  4. zabbix监控mysql最简单的方法

    该实验基于我的上一篇文章监控第一台主机的基础上 首先,因为水平有限,我选择直接关闭了防火墙和SELinux. 环境: 两台centos7,服务器端IP是192.168.200.128(以下简称主机), ...

  5. Zabbix监控Mysql数据库性能

    来源:http://os.51cto.com/art/201404/435139.htm 本文通过Zabbix Graphs实时查看的SQL语句操作情况和mysql发送接收的字节数,Zabbix还可以 ...

  6. zabbix监控mysql死锁

    percona MySQL Server Template算是比较常用的zabbix监控mysql的模板了,监控项也比较齐全,但是没有监控mysql死锁的监控项,如果有需求,就需要另外创建模板或者监控 ...

  7. Zabbix 监控 MySQL

    配置Zabbix 监控 MySQL 客户端配置 服务器: ubuntu14.04 之前装过 zabbix-agent 但是看了一下版本是2.2的,已经很落后了,于是升级了一下.(配置文件不用备份,升级 ...

  8. centos7 mysql读写监控,《Centos7——zabbix监控mysql的常规操作》

    <Centos7--zabbix监控mysql的常规操作> <Centos7--zabbix监控mysql的常规操作> http://blog.csdn.net/weixin_ ...

  9. zabbix监控mysql主从与主从延迟

    zabbix监控mysql主从与主从延迟 文章目录 zabbix监控mysql主从与主从延迟 一.Zabbix监控mysql主从 1.部署mysql主从,使用mariadb进行操作 2.将server ...

  10. 《Centos7——zabbix监控mysql的常规操作》

    <Centos7--zabbix监控mysql的常规操作> 逻辑思维菜鸟 2020-09-22 21:21:01 40 收藏 1 分类专栏: zabbix 数据库 文章标签: mysql ...

最新文章

  1. 渡鸦创始人离职百度后的下一个“真相”
  2. oracle数据连接出现 login denied 问题
  3. 第59件事 运营驱动产品调优案例
  4. spring+springMVC+mybatis的整合 part5
  5. cmd命令不识别exp_cmd 命令行exp 命令导出数据库文件
  6. 病毒注册表常用目标Svchost和Explorer
  7. LeetCode OJ:Bitwise AND of Numbers Range
  8. Repo报错:GnuTLS recv error (-9): Error decoding the received TLS packet.
  9. 天然气阶梯是按年还是按月_您搞懂了吗?阶梯电费是按年计算而不是按月计算的...
  10. Java学习的准备工作
  11. Firefox火狐浏览器打开网页京东 http://www.jd.com/?l=1err=3 报错
  12. 在王者荣耀角度下分析面向对象程序设计B中23种设计模式之享元模式
  13. APP兼容性专项测试
  14. 怎么把两个PDF合并成一个?建议收藏这些合并的方法
  15. CLIENT_PLUGIN_AUTH is required 解决办法
  16. 美国诚实签经验——回答签证官的问题时,一定要问什么才答什么,不要犹豫改口、做很多解释或开玩笑,自信且镇静地与他对话,着装得体、举止自然、言谈自信...
  17. mysql ndb存储引擎_Cluster的NDB存储引擎
  18. 21岁日本女星惨遭猥亵,只因自拍瞳孔倒影暴露住址? 一张照片是怎么出卖你的?
  19. GIST 空间包络特征 推荐论文 简介
  20. (算法设计与分析)第二章递归与分治策略-第二节:分治和典型分治问题

热门文章

  1. 百度中文手写输入法linux版,[Linux]百度输入法Linux版 V1.0.1.0 [2020.05.19]
  2. 推动Web开放生态持续发展 百度正式发布Lavas解决方案
  3. Hydra(弱密码爆破)使用教程
  4. 理解Resnet18的18的含义
  5. 网络历史之金融投资三剑客0
  6. DSP SRIO接口认识
  7. (转)24种设计模式大全
  8. 微信小程序地图组件利用腾讯地图生成热力图
  9. 硬盘的老化测试软件,硬盘检测工具使用方法
  10. python标准库-math数学函数库介绍