文章目录
- 实验环境:
- 数据库安装&配置:
- 系统自带的基础监控项目:
- 配置自己的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模版中。
数据库安装&配置:
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模版
2.在图形中我们可以看到,有图形显示的mysql数据库信息只有两个,非常得少,并且从需求来讲,这不一定是我们想要的。所以,需要去配置自己的监控模版。
配置自己的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上找一下
rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm #获取后下载
复制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';
测试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 会取得制定变量的值
现在我们要删除监控项已有的监控项值记录文件,让系统自动去生成。
[root@server1 tmp]# rm -fr localhost-mysql_cacti_stats.txt
以上就完成基础的配置了,其实配置好原有数据库后,只需要我们下载安装percona包,复制一份模版,并给它和数据库直接的联系,最后删除原有的固定监控项值就好了。
剩下的就是在web页面中,导入配置监控模版:
导入模版后,链接模版,对应给server1:
补充一下,我们导入自定义mysql模版后,就可以删除原有的模版了。这里我没有删除,其实是应该删掉的。
大大的小小阳