Zabbix 是一个企业级的、开源的、分布式的监控套件,能够监视各种网络参数,保证服务器系统的安全运营。zabbix监控mysql数据库首先在已安装 Zabbix 的环境中,启动相应的服务。
Zabbix 是一个企业级的、开源的、分布式的监控套件,能够监视各种网络参数,保证服务器系统的安全运营。
sudo service mysql start
sudo service zabbix-server start
sudo service zabbix-agent start
sudo service apache2 start
然后访问 http://localhost/zabbix就会跳转到首页。
顺序点击屏幕上的 Configuration -> Templates,我们在搜索框中输入 MySQL 先查看一下系统是否存在 MySQL 模板。结果如下所示,可以看到存在一个名为 Template DB MySQL 的模板。
点击 Name 为 Template DB MySQL 的模板查看详情,进入详情页面再点击 Items 查看。
由于 zabbix-agent 没有直接提供对 MySQL 监控的 key,所以我们需要自定义 key 来应用这个模板。
根据前面看到的默认模板,也就是每个 Name 对应的 key,可以把 key 归为以下 3 类:
mysql.status[var]: 这个时候的 key 就取决于其中的参数 mysql.ping mysql.version 我们尝试来编写一个 key 的脚本。
在 MySQL 中可以执行命令 show status 来查看性能参数,然后取出对应的值:
进入 mysql
mysql -uroot
查看性能参数
show status
将这个脚本命名为 monitor_mysql.sh。执行如下命令新建脚本文件:
cd /etc/zabbix
sudo mkdir scripts && cd scripts
sudo touch monitor_mysql.sh
在环境中安装 jq,否则脚本内的变量类型转换语句会无法执行,会导致后面的 items 无法获取到正确的数据类型而报错:
sudo apt-get install jq
然后向 monitor_mysql.sh 文件中写入代码内容。
使用 sudo vim /etc/zabbix/zabbix_agentd.conf 命令修改 zabbix 的配置文件,将其中的两项配置修改为如下所示:
# 配置文件路径
Include=/etc/zabbix/zabbix_agentd.conf.d/
# 允许特殊字符
UnSAFeUserParameters=1
然后在自定义的配置文件路径下面新建 mysql_status.conf 文件:
cd /etc/zabbix
sudo mkdir zabbix_agentd.conf.d && cd zabbix_agentd.conf.d
sudo touch mysql_status.conf
向 mysql_status.conf 文件中写入如下内容,用于定义 key 的名称:
UserParameter=mysql.status[*],/etc/zabbix/scripts/monitor_mysql.sh $1
UserParameter=mysql.ping,/usr/bin/mysqladmin -uzabbix -pzabbix ping|grep alive|wc -l
UserParameter=mysql.version,mysql -V | cut -f6 -d” ” | sed ‘s/,//’
同时在环境中安装 zabbix-get 进程以便 zabbix agent 监控代理采集数据,在终端执行如下命令进行安装:
sudo apt-get install zabbix-get
重启 zabbix-agent:
sudo service zabbix-agent restart
进行测试:
zabbix_get -s 127.0.0.1 -p 10050 -k mysql.version
zabbix_get -s 127.0.0.1 -p 10050 -k mysql.ping
zabbix_get -s 127.0.0.1 -p 10050 -k “mysql.status[Bytes_sent]”
首先新建一个 MySQL host,顺序点击屏幕上的 Configuration -> Hosts -> Create host 进入新建页面。
页面默认自动选择了上方导航栏中的 Host,在 Host name 中填写 MySQL,Groups 中把 Other groups 中的 Templates/Databases 移动到左边的 In groups 中。注意:在 Agent interfaces 中 IP address 默认为 127.0.0.1,Port 也默认为 10050,因为我们检测的是本地进行的测试。
最后点击页面左下方的 Add 保存修改。
再一次点击 Name 为 MySQL 的条目,在屏幕选择 MySQL 条目下的Templates,在 Link new templates 中选择默认的 MySQL 模板 Template DB MySQL 并点击下方的 Add 按钮,效果如下所示:
顺序点击屏幕上的 Configuration -> Templates,选择 Template DB MySQL,在 Template 选项栏的下方,Other | group 中选择 Templates/Databases,看到下方列表栏中出现 MySQL,选择 MySQL 点击向左的箭头,将其移动到 Hosts/templates 中,然后点击左下方的 Update 按钮进行更新:
这个时候我们再查看 Configuration -> Hosts 下的 MySQL 可以看到对应的监控项已经生效:
查看监控的 Items:
同时也可以看到对应的可视化图像,依次点击 Monitoring -> Graphs,在 Host中选择 MySQL,在 Graph 中可以选择 MySQL bandwidth 或是MySQL operations。
前面,我们让默认的 MySQL 监控模板生效了,接下来中我们来自定义监控总的连接次数 Connections。
使用 Clone 的方式来完成这一项监控的设置。
任意单击 MySQL 模板中的一个 item,比如我这里选择 MySQL version,然后下拉页面到最底部,点击 Clone 按钮。
最后点击下方的 Add 按钮进行添加。
经过上面的步骤,我们就配置好了 MySQL 的系统监控,大家可以对 MySQL 数据库进行一些操作,然后查看对应的数据和图表是否有相应的变化,也可以在这个基础上继续按照实际的需求修改监控配置。
延伸阅读:
数据库就是英文的“database”翻译来的,data + base,故名思义就是数据的根源,数据的基础。那么为什么要有数据库呢,数据库首先是个计算机软件,在所谓数据库诞生之前,常用方法可能是程序员自己写一个小程序来完成数据处理分析这样的工作。
伴随着计算机的普及,越来越多的场景开始使用计算机,产生了越来越多的数据,也催生了越来越多的数据分析需求。为了降低数据分析的门槛,让更多人能够更方便高效地管理分析数据,工程师们就打造了一种专门的软件来帮助人们对数据进行合理的存储以提高存取效率,提供易用的接口和丰富的分析算法以方便使用,集成有效的管理工具以提高数据安全性等等,这就是数据库,也被称为数据库管理系统(DBMS,Database management system)。
数据库是一整套数据管理体系,包括数据存储的模型、数据组织的架构、数据分析的算法、数据管理的工具以及数据访问的接口等等。
最后建议,企业在引入信息化系统初期,切记要合理有效地运用好工具,这样一来不仅可以让公司业务高效地运行,还能最大程度保证团队目标的达成。同时还能大幅缩短系统开发和部署的时间成本。特别是有特定需求功能需要定制化的企业,可以采用我们公司自研的企业级低代码平台:织信Informat。 织信平台基于数据模型优先的设计理念,提供大量标准化的组件,内置AI助手、组件设计器、自动化(图形化编程)、脚本、工作流引擎(BPMN2.0)、自定义API、表单设计器、权限、仪表盘等功能,能帮助企业构建高度复杂核心的数字化系统。如ERP、MES、CRM、PLM、SCM、WMS、项目管理、流程管理等多个应用场景,全面助力企业落地国产化/信息化/数字化转型战略目标。 版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们微信:Informat_5 处理,核实后本网站将在24小时内删除。版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系邮箱:hopper@cornerstone365.cn 处理,核实后本网站将在24小时内删除。