通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

怎么用zabbix监控mysql数据库

Zabbix 是一个企业级的、开源的、分布式的监控套件,能够监视各种网络参数,保证服务器系统的安全运营。zabbix监控mysql数据库首先在已安装 Zabbix 的环境中,启动相应的服务。

一、怎么用zabbix监控mysql数据库

Zabbix 是一个企业级的、开源的、分布式的监控套件,能够监视各种网络参数,保证服务器系统的安全运营。

1.在已安装 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 查看。

2. 添加监控脚本

由于 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]”

3. 使 MySQL 自带的监控模板生效

首先新建一个 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。

4.添加自定义的监控项

前面,我们让默认的 MySQL 监控模板生效了,接下来中我们来自定义监控总的连接次数 Connections。

使用 Clone 的方式来完成这一项监控的设置。

任意单击 MySQL 模板中的一个 item,比如我这里选择 MySQL version,然后下拉页面到最底部,点击 Clone 按钮。

最后点击下方的 Add 按钮进行添加。

经过上面的步骤,我们就配置好了 MySQL 的系统监控,大家可以对 MySQL 数据库进行一些操作,然后查看对应的数据和图表是否有相应的变化,也可以在这个基础上继续按照实际的需求修改监控配置。

延伸阅读:

二、什么是数据库

数据库就是英文的“database”翻译来的,data + base,故名思义就是数据的根源,数据的基础。那么为什么要有数据库呢,数据库首先是个计算机软件,在所谓数据库诞生之前,常用方法可能是程序员自己写一个小程序来完成数据处理分析这样的工作。

伴随着计算机的普及,越来越多的场景开始使用计算机,产生了越来越多的数据,也催生了越来越多的数据分析需求。为了降低数据分析的门槛,让更多人能够更方便高效地管理分析数据,工程师们就打造了一种专门的软件来帮助人们对数据进行合理的存储以提高存取效率,提供易用的接口和丰富的分析算法以方便使用,集成有效的管理工具以提高数据安全性等等,这就是数据库,也被称为数据库管理系统(DBMS,Database management system)。

数据库是一整套数据管理体系,包括数据存储的模型、数据组织的架构、数据分析的算法、数据管理的工具以及数据访问的接口等等。

相关文章