常見開源監控軟件php
cacti、nagios、zabbix、smokeping、open-falcon等等
cacti、smokeping偏向於基礎監控,成圖很是漂亮
cacti、nagios、zabbix服務端監控中心,須要php環境支持,其中zabbix和cacti都須要mysql做爲數據存儲,nagios不用存儲歷史數據,注重服務或者監控項的狀態,zabbix會獲取服務或者監控項目的數據,會把數據記錄到數據庫裏,從而能夠成圖
open-falcon爲小米公司開發,開源後受到諸多大公司和運維工程師的追捧,適合大企業,滴滴、360、新浪微博、京東等大公司在使用這款監控軟件,值得研究
後續以介紹zabbix爲主mysql
C/S架構,基於C++開發,監控中心支持web界面配置和管理
單server節點能夠支持上萬臺客戶端
最新版本3.4,官方文檔https://www.zabbix.com/manuals
5個組件
zabbix-server 監控中心,接收客戶端上報信息,負責配置、統計、操做數據
數據存儲 存放數據,好比mysql
web界面 也叫web UI,在web界面下操做配置是zabbix簡單易用的主要緣由
zabbix-proxy 可選組件,它能夠代替zabbix-server的功能,減輕server的壓力
zabbix-agent 客戶端軟件,負責採集各個監控服務或項目的數據,並上報ios
服務端:web
1. wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpmsql
2. rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm數據庫
3. yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql //會連帶安裝httpd和php 還須要安裝mysqlvim
4. vim /etc/my.cnf //mysql增長配置項windows
character_set_server = utf8 //設置字符集,不設置zabbix 中文顯示會存在問題瀏覽器
5. 重啓mysql,建立數據庫zabbix;bash
create database zabbix character set utf8
6. 建立用戶;
grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by '123456';
7. 導入數據;
cd /usr/share/doc/zabbix-server-mysql-3.2.11/ //數據存放目錄
gzip -d create.sql.gz //解壓文件
mysql -uroot -p123456 zabbix < create.sql //導入數據庫
8. systemctl start zabbix-server //啓動zabbix服務
systemctl start httpd //啓動httpd服務
9. vim /etc/zabbix/zabbix_server.conf //增長或者修改
DBHost=127.0.0.1 //在DBName=zabbix上面增長
DBPassword=123456 //在DBuser下面增長10. 啓動zabbix服務
systemctl start zabbix-server
systemctl enable zabbix-server
11. http://192.168.5.163/zabbix //瀏覽器打開配置zabbix
錯誤: 此處有錯誤提示,意識是PHP沒法識別「data.timezone」(時區)。
vim /etc/php.ini
date.timezone = Asia/Shanghai
systemctl restart httpd.service
12. 用戶名和密碼 admin zabbix
更改密碼、Administration--user
change password 順帶能夠改變語言 點擊 update
若是忘記zabbix(web界面)管理員密碼,可經過zabbix服務器的數據庫進行密碼更改!
1. 進入數據庫 修zabbix數據庫users表
update users set passwd=md5('123456') where alias='Admin';
19.6 客戶端安裝zabbix
1. wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
2. rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
3. yum install -y zabbix-agent //只須要安裝zabbix-angent
4. vim /etc/zabbix/zabbix_agentd.conf //修改以下配置
Server=192.168.5.163
#指定服務端主機IP(設置客戶端的監控主機白名單)
ServerActive=192.168.5.163
#該參數決定監控的主動/被動模式
#若是隻改參數Server,則只能採用被動模式(只能等待服務端來採集信息)
#主動模式:客戶端主動向服務端發送信息Hostname=lxy
#該參數用於設定客戶端主機的名字,用於服務端添加監控服務
#若是服務端所監控的機器和其Hostname不一致,服務端將沒法識別該機器
#由於zabbix是經過IP進行監控的,該參數不會對監控形成太大影響
#加上該參數有利於更好的辨別服務端監控是哪臺主機的狀態
5. systemctl enable zabbix-agentsystemctl start zabbix-agent //啓動服務
查看zabbix服務狀態(ps、netstat),正常(客戶端zabbix默認監聽10050端口)!
•主動或者被動是相對客戶端來說的
• 被動模式,服務端會主動鏈接客戶端獲取監控項目數據,客戶端被動地接受鏈接,並把監控信息傳遞給服務端
• 主動模式,客戶端會主動把監控數據彙報給服務端,服務端只負責接收便可。
• 當客戶端數量很是多時,建議使用主動模式,這樣能夠下降服務端的壓力。
• 服務端有公網ip,客戶端只有內網ip,但卻能連外網,這種場景適合主動模式
主動模式和被動模式所針對的對象是客戶端,意思是客戶端主動向服務端上報數據和由服務端到客戶端採集數據。數據的提交時間在監控中心設置。
配置建議
採用主動模式能夠減輕服務器的壓力。
當服務端有公網IP,客戶端只有內網IP可是能夠鏈接外網(使用iptables的nat表規則實現),這種場景適合使用主動模式
該配置在服務端的web界面監控中心進行。
配置選項介紹
登陸到管理界面後操做以下:
主機羣組:在此先建立主機羣組,而後再添加要監控的機器到已有羣組中。這樣作的好處是,在不一樣的主機羣組設置不一樣監控規則,而後能夠把想要使用一樣規則的主機添加到指定羣組進行管理,避免爲每臺主機去配置規則。
模板:預設的監控項目集合(監控規則模版)
主機:在監控中的全部機器
開始配置
先建立主機羣組,在添加主機
此配置要客戶端主機名稱(在客戶端zabbix配置文件:/etc/zabbix/zabbix_agentd.conf中的Hostname參數),該名稱要和客戶端配置文件中的名稱一致;指定主機羣組;指定客戶端IP,若是該IP有對應的域名,則須要添加到「DNS名稱」中,若是沒有能夠不填。有須要的話還能夠進行模板、IPMI、宏等配置,配置完成後點擊「添加」,跳轉到主機列表
參數解析:
在「模板」中自定義監控規則,而後應用到監控主機中,方便個性化管理。
添加模板的思路:建立模板——指定其所屬模板組(也能夠連接到其餘模板)
添加完成點擊「監控項目」,選擇要監控的項目,而後「複製」到模板「lxy」中。
配置「自動發現規則」 :
此處沒有「複製」選項,那麼該如何將該規則添加到自定義模板中呢?方法以下:
刪除模板lxy中的全部監控項,而後使用「連接的模板」,「選擇」要連接到的模板,而後「添加」,添加完成後點「更新」
更新完成後,所連接的模板的規則就應用到lxy中,可是在該模板下不能直接刪除監控項目,緣由是該項目下全部規則都是連接到template os Linux中的,須要在連接模板選項下設置「取消連接」——「更新」,而後才能對lxy中的監控項目等選項進行編輯。
說明: 應用集中包含了全部的監控項,因此只有先刪除監控項以後才能刪除應用集(應用集列表中監控項數目爲0的能夠直接刪除);觸發器是設定的監控項目對應的規則,不能刪;圖形根據需求刪選;這樣自動發現規則就添加到自定義模板中。
將自定義模版應用到監控主機lxy中
主機——模板——選擇——添加——更新
設置完成後查看圖形——預覽,發現圖形界面下有亂碼:
字符集(已配置,排除該緣由);像圖中這種有規律的「亂碼」不是字符集問題,而是缺乏相應的字庫(中文字庫)。
解決辦法:
編輯服務端配置文件:vim /usr/share/zabbix/include/defines.inc.php #在該文件下搜ZBX_FONTPATH #在參數「define 'ZBX_FONTPATH'」下定義的是相對/usr/share/zabbix/的相對路徑 #相對路徑下是指定的字庫 graphfont.ttf mv /root/SIMLI.TTF /usr/share/zabbix/fonts/ //字體在windows中找,支持中文便可 mv graphfont.ttf graphfont.ttf.bak ; ln -s STKAITI.TTF graphfont.ttf //軟鏈接刷新頁面顯示正常
更改自動發現規則監控時間間隔:
更改數據更新間隔,重啓服務端和客戶端zabbix服務,查看監控效果
在實際應用中時間間隔不要設置過短,一面增長服務器壓力。
更改圖形界面顏色
在模板——自發現規則——圖形原型中更改