zabbix 監控
zabixx
zabbix(音同 zæbix)是一個基於WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。
zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。
zabbix由2部分構成,zabbix server與可選組件zabbix agent。
zabbix server:zabbix的監控服務器,負責接收agent端發送過來的數據,並做處理。端口:10051
zabbix agent:安裝在各個需要監控主機上,負責收集本地數據並發往server端。端口:10050
zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它可以運行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
監控系統具備的四種功能:
采集:根據用戶的要求,周期性的采集數據
存儲:對采集到的各種數據進行預約存儲。
可視化:對采集到的數據,進行可視化。
報警:報警系統,在特定的條件下被觸發(超出合理的區間)
監控數據采集通道
SNMP:Simple Network Management Protocol
ssh/telnet
IPMI:
agent: (master/agent)
zabbix的安裝和監控的配置:
zabbix程序的組件:
zabbix_server:服務端守護進程;
zabbix_agentd:agent守護進程;
zabbix_proxy:代理服務器,可選組件;
zabbix_get:命令行工具,手動測試向agent發起數據采集請求;
zabbix_sender:命令行工具,運行於agent端,手動向server端發送數據;
zabbix_java_gateway: java網關;
zabbix_database:MySQL或PostgreSQL;
zabbix_web:Web GUI
端口號:10051
https://www.zabbix.com/download (官方下載安裝地址)
1 .首先部署zabbix-server端:(在yum倉庫里添加zabbix的庫,可從阿里雲上去查找)
wget https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm(下載包)
yum install zabbix-release-3.4-2.el7.noarch.rpm (安裝下載下來的包)
裝上上述這個包之后在/etc/yum.repos.d/下會生成一個zabbix.repo的文件,只有有了此文件,下面的包才可以安裝成功。
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent (安裝程序包)
yum install mariadb-server httpd(安裝數據庫)
進入數據庫:
mysql> create database zabbix character set utf8 collate utf8_bin; (創建數據庫zabbix)
mysql> grant all privileges on zabbix.* to zabbix@’192.168.60.%’ identified by ‘centos’;(創建並授權zabbix用戶登陸本機的數據庫,因為,數據庫和zabbix程序放在一起,所以使用localhost代替本機的IP地址,如果數據庫需要單獨放,則需要指定zabbix程序所在主機服務器的IP地址)
mysql> quit;
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix (執行此步操作)
mysql -uzabbix -hlocalhost -pcentos (現在已經可以連接到數據庫了;進去之后可以查看到生成的zabbixs數據庫里的內容了)
/etc/zabbix/zabbix_server.conf (修改配置文件)
DBName=zabbix (數據庫的名字)
DBHost=172.20.107.26(數據庫的地址)
DBPassword=centos (登陸數據庫的密碼)
vim /etc/httpd/conf.d/zabbix.conf (修改配置文件)
php_value date.timezone Asia/Shanghai (修改時區)
systemctl start zabbix-server (啟動zabbix服務)
systemctl start httpd (啟動服務)
http://172.20.107.26/zabbix/(在瀏覽器上訪問此路徑並安裝zabbix;此IP地址為zabbix主服務的IP地址)
點擊下一步進入以下界面:
如果需要更改不需要重新安裝,只要去修改上面的配置文件就可以了
切換中文版:
updata 應用即可。
實驗:手動添加一台主機並監控
rpm -ivh zabbix-agent-3.4.11-1.el7.x86_64.rpm
rpm -ivh zabbix-sender-3.4.11-1.el7.x86_64.rpm
(安裝上述兩個包;上述兩個包可在阿里雲上下載下來)
vim /etc/zabbix/zabbix_agentd.conf (修改配置文件)
Server=172.20.107.26(更改為 zabbix-server服務器的地址)97行
ServerActive=172.20.107.26 (更改為 zabbix-server服務器的地址)138行
Hostname=nod01 (設定本機的主機名)149行
systemctl start zabbix-agent (啟動服務)
ss -nult (查看端口號;10050)
然后再瀏覽器上的zabbix的主界面里添加剛才的主機:
1、添加新組
2、添加新主機
3、創建新的應用級
4、創建一個監控項
也可以點擊下面的 cancel 按鈕,快速添加新的監控項
5、點擊添加即可 ,我們來看看 我們添加的監控
6、添加一個觸發器 (一個監控項可定義多個觸發器來響應不同級別的警告)
現在可以查看 添加的 觸發器了
實驗:實現nginx的簡單的監控和報警后的觸發操作
在從被監測的主機上安裝nginx服務,並添加新的監控項,定義新的觸發器,並且定義action在觸發器報警后做相應的處理。
在被檢測的服務器上:yum install nginx -y;(裝包)nginx (啟動服務)
創建一個新的監控項在nod01上:
點擊select 選擇表達式
在監測—>最新數據—->nod01可以看到nginx監控現在處於正常狀態。
當 停掉 nginx 服務的時候 (nginx -s stop) 狀態為 down
那么如何解決 down 狀態呢?
我們就需要創建一個動作(action)來解決;思路(讓它遠程自動重啟服務,如果還是失敗則發送報警信息)
為了測試 我們需要在被監控服務器上 將 zabbix提升為管理員(只為測試使用,生產環境中慎用)
我還需要更改 sudo 的一些配置文件 , 讓每次遠程執行免密登錄
執行命令ivisudo 第24行
還需要在被監測的服務器上:
vim /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1 (允許agent在本機執行命令)74行
systemctl restart zabbix-agent (重啟服務讓修改的agent配置文件生效)
最后手動將被監測的nginx服務停掉,查看是否能夠自己修復。(如果有問題查自定義腳本是否寫錯)
實驗:自定義媒介 在出現報警時 以郵件的方式發送報警郵件
在本機zabbix-server服務器上安裝郵件包;yum install mailx
管理——>報警媒介類型 ;創建一個報警媒介
點擊添加即可。由於是本機的郵件服務,所以只能在本機的用戶之間發送。
在次:管理—->用戶—->admin
接着 添加nginx 觸發報警的第二部操作
現在就可以實現 當 nginx 執行動作里的 腳本沒有將nginx 重新啟動起來 就會執行第二部操作,將以郵件的 方式發給用戶
實驗:創建圖形來顯示數據信息
1、在我們創建的主機界面 , 點擊 Graphs (圖形)按鈕
2、 創建圖形 , 編輯 你想要在屏幕上顯示的數據內容
3、定義好以后, 我們在屏幕上添加多個圖形
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。