文章目录

  • 实验环境:
  • 数据库安装&配置:
  • 系统自带的基础监控项目:
  • 配置自己的mysql监控模版



实验环境:

server1:Zabbix server + zabbix-agent + mariadb【172.25.9.1】
server2:zabbix-agent 【172.25.9.2】
server3:zabbix-agent 【172.25.9.3】
我已经配置好基础的zabbix界面:这里注意将Zabbix server加入到DB mysql模版中。

zabbixproxy的数据库很大 zabbix支持的数据库_mysql

数据库安装&配置:

server1:

yum install -y zabbix-server-mysql mariadb-server zabbix-web-mysql
systemctl start mariadb  #开启数据库
mysql_secure_installation  #安全初始化 
mysql -p   #输入密码登录
CREATE USER zabbix@'%' identified by'redhat';    创建zabbix用户
GRANT all privileges ON zabbix.* TO zabbix@'%' identified by'redhat';   #授权
exit   #退出数据库界面
cd /usr/share/doc/zabbix-server-mysql-4.0.5/ 
zcat create.sql.gz | mysql -p zabbix #输入mariadb设置的密码 
mysql -predhat use zabbix show tables #可以查看到zcat导入进来的表【144个】 
cd /etc/zabbix/ vim zabbix_server.conf #更改DBPassword= 密码【我统一都设置为redhat】 
systemctl restart zabbix-server #开启服务

系统自带的基础监控项目:

事实上,在zabbix的模版中,是自带有mysql的模版的,我们可以直接使用其模版来监控:

1.先给有数据库的Zabbix server主机,添加mysql模版

zabbixproxy的数据库很大 zabbix支持的数据库_zabbix_02


2.在图形中我们可以看到,有图形显示的mysql数据库信息只有两个,非常得少,并且从需求来讲,这不一定是我们想要的。所以,需要去配置自己的监控模版。

zabbixproxy的数据库很大 zabbix支持的数据库_zabbix_03


zabbixproxy的数据库很大 zabbix支持的数据库_zabbixproxy的数据库很大_04

配置自己的mysql监控模版

[root@server1 zabbix_agentd.d]# mkdir /var/lib/zabbix    #需要手动建立
[root@server1 zabbix_agentd.d]# cd /var/lib/zabbix/
[root@server1 zabbix]# ll /etc/my.cnf
-rw-r--r--. 1 root root 570 Sep 21  2016 /etc/my.cnf

[root@server1 zabbix]# vim .my.cnf       #为了保证数据库配置的安全性,我们将该文件设置为隐藏文件
[mysql]
user = zabbix   #ps ax 看到的zabbix_server 的用户就是zabbix,所以不用root
password = westos
socket = /var/lib/mysql/mysql.sock

[mysqladmin]
user = zabbix
password = westos
socket = /var/lib/mysql/mysql.sock

[root@server1 zabbix]# systemctl restart zabbix-agent

这里我们需要获取开源的mysql分析工具,percona:
我用的是percona-zabbix-templates-1.1.8-1.noarch.rpm
有需要的话可以去pkgs或者rpms上找一下

percona官网【打开比较慢,海外网】

rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm  #获取后下载

zabbixproxy的数据库很大 zabbix支持的数据库_zabbix_05


复制percona的监控模版到被监控的服务器也就是server1上的zabbix-agent的相应目录下。

[root@server1 scripts]# cd /var/lib/zabbix/percona/scripts    #percona安装生成的目录
[root@server1 scripts]# ls 
get_mysql_stats_wrapper.sh  ss_get_mysql_stats.php    #捕获数据脚本,有前端页面监控的数据
#ss_get_mysql_stats.php   #存有数据
#get_mysql_stats_wrapper.sh   #可以捕获php文件中的数据
[root@server1 scripts]# cd /var/lib/zabbix/percona/templates    #模版
[root@server1 templates]# ls 
userparameter_percona_mysql.conf  zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
[root@server1 templates]# wc -l userparameter_percona_mysql.conf      #监控项的个数 共190
190 userparameter_percona_mysql.conf
[root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/   复制监控项模版文件到zabbix客户端配置目录下
[root@server1 templates]# systemctl restart zabbix-agent   #重启客户端,使被读取
cd /var/lib/zabbix/percona/scripts   
vim ss_get_mysql_stats.php.cnf   #percona脚本是php写的,所以要有php的支持,将zabbix数据库的用户和密码写入文件中
  <?php
  $mysql_user = 'root';
  $mysql_pass = 'westos';

zabbixproxy的数据库很大 zabbix支持的数据库_zabbixproxy的数据库很大_06


测试percona的监控脚本并且过滤监控项

在/etc/zabbix/zabbix_agentd.d/userparameter_percona_mysql.conf配置文件中,会有调用时对应的变量指定关系。
/tmp/localhost-mysql_cacti_stats.txt 记录所有监控项

/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh 会取得制定变量的值

zabbixproxy的数据库很大 zabbix支持的数据库_监控_07

zabbixproxy的数据库很大 zabbix支持的数据库_mysql_08


现在我们要删除监控项已有的监控项值记录文件,让系统自动去生成。

[root@server1 tmp]# rm -fr localhost-mysql_cacti_stats.txt

zabbixproxy的数据库很大 zabbix支持的数据库_监控_09


以上就完成基础的配置了,其实配置好原有数据库后,只需要我们下载安装percona包,复制一份模版,并给它和数据库直接的联系,最后删除原有的固定监控项值就好了。

剩下的就是在web页面中,导入配置监控模版:

zabbixproxy的数据库很大 zabbix支持的数据库_linux_10


zabbixproxy的数据库很大 zabbix支持的数据库_监控_11

zabbixproxy的数据库很大 zabbix支持的数据库_zabbix_12

导入模版后,链接模版,对应给server1:

zabbixproxy的数据库很大 zabbix支持的数据库_zabbixproxy的数据库很大_13


补充一下,我们导入自定义mysql模版后,就可以删除原有的模版了。这里我没有删除,其实是应该删掉的。


大大的小小阳