centos7.5搭建zabbix3.4.x以及mysql定制化监控

 

一、系统环境
cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core)

关闭防火墙及selinux

systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0

二、数据库安装及配置
1、MariaDB概述
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。
开发这个分支的原因是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

2、安装mariadb
yum install mariadb-server mariadb -y
mariadb数据库的相关命令是:
systemctl start mariadb #启动MariaDB
systemctl stop mariadb #停止MariaDB
systemctl restart mariadb #重启MariaDB
systemctl enable mariadb #设置开机启动

三、Zabbix3.4安装及配置

1、Zabbix3.4安装
rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
yum install zabbix-server-mysql zabbix-web-mysql -y

2、创建数据库
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

3、导入数据
zcat /usr/share/doc/zabbix-server-mysql-3.4.0/create.sql.gz | mysql -uzabbix -pzabbix zabbix

4、配置数据库用户及密码
grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf
38:LogFile=/var/log/zabbix/zabbix_server.log
49:LogFileSize=0
72:PidFile=/var/run/zabbix/zabbix_server.pid
99:DBName=zabbix
115:DBUser=zabbix
123:DBPassword=zabbix
314:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
432:Timeout=4
474:AlertScriptsPath=/usr/lib/zabbix/alertscripts
484:ExternalScripts=/usr/lib/zabbix/externalscripts
520:LogSlowQueries=3000

5、启动zabbix server并设置开机启动
systemctl enable zabbix-server
systemctl start zabbix-server

6、编辑Zabbix前端PHP配置,更改时区
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai

7、SELinux配置
setsebool -P httpd_can_connect_zabbix on
setsebool -P httpd_can_network_connect_db on

8、启动httpd并设置开机启动
systemctl start httpd
systemctl enable httpd
四、安装Zabbix Web
1、浏览器访问,并进行安装

http://192.168.21.29/zabbix

这里就先略过了。。。一直下一步

 

五、zabbxi-agent安装及配置
1、安装zabbxi-agent
yum install zabbix-agent -y

2、配置zabbxi-agent
grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf 
13:PidFile=/var/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
97:Server=192.168.21.29
138:ServerActive=192.168.21.29
149:Hostname=Zabbix server
267:Include=/etc/zabbix/zabbix_agentd.d/*.conf

3、启动zabbxi-agent并设置开机启动
systemctl enable zabbix-agent.service
systemctl restart zabbix-agent.service

 

到这里zabbix已经部署完毕!!!

 

接下来是我会根据对mysql的备份是否成功进行监控,我们开始吧!!

 

首先我们对mysql数据库大小进行统计

制定以判断文件大小来编写监控脚本 脚本如下:

#!/bin/bash

file_path=/backup/mysqldata
ZABBIX_SENDER=/usr/bin/zabbix_sender
zabbix_server=192.168.21.29
zabbix_agent=192.168.20.227


DuCheck(){
date=$(date -d "yesterday" +%Y-%m-%d)
file=$file_path/mysql-$date.sql
du=$(cd $file_path && du -sm *|grep mysql-$date.sql|awk {'print $1'})  #统计文件大小
if [[ $du -ge 100 ]] #生产库每天都有新数据产生,备份量会越来越大
then
echo 0
else
${ZABBIX_SENDER} -z ${zabbix_server} -s ${zabbix_agent} -k file.check -o "fail" &> /dev/null
echo 1
exit 1
fi
}


Sender(){
if [ $(DuCheck) -eq 0 ]
then
${ZABBIX_SENDER} -z ${zabbix_server} -s ${zabbix_agent} -k file.check -o "sucess" &> /dev/null
else
return 0
fi
}

[ $# -eq 0 ] && Sender || echo Usage: $0

:wq     保存并退出

在zabbix上需要新建监控模版 监控项 触发器等等

新建模板“File Check”

 

模板中新建监控项“file status check”

 

 

新建触发器

 

 设置返回值如果为fail则触发告警

 

绑定主机

 

查看检查结果

运行shell脚本 查看如下:

 

设置定时任务,这里我就不写了。

 

修改agent的配置文件

view zabbix_agentd.conf

UserParameter=file.check.send,/etc/zabbix/script/file_check.sh

 

重启zabbix-agent服务

systemctl restart zabbix-agent

 

至此备份文件检查监控完成了,许还有一些改进,未完待续!!!

 

posted @ 2019-04-02 15:41  脚踏实地。  阅读(398)  评论(0编辑  收藏  举报