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
至此備份文件檢查監控完成了,許還有一些改進,未完待續!!!