1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > zabbix监控mysq且配置自动发送报警邮件

zabbix监控mysq且配置自动发送报警邮件

时间:2019-12-14 17:01:59

相关推荐

zabbix监控mysq且配置自动发送报警邮件

这里写目录标题

zabbix监控mysq且配置自动发送报警邮件zabbix监控mysql实验环境创建一个目录存放mysql用户的帐号密码将mysql用户密码配置在文件中(安全)安装percona-zabbix将conf文件复制到到/etc/zabbix/zabbix_agentd.d/编辑f然后重启zabbix-server主机上的zabbix-agent测试脚本导入模版:给zabbix-server主机添加导入的模版测试zabbix对mysql的监视配置zabbix自动发送报警邮件具体操作进行测试,我们将server3的agent停掉查看邮件日志

zabbix监控mysq且配置自动发送报警邮件

zabbix监控mysql

实验环境

开启server1的zabbix-server,zabbix-agent,mariadb,httpd

开启server2的httpd和zabbix-agent

开启server3的nginx,zabbix-agent

Server1:

Server2:

Server3:

然后打开浏览器: http://172.25.21.1/zabbix

会发现监控中有警告,这里的zabbix-server,server2,server3都进行了重启

根据颜色来看这个是警告

现在要使用zabbix来监控mysql

这里监控本机的mysql

创建一个目录存放mysql用户的帐号密码

mkdir /var/lib/zabbixcat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

将mysql用户密码配置在文件中(安全)

在这个文件中我们可以看到一些mysql监控的信息:

Mysql默认使用mysqladmin命令来检测mysql是否存活

mysqladmin -uzabbix -predhat -h 127.0.0.1 ping | grep -c alive

只要这个ping返回的alive信息是1,就表示mysql正常,alive为0说明mysql挂了

我们可以通过这个参数来判断mysql否正常,

Mysql的帐号密码写在命令行里不安全,所以要把帐号和密码写到文件(隐藏文件)里面

我们把文件写在刚创建的/var/lib/zabbix目录

cd /var/lib/zabbixvim .f[mysql]host=localhostuser=rootpassword=redhatsocket=/var/lib/mysql/mysql.sock[mysqladmin]host=localhostuser=rootpassword=redhatsocket=/var/lib/mysql/mysql.sock

这时候我们不使用zabbix自带的mysql模版,

因为zabbix自带的mysql模版的信息太少了,

安装percona-zabbix

我们这里采用percona-zabbix模版,这时zabbix的一个外部的脚本模版(其他人二次开发的API)

Zabbix是支持二次开发的API,

rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpmcd /var/lib/zabbix/percona/templates/

先查看一下这个xml文件(就是正常的xml文件格式)

然后看一下这个mysql模版的conf文件内容

将conf文件复制到到/etc/zabbix/zabbix_agentd.d/

可以看到这里190个对于mysql的监控项(这个第三方模版提供了190个监控项)

然后将这个conf文件复制到/etc/zabbix/zabbix_agentd.d/下:

然后进到/var/lib/zabbix/percona/scripts下,

编辑f

我们在这个cnf文件中写一个php页面

<?php$mysql_user = 'root';$mysql_pass = 'redhat';?>

然后重启zabbix-server主机上的zabbix-agent

测试脚本

这时运行脚本获取数据:

我们要获取gk(key),来获取gk的值

/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gk

Key有值的话说明正常

我们可以查看所有的key

这时我们再在浏览器上可以看到没有警告了

导入模版:

选择导入:

我们把模版放在真机桌面

因为使用的是真机的浏览器,所以导入时从真机的文件中找模版;

选择后点击open

选择聚合图形,我们可以多组图形显示;

然后选择导入

导入成功后

就可以在模版中看到我们导入的percona模版:

我们使用Ctrl + f在三页模版中搜索percona

然后在第三页中找到了我们导入的第三方模块:

给zabbix-server主机添加导入的模版

我们选择zabbix-server主机,给我们的zabbix-server主机添加新导入的模版:

测试zabbix对mysql的监视

现在的监控中是没有数据的

我们在mysql中输入一些数据,

mysql -uroot -predhatshow databases;use mysql;show tables;select * from user;

这个监控不可能实时上传数据,

我们需要过好长一会儿才能看到图像;

随便选择一个percona的图像:

我们这里看的是InnoDB Buffer Pool:

配置zabbix自动发送报警邮件

我们运维人员不可能把电脑时时刻刻抱在身边,

如果我们管理的服务器出现了问题,但是我们没有在服务器前,

所以这里就使用zabbix结合QQ邮箱,

如果zabbix监控的服务器出现问题,就给我们发邮件,

在公司中邮件使用的比较多,

各个部门之间,或者跟领导之间发邮件,

具体操作

点击管理–> 报警媒介类型

可以看到这里支持Email和SMS

我们将SMS先禁用,只留一个Email

所以我们就要配置我们的虚拟机上网:

然后我们给server1安装一个邮件mailx软件发邮件

查看邮件服务的端口是否开启:

对mail进行测试:

按Ctrl + d结束

mailq #查看邮件队列中是否有我们刚才发的内容(因为已经发出去了,所以是空的)

我们查看邮件:

可以看到我们这里的域名是root@server1.localdomain

我们等会儿用的是zabbix用户,

所以在QQ邮箱中添加的是zabbix@server1.localdomain

然后进到我们的zabbix监控界面;

点击Email

然后点击配置–>动作

右上角选择触发器:

点击该处使其变为启用

查看

这时我们的zabbix@server1.localdomain邮箱地址就可以在互联网上进行访问了

然后我们设置我们的QQ邮箱:

登陆进QQ邮箱(https加密的)

我使用二维码登陆的(这样就防止了钓鱼网站)

我们来设置白名单

点开如下操作:

在手机上的QQ邮箱设置也可以,

点击右上角的加号 +

然后选择设置

然后选择白名单

然后进到QQ邮箱里面设置(跟上面操作一样);

zabbix@server1.localdomain

Zabbix: 用户

Server1:主机名字

白名单的作用:

只要zabbix-server检测我们添加进白名单主机的后端的服务有问题,

就会给我们发出邮件报警

进行测试,我们将server3的agent停掉

然后可以看到server3主机下线了(变红了)

点击左上角的zabbix标志进行监控:

我们然后我们就可以在监控页面看到报警信息:

如果这里没有发送成功(1.检查网络2.鼠标放在动作下面就会出来出错的具体情况)

如果成功如下:

这时我们再查看我们的邮箱的收键箱

查看邮件日志

在server1上我们可以查看邮件日志

vim /var/log/maillog

可以看到我们给自己的QQ邮箱发送邮件的日志记录

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。