Linux監控篇—Centos7.4下構建zabbix監測系統
目錄
第一部分 實驗環境
第二部分 配置服務器端
第三部分 配置被控端(被監控服務器)
第四部分 配置郵件報警功能
第五部分 測試驗證郵件報警
第一部分 實驗環境
- Linux服務端一臺
IP地址:192.168.80.10
需要軟件:php-bcmath-5.4.16-42.el7.x86_64
php-mbstring-5.4.16-42.el7.x86_64
註意:需要公網環境(可以上外網),網上下載最新版本的zabbix服務
從微軟客戶端下載字體(楷體)到本機
- Linux客戶端一臺
IP地址:192.168.80.20
註意:客戶端也需要能夠上外網,可以下載zabbix-agent服務 - Win7客戶端一臺(測試用)
IP地址:192.168.80.2
第二部分 配置服務器端
第一步:RPM搭建LAMP架構(本地yum倉庫)
[root@server ~]# yum install -y \
httpd \
mariadb-server mariadb \
php \
php-mysql \
php-gd \
libjpeg \
php-ldap \
php-odbc \
php-pear \
php-xml \
php-xmlrpc \
php-mhash
[root@server ~]# vi /etc/httpd/conf/httpd.conf //編輯apache配置文件
ServerName server //#號去掉,更改主機名DirectoryIndex index.html index.php //添加index.php
保存退出
[root@server ~]# vi /etc/php.ini 編輯Php配置文件
date.timezone = PRC //修改時區,去掉“;”註釋
保存退出
[root@server ~]# systemctl stop firewalld
[root@server ~]# setenforce 0
[root@server ~]# systemctl start httpd.service
[root@server ~]# systemctl start mariadb.service[root@server ~]# netstat -anpt | grep 80
[root@server ~]# netstat -anpt | grep 3306
[root@server ~]# mysql_secure_installation //初始化數據庫配置
創建root帳戶登錄密碼
移除匿名用戶
允許root用戶遠程登錄
移除測試數據庫
重新加載
[root@server ~]# vi /var/www/html/index.php
<?php
phpinfo();
?>
保存退出
Win7訪問http://192.168.80.10
[root@server ~]# mysql -u root –p //root用戶登錄數據庫進行配置
CREATE DATABASE zabbix character set utf8 collate utf8_bin; //創建zabbix數據庫
GRANT all ON zabbix. TO ‘zabbix‘@‘%‘ IDENTIFIED BY ‘admin123‘; //給zabbix用戶授權管理zabbix數據庫
flush privileges; //刷新權限
[root@server ~]# vi /var/www/html/index.php
<?php
$link=mysql_connect(‘192.168.80.10‘,‘zabbix‘,‘admin123‘);
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
mysql_close();
?>
保存退出
Win7訪問http://192.168.80.10
第二步:部署zabbix服務
[root@server ~]# rpm -ivh php-mbstring-5.4.16-42.el7.x86_64.rpm
[root@server ~]# rpm -ivh php-bcmath-5.4.16-42.el7.x86_64.rpm
[root@server ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm //網上下載最新版本的zabbix源(自動生成Yum源)
[root@server ~]# yum install zabbix-server-mysql zabbix-web-mysql –y //安裝zabbix服務及插件
[root@server ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p zabbix //生成數據庫文件,註意密碼不要輸成root的(admin123)
[root@server ~]# vi /etc/zabbix/zabbix_server.conf //編輯配置文件
保存退出
[root@server ~]# grep -n ‘^‘[a-Z] /etc/zabbix/zabbix_server.conf //過濾查看配置文件
[root@server ~]# vi /etc/httpd/conf.d/zabbix.conf //修改時區
保存退出
[root@server ~]# cp stkaiti.ttf /usr/share/zabbix/fonts/
[root@server ~]# vi /usr/share/zabbix/include/defines.inc.php //修正圖表中文亂碼的問題
:%s /graphfont/kaiti/g //全部替換成楷體
保存退出
[root@server ~]# systemctl enable zabbix-server //設置zabbix開機啟動
[root@server ~]# systemctl start zabbix-server //啟動zabbix服務
[root@server ~]# netstat -anpt | grep zabbix
[root@server ~]# systemctl restart httpd //重啟apache服務
Win7訪問http://192.168.80.10/zabbix/
設置中文環境:Administrator-Users-點擊用戶-語言中設置
更新後,重新打開網頁
第三部分 配置客戶端(被控服務器)
第一步:安裝配置zabbix-agent
註意:如果服務器也需要被自己監控也需要安裝zabbix-agent
[root@client ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm
[root@client ~]# yum install -y zabbix-agent
[root@client ~]# vi /etc/zabbix/zabbix_agentd.conf //編輯配置文件
修改以下內容:
Server=192.168.80.10
ServerActive=192.168.80.10
Hostname=client
保存退出
[root@client ~]# grep -n ‘^‘[a-Z] /etc/zabbix/zabbix_agentd.conf
[root@client ~]# service firewalld stop
[root@client ~]# setenforce 0
[root@client ~]# systemctl enable zabbix-agent
[root@client ~]# systemctl restart zabbix-agent
[root@client ~]# netstat -anpt | grep zabbix
第二步:增加被控主機—web平臺上操作
保存添加
監控http、ssh,linux本身系統性能,添加後更新
已成功添加
第四部分 配置郵件報警功能
註意:網易郵箱需要開啟客戶端授權碼進行第三方登錄
授權碼設置為:abc123
第一步:服務端配置
//安裝mailx,並配置
[root@server ~]# yum install –y mailx
[root@server ~]# vi /etc/mail.rc
最後添加以下內容:
set [email protected]
set smtp=smtp.163.com
set [email protected]
set smtp-auth-password=abc123
set smtp-auth=login
保存退出
[root@server ~]# echo "tttttttt" | mail -s "testmail" [email protected] //測試正常發信
查看郵箱:
測試正常
[root@server ~]# cd /usr/lib/zabbix/alertscripts/
[root@server alertscripts]# vi mailx.sh //編寫發郵件腳本
#!/bin/bash
#send mail
messages=echo $3 | tr ‘\r\n‘ ‘\n‘
subject=echo $2 | tr ‘\r\n‘ ‘\n‘
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
保存退出
[root@server alertscripts]# touch /tmp/mailx.log
[root@server alertscripts]# chown -R zabbix.zabbix /tmp/mailx.log
[root@server alertscripts]# chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
[root@server alertscripts]# chown -R zabbix.zabbix /usr/lib/zabbix/
[root@server alertscripts]# ./mailx.sh [email protected] "主題" "內容" //測試發郵件腳本是否可以正常工作
查看郵箱:
測試成功
第二步:web頁面配置
- 管理—報警媒體類型—創建媒體類型
名稱:Mail-Test
類型:腳本
腳本名稱:mailx.sh
腳本參數://新增以下三個參數
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
- 管理-用戶-點擊Admin-報警媒介
- 配置—動作—創建動作—刪除默認標簽,修改觸發條件
(1)動作
(2)操作
(3)恢復操作
第五部分 測試驗證郵件報警
一:服務器與客戶端重啟zabbix服務
[root@server alertscripts]# systemctl restart zabbix-server
[root@client ~]# systemctl restart zabbix-agent.service
二:被控端安裝http服務,打開sshd服務
[root@client ~]# yum install -y httpd
[root@client ~]# vi /etc/httpd/conf/httpd.conf
ServerName client
保存退出
[root@client ~]# echo "<h1>This is test</h1>" > /var/www/html/index.html
[root@client ~]# systemctl start httpd
[root@client ~]# netstat -anpt | grep httpd
瀏覽器訪問http://192.168.80.20
[root@client ~]# systemctl start sshd
三:測試郵件報警
- 模擬根分區使用率超過80%,測試郵件報警
//zabbix默認磁盤分區使用率超過80%會自動報警,因此不用作任何配置
[root@client ~]# df -hT
[root@client ~]# dd if=/dev/zero of=test bs=100M count=70
//查看郵箱
- 模擬關閉http、ssh服務
[root@client ~]# systemctl stop httpd
[root@client ~]# systemctl stop sshd
//查看郵箱
//測試成功
Linux監控篇—Centos7.4下構建zabbix監測系統