您好,登錄后才能下訂單哦!
要想實時的了解服務器的運行狀況并且能在出現問題時及時解決,利用監控軟件是一個很好的選擇,而zabbix監控系統則在眾多監控軟件中脫穎而出。
zabbix是一個基于web界面的企業級開源監控軟件,Zabbix服務器需要LAMP環境或LNMP環境,提供分布式系統監控與網絡監視功能。具備主機的性能監控,網絡設備性能監控,數據庫性能監控,多種告警方式,詳細報表、圖表的繪制等功能。監測對象可以是Linux或Windows服務器,也可以是路由器、交換機等網絡設備,通過SNMP、zabbix Agent、PING、端口監視等方法提供對遠程網絡服務器等監控、數據收集等功能。
在生產環境中,zabbix根據網絡環境、監控規模等外界因素分為三種架構:server-client(直接連接)、master-node-client(Node架構)、server-proxy-client(proxy架構),如下圖所示:
1、server-client架構:
server-client架構是zabbix最簡單的架構,監控機和被監控機之間不經過任何代理,直接在zabbix server(監控服務器) 和zabbix agent(agent:部署在被監控端,用于采集數據)之間進行數據交互,適用于網絡比較簡單,設備較少的監控環境。
2、master-node-client架構:
master-node-client架構是zabbix最復雜的監控架構,適用于跨網絡、跨機房、設備較多的大型環境。每個node同時也是一個server端,node下面可以接proxy,也可以直接接client。node有自己的配置文件和數據庫,其要做的就是將配置信息和監控數據向master同步。當master宕機后,node可以保證架構的完整性。
3、server-proxy-client架構:
proxy是server、client之間溝通的一個橋梁,proxy本身沒有前端,而且其本身不存放數據,只是將agentd發來的數據暫時存放,而后再提交給server。該架構經常是和master-node-client架構做比較的架構,一般適用于跨機房、跨網絡的中型網絡架構的監控。
Zabbix agent:負責部署在被監控主機上,把被監控主機的數據傳送給zabbix server
Zabbix server:負責接收agent發送的信息,組織配置信息,統計配置信息和操作數據等
Zabbix database: 用于存儲zabbix的所有配置信息,監控數據的數據庫
Zabbix web: zabbix的web界面,管理可以通過zabbix的web界面管理zabbix配置以及查看zabbix的監控信息,可以獨一部署在一臺服務器上
Zabbix proxy:分布式環境中使用,zabbix proxy代表server端管理該區域中的信息收集,最終統一發往zabbix server
agent:通過專用的代理程序進行監控
ssh/Telnet:通過遠程控制協議進行通訊
SNMP:通過SNMP協議與被監控對象進行通訊,路由器和交換機支持SNMP,其實也是一種agent
IPMI:通過IPMI接口進行監控,通過IPMI硬件接口監控,電壓,溫度,風扇,和電源狀態
JMX:通過(java management extensions Java管理擴展)監控JVM虛擬機分布式的監控體系:監控數據被提交給zabbix proxy 再 提交給zabbix server
主動模式:由agent端主動收集信息發送給server端 工具是zabbix_sender
被動模式:由server端主動拉取信息 工具是zabbix_get
監控端:192.168.136.168
被監控端:192.168.136.185
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
vim /etc/httpd/conf/httpd.conf
ServerName www.benet.com
DirectoryIndex index.html index.php
vi /etc/php.ini
date.timezone = PRC //設置中國時區
systemctl stop firewalld.service
setenforce 0
systemctl start httpd.service
systemctl start mariadb.service
netstat -ntap | egrep '(80|3306)'
mysql_secure_installation
vi /var/www/html/index.php
<?php
phpinfo();
?>
http://192.168.175.155/
mysql -u root -p
#為zabbix設置一個數據庫,并且要設置一個用戶去管理它
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all privileges ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123';
flush privileges;
#寫一個測試首頁
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# vim index.php
<?php
phpinfo();
?>
#驗證zabbix能否連接數據庫
<?php
$link=mysql_connect('192.168.136.167','zabbix','admin123');
if($link) echo "<h2>Success!!</h2>";
else echo "Fail!!";
mysql_close();
?>
[root@localhost html]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 5.5.64-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> select user,host from mysql.user; //有空用戶名稱占用導致本地無法登錄遠程可登錄
+--------+-----------------------+
| user | host |
+--------+-----------------------+
| zabbix | % |
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| root | localhost |
| | localhost.localdomain |
+--------+-----------------------+
6 rows in set (0.01 sec)
drop user ''@localhost;
drop user ''@cacti;
flush privileges;
----------------以下開始部署zabbix Server-------
yum install php-bcmath php-mbstring -y
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
zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p zabbix //生成數據庫文件,注意密碼不要輸成root的
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
125:DBPassword=admin123 //修改本行
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
vim /etc/httpd/conf.d/zabbix.conf //修改時區
php_value date.timezone Asia/Shanghai
vim /usr/share/zabbix/include/defines.inc.php //修正圖表中文亂碼
:%s /graphfont/kaiti/g //從微軟系統下復制相應的字體文件到 /usr/share/zabbix/fonts 目錄中注意字體名稱要對應配置文件,且注意大小寫
cp STKAITI.TTF /usr/share/zabbix/fonts/
systemctl enable zabbix-server
systemctl start zabbix-server
netstat -anpt | grep zabbix //監聽在10051端口上
systemctl restart httpd.service
http://192.168.136.168/zabbix/ //安裝后登錄 用戶名Admin 密碼:zabbix
設置中文環境
Administrator-Users-點擊用戶-語言中設置
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
13:PidFile=/var/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
98:Server=192.168.175.155
139:ServerActive=192.168.175.155
150:Hostname=test
268:Include=/etc/zabbix/zabbix_agentd.d/*.conf
service firewalld stop
setenforce 0
systemctl enable zabbix-agent.service
systemctl restart zabbix-agent.service
netstat -anpt | grep zabbix //監聽在10050端口
---------------增加被控主機--在WEB平臺上做-----
配置-主機-創建主機:
主機頁面根據需求配置
模板頁需要鏈接模板,根據需要鏈接相應的模板
0K
--------配置郵件報警功能---服務器上配置---------
yum install mailx
vi /etc/mail.rc //注意網易郵箱需要開啟客戶端授權碼進行第三方登錄
----文件末尾新增---
set from=1960277503@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=1960277503@qq.com
set smtp-auth-password=郵箱密碼
set smtp-auth=login
echo "hello world" | mail -s "testmail" 1960277503@qq.com //測試發信正常
cd /usr/lib/zabbix/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
------
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 13951868284@139.com "主題" "內容" //測試發郵件腳本是否可以正常工作
管理-》報警媒體類型-》創建媒體類型-》
名稱:Mail-Test
類型:腳本
腳本名稱:mailx.sh
腳本參數://新增以下三個參數
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
管理-用戶-點擊Admin-報警媒介:
類型:Mail-Test //調用上面的腳本
收件人:13951868284@139.com
其它默認-保存
配置-》動作-》創建動作-》刪除默認標簽,修改觸發條件
名稱:Mailx
條件 A 主機群組=Linux servers
操作-》如下配置
默認操作步驟持續時間 60
默認接收人 : {TRIGGER.STATUS}:{TRIGGER.NAME}
默認信息:
告警主機:{HOST.NAME}
告警 IP:{HOST.IP}
告警時間:{EVENT.DATE}-{EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
事件 ID:{EVENT.ID}
操作細節:-》
操作類型:發送消息
發送到用戶:Admin (Zabbix Administrator)
僅送到:Mail-Test //一定要配置否則郵件發送不成功
恢復操作:{TRIGGER.STATUS}:{TRIGGER.NAME}
恢復信息:
恢復主機:{HOST.NAME}
恢復 IP:{HOST.IP}
恢復時間:{EVENT.DATE}-{EVENT.TIME}
恢復等級:{TRIGGER.SEVERITY}
恢復信息:{TRIGGER.NAME}:{ITEM.VALUE}
恢復 ID:{EVENT.ID}
操作細節:-》
操作類型:發送消息
發送到用戶:Admin (Zabbix Administrator)
僅送到:Mail-Test //一定要配置否則郵件發送不成功
systemctl restart zabbix-server
systemctl restart zabbix-agent.service
------以下是測試報警-----
可以在被控主機上模擬相關參數超過閾值,如磁盤空間。然后驗證郵件收發。
systemctl stop zabbix-agent.service //在被監控主機上關閉 測試報警郵件接收
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。