Zabbix4.0監控環境搭建實現7x24監控服務

Zabbix是一個高度集成的企業級開源網絡監控解決方案,與Cacti、nagios相似,提供分佈式監控以及集中的web管理界面。zabbix具有常見商業監控軟件所具有的功能,例如主機性能監控,網絡設備性能監控,數據庫性能監控,ftp等通用協議的監控,可以靈活利用可定製警告機制,容許用戶對事件發送基於E-mail的警告,保證相關人員能夠快速解決。還可以利用存儲數據提供傑出的報表及實時的圖形化數據處理,實現對監控主機7x24小時集中監控。 php

Zabbix經過C/S模式採集數據經過B/S模式在web端展現和配置,經過SNMP協議傳輸,而被監控對象只須要支持SNMP協議或者運行Zabbix——agents代理程序便可。服務端監聽端口爲10051,而被監控端即Zabbix——agents代理程序監控10050端口。html

本篇基於centos7.3版本安裝zabbix4.0實現對centos7.3主機的監控管理以及警告機制郵箱發送的搭建。mysql

實驗環境

主機 操做系統 IP地址 主要軟件
zabbix服務端 centos7.3 x86_64 192.168.144.113 zabbix-server4.0
Linux被監控端 centos7.3 x86_64 192.168.144.114 zabbix-agent4.0

Zabbix服務端環境部署

一、部署LAMP環境

  • 因爲zabbix提供集中的web監控管理界面,所以服務在web界面的呈現須要LAMP架構支持。
yum install -y \     //安裝LAMP環境包
httpd \
mariadb-server mariadb \
php \
php-mysql \   //php鏈接mysql模塊
php-gd \
libjpeg* \
php-ldap \
php-odbc \
php-pear \
php-xml \
php-xmlrpc \
php-mhash
  • 編輯配置httpd

vim /etc/httpd/conf/httpd.confios

ServerName www.yun.com

...

DirectoryIndex index.html index.php   //添加首頁支持格式
  • 編輯配置php,配置中國時區

vim /etc/php.iniweb

date.timezone = PRC    //PRC爲中國時區
  • 啓動httpd,mysql

systemctl stop firewalld.service
setenforce 0sql

systemctl start httpd.service
systemctl start mariadb.service數據庫

netstat -ntap | egrep '(80|3306)'vim

  • 啓動msyql後執行初始安全設置。

mysql_secure_installation
mysql -u root -pcentos

CREATE DATABASE zabbix character set utf8 collate utf8_bin;    
GRANT all  ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123';    //建立zabbix數據庫,並設定用戶密碼
flush privileges;
  • 數據庫設置完成,檢測php與數據庫連通狀況

vim /var/www/html/index.php安全

