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

【Z投稿】Zabbix监控MySQL工具

作者头像
Zabbix
发布于 2021-02-03 02:49:48
发布于 2021-02-03 02:49:48
1.9K00
代码可运行
举报
文章被收录于专栏:Zabbix中国官方Zabbix中国官方
运行总次数:0
代码可运行

介绍

最近学习使用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
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
/opt/mymon/mymon enc yourpassword

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/opt/mymon/mymon enc admin
sXcEQ2FTGk4WsWSxyT6fuBnjZ3v43pc0

修改配置文件mymon.json

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
"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
代码运行次数:0
运行
AI代码解释
复制
cd /opt/mymon
./mymon ping

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2018/08/08 15:29:58 ping.go:41: Using config file: /opt/mymon/mymon.json  successfully!1

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./control start

常用操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./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
代码运行次数:0
运行
AI代码解释
复制
[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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
地图的折腾
一个纯后台人员折腾前端,最近有个地图的小需求。然后去折腾了一把百度地图。其中一个要求就是在地图按数字标注目标位置。
BUG弄潮儿
2021/09/10
7370
地图的折腾
Vue项目引入百度地图
先去百度开放平台申请ak。百度地图开放平台 | 百度地图API SDK | 地图开发
用户10175992
2022/11/15
6690
Vue项目引入百度地图
百度地图电子围栏功能
今年疫情以来,工作都比较紧凑,没能抽出时间来记录工作日常了。最近接触一个项目需要使用到百度地图的围栏功能,作为前期调研,先探探路。 经过一番搜搜,找到一篇不错的文章。专门介绍,百度地图围栏的。地址如下:https://www.cnblogs.com/CherishTheYouth/p/CherishTheYouth_20190416.html
用户5640963
2020/10/26
4.1K0
百度地图电子围栏功能
地图功能的实现
程序媛夏天
2024/01/18
1750
地图功能的实现
百度地图使用记录
loadBaiduMap.js export default function loadBaiduMap(ak) { return new Promise(function (resolve, reject) { // window.onload = function () { // resolve(BMapGL) // } window.init = function(){ resolve(BMapG
tianyawhl
2022/12/21
5900
Python FastApi集成百度地图并反显到地图
from fastapi.responses import HTMLResponse
疯狂的KK
2023/03/22
6081
页面中插入百度地图(使用百度地图API)
<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”插入地图.aspx.cs” Inherits=”插入地图” %>
全栈程序员站长
2022/07/06
7810
页面中插入百度地图(使用百度地图API)
使用 vue-baidu-map
vue-baidu-map 是百度开源的一个基于vue的小众插件,底层使用的是百度 jsapi 1.0 ,版本官网目前最新版是3.0。
4O4
2022/04/25
1.3K0
使用 vue-baidu-map
百度地图个性化地图样式和自定义弹窗
官方网站:http://lbsyun.baidu.com/index.php?title=jspopular3.0/guide/custom 百度开源插件RichMarker:https://gith
lyudev
2022/08/04
1.3K0
第151天:网页中插入百度地图方法(不需要密钥)
 以上就是网页中插入百度地图的方法,做企业站,总是要插入百度地图,以后再也不用愁了。
半指温柔乐
2018/09/11
5.2K0
第151天:网页中插入百度地图方法(不需要密钥)
js 调用百度地图,并且定位用户地址,显示省市区街,经纬度
网上的一些百度地图例子,基本上没有连套的 定位 例子。下面我分享一套我自己弄的,废话不多说,看代码,里面有注释! 1 <!DOCTYPE html> 2 <html> 3 <head>
林冠宏-指尖下的幽灵
2018/01/02
4K1
百度地图电子围栏功能的实现
最近公司项目需求,要做一个百度地图电子围栏的功能,在网上查了一下资料,看了很多博客,大多数都写的不是很详细,我看的云里雾里的,最后终于集合所有的几篇资料,自己做出了一个简单的demo,下面将过程记录和分享一下,希望给予有需要同学一些帮助,我这个人说话比较啰嗦,所以写的一定会很详细的,哈哈!闲言少叙,开始了。
CherishTheYouth
2019/07/30
3.6K0
百度地图电子围栏功能的实现
百度地图api根据坐标搜索附近信息_最简单app制作
  这几天比较空闲,就接触了下百度地图的API(开发者中心链接地址:http://developer.baidu.com),发现调用还是挺方便的。只要简单几步注册下,就可以获得一个Key,就能直接调用(PS:好像1.3版本前的无需注册获取key,就能直接调用api)。   想着能结合到自己的项目中去,那也挺不错的。看了园子中的几篇文章,感觉甚好,想自己也动手试试。 在调用百度地图API的时候,经纬度的获取必然是关键,那么怎么样获取到经纬度的值呢?这是一个最首要解决的问题。 通过查询资料,看了几个例子,得知了调用的方法(感谢与时俱进的实例,给予很大的帮助)。站着巨人的肩膀上,就能比较快的实现功能。   闲话不多,下面就直接给大家介绍下,具体要怎么调用百度地图API。   首先新建一张html页面。然后引用上API:
全栈程序员站长
2022/09/20
1K0
百度地图api根据坐标搜索附近信息_最简单app制作
vue + 高德地图
https://lbs.amap.com/api/javascript-api-v2/summary
用户4396583
2024/09/23
2460
angularJs集成百度地图
app.controller('mapSignController',function($scope,$rootScope,Message, $window,$uibModalInstance){
JQ实验室
2022/02/09
3590
百度地图API-创建多个坐标,连线,信息提示
这是一个多坐标创建,并连线,和信息显示的例子 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <style type="text/css"> body, html, #allm
用户1149182
2020/06/19
1.9K0
百度地图API-创建多个坐标,连线,信息提示
免费视频直播、点播H5播放器SkeyeWebPlayer 结合百度地图sdk实现电子地图播放功能
免费视频直播、点播H5播放器SkeyeWebPlayer 结合vue-baidu-map百度地图组件实现电子地图播放功能,最终效果如图所示:图片SkeyeWebPlayer播放器如何在vue-baidu-map百度地图组件中结合覆盖物 点(bm-marker)、自定义覆盖物(bm-overlay)等,实现在百度地图上方播放实时视频流,(支持FLV、HLS、RTSP、WS-FLV/WS-RTSP、WEBRTC、HEVC/H265)1、将SkeyeWebPlayer.js文件拷到static目录下SkeyeWe
Openskeye
2023/04/04
3.3K0
这可能是 Vue 接入百度地图的最佳组件了!
欢迎加入前端实验室读者交流群,群里有不少技术大神,不定时会分享一些技术要点,更有一些资源收藏爱好者会分享一些优质的学习资料。吃瓜、摸鱼、白嫖技术就等你了~
程序员老鱼
2022/12/02
6210
Vue使用百度地图
百度地图大家肯定都用过,但是如何将它嵌入到自己的项目当中,经验丰富的小聪明肯定都知道,那我来给各位不知道,想了解的讲解一下
是小张啊喂
2023/02/21
6450
vue项目中遇到的那些事。
  有好几天没更新文章了。这段实际忙着做了一个vue的项目,从 19 天前开始,到今天刚好 20 天,独立完成。
Dawnzhang
2019/03/04
1.3K0
vue项目中遇到的那些事。
相关推荐
地图的折腾
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档