19.1 Linux監控平台介紹
常見開源監控軟體
cacti、nagios、zabbix、smokeping、open-falcon等等
cacti、smokeping偏向于基礎監控,成圖非常漂亮
cacti、nagios、zabbix服務端監控中心,需要php環境支援,其中zabbix和cacti都需要mysql作為資料存儲,nagios不用存儲曆史資料,注重服務或者監控項的狀态,zabbix會擷取服務或者監控項目的資料,會把資料記錄到資料庫裡,進而可以成圖
open-falcon為小米公司開發,開源後受到諸多大公司和運維工程師的追捧,适合大企業,滴滴、360、新浪微網誌、京東等大公司在使用這款監控軟體,值得研究
後續以介紹zabbix為主
19.2 zabbix監控介紹
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 用戶端軟體,負責采集各個監控服務或項目的資料,并上報
19.3 安裝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-get zabbix-server-mysql zabbix-web zabbix-web-mysql //會連帶安裝httpd和php 還需要安裝mysql
4. vim /etc/my.cnf //mysql增加配置項
character_set_server = utf8 //設定字元集,不設定zabbix 中文顯示會存在問題
5. 重新開機mysql,建立資料庫zabbix;
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
19.5 忘記Admin密碼如何做
如果忘記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-agent
systemctl start zabbix-agent //啟動服務
檢視zabbix服務狀态(ps、netstat),正常(用戶端zabbix預設監聽10050端口)!
19.7 主動模式和被動模式
•主動或者被動是相對用戶端來講的
• 被動模式,服務端會主動連接配接用戶端擷取監控項目資料,用戶端被動地接受連接配接,并把監控資訊傳遞給服務端
• 主動模式,用戶端會主動把監控資料彙報給服務端,服務端隻負責接收即可。
• 當用戶端數量非常多時,建議使用主動模式,這樣可以降低服務端的壓力。
• 服務端有公網ip,用戶端隻有内網ip,但卻能連外網,這種場景适合主動模式
主動模式和被動模式所針對的對象是用戶端,意思是用戶端主動向服務端上報資料和由服務端到用戶端采集資料。資料的送出時間在監控中心設定。
配置建議
采用主動模式可以減輕伺服器的壓力。
當服務端有公網IP,用戶端隻有内網IP但是可以連接配接外網(使用iptables的nat表規則實作),這種場景适合使用主動模式
19.8 添加監控主機
該配置在服務端的web界面監控中心進行。
配置選項介紹
登入到管理界面後操作如下:
主機群組:在此先建立主機群組,然後再添加要監控的機器到已有群組中。這樣做的好處是,在不同的主機群組設定不同監控規則,然後可以把想要使用同樣規則的主機添加到指定群組進行管理,避免為每台主機去配置規則。
模闆:預設的監控項目集合(監控規則模版)
主機:在監控中的所有機器
開始配置
先建立主機群組,在添加主機
此配置要用戶端主機名稱(在用戶端zabbix配置檔案:/etc/zabbix/zabbix_agentd.conf中的Hostname參數),該名稱要和用戶端配置檔案中的名稱一緻;指定主機群組;指定用戶端IP,如果該IP有對應的域名,則需要添加到“DNS名稱”中,如果沒有可以不填。有需要的話還可以進行模闆、IPMI、宏等配置,配置完成後點選“添加”,跳轉到主機清單
參數解析:
- 應用集:監控項目的集合
- 監控項:所有的監控項目
- 觸發器:監控規則(不填規則顔色不同,會展現在首頁主機狀态中)
- 圖形:根據監控曆史資料繪制的圖示
- 自動發現規則:zabbix自動監控的檔案系統的資訊、網卡資訊(該部分自定義比較繁瑣,是以使用自己動發現規則)
- Web場景:在此可設定對主機上的某個站點進行監控
19.9 添加自定義模闆
在“模闆”中自定義監控規則,然後應用到監控主機中,友善個性化管理。
添加模闆的思路:建立模闆——指定其所屬模闆組(也可以連結到其他模闆)
添加完成點選“監控項目”,選擇要監控的項目,然後“複制”到模闆“lxy”中。配置“自動發現規則” :
此處沒有“複制”選項,那麼該如何将該規則添加到自定義模闆中呢?方法如下:
删除模闆lxy中的所有監控項,然後使用“連結的模闆”,“選擇”要連結到的模闆,然後“添加”,添加完成後點“更新”
更新完成後,所連結的模闆的規則就應用到lxy中,但是在該模闆下不能直接删除監控項目,原因是該項目下所有規則都是連結到template os Linux中的,需要在連結模闆選項下設定“取消連結”——“更新”,然後才能對lxy中的監控項目等選項進行編輯。 說明: 應用集中包含了所有的監控項,是以隻有先删除監控項之後才能删除應用集(應用集清單中監控項數目為0的可以直接删除);觸發器是設定的監控項目對應的規則,不能删;圖形根據需求删選;這樣自動發現規則就添加到自定義模闆中。
19.10 處理圖形中的亂碼
将自定義模版應用到監控主機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 //軟連接配接
19.11 自動發現
更改自動發現規則監控時間間隔: 更改資料更新間隔,重新開機服務端和用戶端zabbix服務,檢視監控效果 在實際應用中時間間隔不要設定太短,一面增加伺服器壓力。更改圖形界面顔色
在模闆——自發現規則——圖形原型中更改
版權聲明:本文為CSDN部落客「weixin_34409741」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/weixin_34409741/article/details/92412225