centos7.5搭建zabbix3.4.x以及mysql定製化監控

 

1、系統環境
cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core)php

關閉防火牆及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 0mysql

2、數據庫安裝及配置
一、MariaDB概述
MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL受權許可。
開發這個分支的緣由是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,所以社區採用分支的方式來避開這個風險。
MariaDB的目的是徹底兼容MySQL,包括API和命令行,使之能輕鬆成爲MySQL的代替品。linux

二、安裝mariadb
yum install mariadb-server mariadb -y
mariadb數據庫的相關命令是:
systemctl start mariadb #啓動MariaDB
systemctl stop mariadb #中止MariaDB
systemctl restart mariadb #重啓MariaDB
systemctl enable mariadb #設置開機啓動web

3、Zabbix3.4安裝及配置sql

一、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 -yshell

二、建立數據庫
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';數據庫

三、導入數據
zcat /usr/share/doc/zabbix-server-mysql-3.4.0/create.sql.gz | mysql -uzabbix -pzabbix zabbixvim

四、配置數據庫用戶及密碼
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=3000centos

五、啓動zabbix server並設置開機啓動
systemctl enable zabbix-server
systemctl start zabbix-server

六、編輯Zabbix前端PHP配置,更改時區
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai

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

八、啓動httpd並設置開機啓動
systemctl start httpd
systemctl enable httpd
4、安裝Zabbix Web
一、瀏覽器訪問,並進行安裝

http://192.168.21.29/zabbix

這裏就先略過了。。。一直下一步

 

5、zabbxi-agent安裝及配置
一、安裝zabbxi-agent
yum install zabbix-agent -y

二、配置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

三、啓動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

 

至此備份文件檢查監控完成了,許還有一些改進,未完待續!!!

相關文章
相關標籤/搜索