前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Z投稿】Zabbix监控MySQL工具

【Z投稿】Zabbix监控MySQL工具

作者头像
Zabbix
发布2021-02-03 10:49:48
1.8K2
发布2021-02-03 10:49:48
举报
文章被收录于专栏:Zabbix中国官方

介绍

最近学习使用go语言写了一个zabbix监控mysql数据库的小工具,有如下特点: 1.使用Zabbix Agent Trapper方式(主动发送采集数据到zabbix server,类似active模式)监控mysql数据库 2.支持对密码加密,避免配置文件里出现明文密码 3.支持SHOW /!50001 GLOBAL / STATUS和SHOW /!50001 GLOBAL / VARIABLES所有指标监控!!! 4.支持mysql主从监控 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

导入模版

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

再导入模版文件,zbx_templates_mysql.xml

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

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

配置插件

下载并解压插件

代码语言:javascript
复制
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密码

代码语言:javascript
复制
/opt/mymon/mymon enc yourpassword

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

代码语言:javascript
复制
/opt/mymon/mymon enc admin
sXcEQ2FTGk4WsWSxyT6fuBnjZ3v43pc0

修改配置文件mymon.json

代码语言:javascript
复制
{
"debug": false,
"step": 60,
"mysql": {
       "username": "admin",
       "password": "hcxhF+KoURUsge+kMQQaU2lDN1YfOLiJ",
       "host": "172.16.66.17",
       "port": 3306
   },
"zabbix":{
       "server": "zabbix.cactifans.com",
       "port": 10051,
       "hostname": "hosts135"
   }}

配置文件说明 step为采集周期,单位为秒 需要监控的mysql数据库信息配置

username为数据库的用户名,一般使用root用户 passoword为之前加密的密码密文 host为数据库主机ip port为mysql端口 zabbix信息配置 server 为zabbix server的地址,如通过zabbix proxy 需要设置为zabbix proxy的地址 port zabbix server端口默认为10051 hostname为之前关联模版的主机名一致

使用

修改好配置文件之后,可以启动插件,使用以下命令进行测试数据库是否能够连通

代码语言:javascript
复制
cd /opt/mymon
./mymon ping

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

代码语言:javascript
复制
2018/08/08 15:29:58 ping.go:41: Using config file: /opt/mymon/mymon.json  successfully!1

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

代码语言:javascript
复制
./control start

常用操作

代码语言:javascript
复制
./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 查看帮助

代码语言:javascript
复制
[root@localhost mymon]# ./mymon Zabbix mysql database monitoring tool. For example:mymon daemon --config=./mymon.jsonUsage:
 mymon [command]Available Commands:
 daemon      Running as a daemon
 enc         Encrypt passwords in AES mode  help        Help about any command
 ping        Connected line checker
 version     VersionFlags:
     --config string   config file (default is /.mymon.json)
 -h, --help            help for mymonUse "mymon [command] --help" for more information about a command.

注意事项

  1. 目前使用root权限较大,后期可能根据需求,通过配置文件配置是否需要监控主从状态,如不监控可采用数据库较低权限 2.trapper方式默认允许任何主机发送数据到zabbix server,建议通过设置宏的方式,在模版里配置allowed hosts配置权限 3.mysql是否运行状态未监控,建议添加mysql进程监控来实现

来Zabbix大会,遇见张思德

Zabbix2017大会明星讲师,其关于Zabbix二次开发的演讲中,部分功能建议被Zabbix新产品采用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-09-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Zabbix开源社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 导入模版
  • 配置插件
  • 使用
  • 效果
  • 扩展
    • 指标增加
      • 命令行工具
      • 注意事项
      相关产品与服务
      云数据库 SQL Server
      腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档