<?php
$link=mysql_connect('192.168.144.113','zabbix','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
mysql_close();
?>

Zabbix4.0監控環境搭建實現7x24監控服務

出現上圖則PHP連通數據庫完成。

  • 爲保證zabbix用戶也能夠登陸數據庫,若出現本地沒法登陸狀況,解決方式以下。
  • 使用root帳戶登陸數據庫。
select user,host from mysql.user;   //有空用戶名稱佔用致使本地沒法登陸遠程可登陸
+--------+-----------+
| user   | host      |
+--------+-----------+
| zabbix | %         |
| root   | 127.0.0.1 |
| root   | ::1       |
|        | cacti     |
| root   | cacti     |
|        | localhost |
| root   | localhost |
+--------+-----------+

drop user ''@localhost;  //刪除空用戶

drop user ''@cacti;

flush privileges;

二、部署Zabbix Server

yum install php-bcmath php-mbstring -y 安裝php支持zabbix組件

rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm //會自動生成yum源文件,保證系統能夠上網
yum install zabbix-server-mysql zabbix-web-mysql -y 安裝zabbix組件

zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p zabbix //生成數據庫文件,注意密碼不要輸成root的

  • 查看、修改zabbix配置文件

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
82:SocketDir=/var/run/zabbix
101:DBName=zabbix        //訪問數據庫名稱
117:DBUser=zabbix        //zabbix訪問數據庫用戶
125:DBPassword=admin123 //配置文件中只需修改本行,zabbix訪問數據庫密碼
347:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
465:Timeout=4
507:AlertScriptsPath=/usr/lib/zabbix/alertscripts
517:ExternalScripts=/usr/lib/zabbix/externalscripts
553:LogSlowQueries=3000
  • 修改zabbix在httpd中的時區

vim /etc/httpd/conf.d/zabbix.conf

php_value date.timezone Asia/Shanghai
  • 爲防止web界面中文亂碼現象,須要將相應字體文件複製,使zabbix識別

cp STKAITI.TTF /usr/share/zabbix/fonts/

  • 使zabbix系統識別字體

vim /usr/share/zabbix/include/defines.inc.php

:%s /graphfont/kaiti/g   //採用全局替換模式
  • zabbix基本配置完成,啓動服務,實現web界面安裝

systemctl enable zabbix-server
systemctl start zabbix-server
netstat -anpt | grep zabbix //監聽在10051端口上
systemctl restart httpd.service

  • web界面安裝訪問。

http://192.168.144.113/zabbix/

web界面安裝流程以下:

Zabbix4.0監控環境搭建實現7x24監控服務
Zabbix4.0監控環境搭建實現7x24監控服務
Zabbix4.0監控環境搭建實現7x24監控服務
Zabbix4.0監控環境搭建實現7x24監控服務
Zabbix4.0監控環境搭建實現7x24監控服務
Zabbix4.0監控環境搭建實現7x24監控服務
Zabbix4.0監控環境搭建實現7x24監控服務
Zabbix4.0監控環境搭建實現7x24監控服務

zabbix被監控端代理設置

  • 安裝zabbix-agent客戶端

rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm

yum install -y zabbix-agent

  • 編輯修改配置文件

grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf
vim /etc/zabbix/zabbix_agentd.conf

13:PidFile=/var/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
98:Server=192.168.144.113         //zabbix服務器地址
139:ServerActive=192.168.144.113   //活躍服務器地址
150:Hostname=test
268:Include=/etc/zabbix/zabbix_agentd.d/*.conf
  • 關閉防火牆,啓動服務

systemctl stop firewalld.service
setenforce 0
systemctl enable zabbix-agent.service
systemctl restart zabbix-agent.service

netstat -anpt | grep zabbix //監聽在10050端口

WEB管理界面添加被管理主機

Zabbix4.0監控環境搭建實現7x24監控服務
Zabbix4.0監控環境搭建實現7x24監控服務
Zabbix4.0監控環境搭建實現7x24監控服務
Zabbix4.0監控環境搭建實現7x24監控服務
Zabbix4.0監控環境搭建實現7x24監控服務

配置郵箱報警功能

一、配置自動郵箱發送

yum install mailx -y
vim /etc/mail.rc 編輯mailx配置文件

set from=377909726@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=377909726@qq.com
set smtp-auth-password=郵箱密碼
set smtp-auth=login

Zabbix4.0監控環境搭建實現7x24監控服務

  • 測試郵箱軟件是否可用

echo "hello world" | mail -s "testmail" 377909726@qq.com //測試發信正常

二、編寫郵件發送腳本

  • 郵件發送觸發腳本必定要寫在zabbix指定的alterscripts目錄下,後面直接指定腳本名稱便可觸發。

vim /usr/lib/zabbix/alertscripts

#!/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

touch /tmp/mailx.log
chown -R zabbix.zabbix /tmp/mailx.log
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/

  • 測試發郵件腳本是否能夠正常工做

./mailx.sh 377909726@qq.com "主題" "內容"

三、配置服務監控自動觸發郵件發送腳本

Zabbix4.0監控環境搭建實現7x24監控服務
Zabbix4.0監控環境搭建實現7x24監控服務
Zabbix4.0監控環境搭建實現7x24監控服務
Zabbix4.0監控環境搭建實現7x24監控服務

Zabbix4.0監控環境搭建實現7x24監控服務
Zabbix4.0監控環境搭建實現7x24監控服務

四、在被監控主機模擬故障

  • 關閉被監控主機的httpd服務,驗證郵箱接收狀況。

Zabbix4.0監控環境搭建實現7x24監控服務

Zabbix4.0監控環境搭建實現7x24監控服務

相關文章
相關標籤/搜索