北方工業(yè)大學(xué)網(wǎng)站建設(shè)免費html網(wǎng)站模板
Zabbix 3.0 從入門到精通(zabbix使用詳解)
第1章 zabbix監(jiān)控
1.1 為什么要監(jiān)控
在需要的時刻,提前提醒我們服務(wù)器出問題了
當(dāng)出問題之后,可以找到問題的根源
網(wǎng)站/服務(wù)器 的可用性
1.1.1 網(wǎng)站可用性
在軟件系統(tǒng)的高可靠性(也稱為可用性,英文描述為HA,High Available)里有個衡量其可靠性的標(biāo)準(zhǔn)——X個9,這個X是代表數(shù)字3~5。X個9表示在軟件系統(tǒng)1年時間的使用過程中,系統(tǒng)可以正常使用時間與總時間(1年)之比,我們通過下面的計算來感受下X個9在不同級別的可靠性差異。
1個9:(1-90%)*365=36.5天,表示該軟件系統(tǒng)在連續(xù)運行1年時間里最多可能的業(yè)務(wù)中斷時間是36.5天
2個9:(1-99%)*365=3.65天 , 表示該軟件系統(tǒng)在連續(xù)運行1年時間里最多可能的業(yè)務(wù)中斷時間是3.65天
3個9:(1-99.9%)*365*24=8.76小時,表示該軟件系統(tǒng)在連續(xù)運行1年時間里最多可能的業(yè)務(wù)中斷時間是8.76小時。
4個9:(1-99.99%)*365*24=0.876小時=52.6分鐘,表示該軟件系統(tǒng)在連續(xù)運行1年時間里最多可能的業(yè)務(wù)中斷時間是52.6分鐘。
5個9:(1-99.999%)*365*24*60=5.26分鐘,表示該軟件系統(tǒng)在連續(xù)運行1年時間里最多可能的業(yè)務(wù)中斷時間是5.26分鐘。
6個9:(1-99.9999%)*365*24*60*60=31秒, 示該軟件系統(tǒng)在連續(xù)運行1年時間里最多可能的業(yè)務(wù)中斷時間是31秒
1.2 監(jiān)控什么東西
監(jiān)控一切需要監(jiān)控的東西,只要能夠想到,能夠用命令實現(xiàn)的都能用來監(jiān)控
1.2.1 監(jiān)控范疇
1.3 怎么來監(jiān)控
1.3.1 遠(yuǎn)程管理服務(wù)器
如果想遠(yuǎn)程管理服務(wù)器就有遠(yuǎn)程管理卡,比如Dell idRAC,HP ILO,IBM IMM
1.3.2 監(jiān)控硬件
查看硬件的溫度/風(fēng)扇轉(zhuǎn)速,電腦有魯大師,服務(wù)器就有ipmitool。
使用ipmitool實現(xiàn)對服務(wù)器的命令行遠(yuǎn)程管理
yum -y install OpenIPMI ipmitool #\->IPMI在物理機(jī)可以成功,虛擬機(jī)不行
\[root@KVM ~\]# ipmitool sdr type Temperature
Temp | 01h | ns | 3.1 | Disabled
Temp | 02h | ns | 3.2 | Disabled
Temp | 05h | ns | 10.1 | Disabled
Temp | 06h | ns | 10.2 | Disabled
Ambient Temp | 0Eh | ok | 7.1 | 22 degrees C
Planar Temp | 0Fh | ns | 7.1 | Disabled
IOH THERMTRIP | 5Dh | ns | 7.1 | Disabled
CPU Temp Interf | 76h | ns | 7.1 | Disabled
Temp | 0Ah | ns | 8.1 | Disabled
Temp | 0Bh | ns | 8.1 | Disabled
Temp | 0Ch | ns | 8.1 | Disabled
1.3.3 查看cpu相關(guān)
lscpu
、uptime
、top
、htop vmstat mpstat
其中htop需要安裝,安裝依賴與epel源。
[znix@clsn ~]$lscpu
Architecture: x86\_64
CPU op\-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On\-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Model name: Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz
Stepping: 4
CPU MHz: 2494.150
BogoMIPS: 4988.30
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 1024K
L3 cache: 33792K
NUMA node0 CPU(s): 0
1.3.4 內(nèi)存夠不夠可以用
free
[znix@clsn ~]$free -htotal used free shared buffers cached
Mem: 996M 867M 128M 712K 145M 450M
\-/+ buffers/cache: 271M 725M
Swap: 1.0G 0B 1.0G
1.3.5 磁盤剩多少寫的快不快可以用
df
、dd
、iotop
[znix@clsn ~]$df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 24G 15G 62% /
tmpfs 499M 20K 499M 1% /dev/shm
/dev/vdb1 20G 4.4G 15G 24% /data
1.3.6 監(jiān)控網(wǎng)絡(luò)
iftop
nethogs
iftop
監(jiān)控主機(jī)間流量 -i 指定監(jiān)控網(wǎng)卡
nethogs
監(jiān)控進(jìn)程流量
1.4 監(jiān)控工具總覽
mrtg
流量監(jiān)控出圖
nagios
監(jiān)控
cacti
流量監(jiān)控出圖
zabbix **監(jiān)控+**出圖
1.5 zabbix介紹
Zabbix 是由 Alexei Vladishev 開發(fā)的一種網(wǎng)絡(luò)監(jiān)視、管理系統(tǒng),基于 Server-Client 架構(gòu)??捎糜诒O(jiān)視各種網(wǎng)絡(luò)服務(wù)、服務(wù)器和網(wǎng)絡(luò)機(jī)器等狀態(tài)。
使用各種 Database-end 如 MySQL, PostgreSQL, SQLite, Oracle 或 IBM DB2 儲存資料。Server 端基于 C語言、Web 管理端 frontend 則是基于 PHP 所制作的。Zabbix 可以使用多種方式監(jiān)視??梢灾皇褂?Simple Check 不需要安裝 Client 端,亦可基于 SMTP 或 HTTP … 各種協(xié)定做死活監(jiān)視。
在客戶端如 UNIX, Windows 中安裝 Zabbix Agent 之后,可監(jiān)視 CPU Load、網(wǎng)絡(luò)使用狀況、硬盤容量等各種狀態(tài)。而就算沒有安裝 Agent 在監(jiān)視對象中,Zabbix 也可以經(jīng)由 SNMP、TCP、ICMP、利用 IPMI、SSH、telnet 對目標(biāo)進(jìn)行監(jiān)視。
另外,Zabbix 包含 XMPP 等各種 Item 警示功能。
1.5.1 zabbix的組成
zabbix官網(wǎng): https://www.zabbix.com
zabbix 主要由2部分構(gòu)成 zabbix server和 zabbix agent
zabbix proxy是用來管理其他的agent,作為代理
1.5.2 zabbix監(jiān)控范疇
2 硬件監(jiān)控 :Zabbix IPMI Interface
2 系統(tǒng)監(jiān)控 :Zabbix Agent Interface
2 Java 監(jiān)控:ZabbixJMX Interface
2 網(wǎng)絡(luò)設(shè)備監(jiān)摶:Zabbix SNMP Interface
2 應(yīng)用服務(wù)監(jiān)控:Zabbix Agent UserParameter
2 MySQL 數(shù)據(jù)庫監(jiān)控:percona-monitoring-pldlgins
2 URL監(jiān)控:Zabbix Web監(jiān)控
第2章 安裝zabbix
2.1 環(huán)境檢查
\[root@m01 ~\]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)\[root@m01 ~\]# uname -r
3.10.0-693.el7.x86\_64\[root@m01 ~\]# getenforce
Disabled\[root@m01 ~\]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: inactive (dead)Docs: man:firewalld(1)
2.2 安裝zabbix過程
2.2.1 安裝方式選擇
編譯安裝 (服務(wù)較多,環(huán)境復(fù)雜)
yum安裝(干凈環(huán)境)
使用yum 需要鏡像yum源 http://www.cnblogs.com/clsn/p/7866643.html
2.2.2 服務(wù)端快速安裝腳本
注意:在導(dǎo)入sql文件時,注意文件地址,因版本差異,地址中的版本號會不一樣
#!/bin/bash
#clsn#設(shè)置解析 注意:網(wǎng)絡(luò)條件較好時,可以不用自建yum源
#echo '10.0.0.1 mirrors.aliyuncs.com mirrors.aliyun.com repo.zabbix.com' >> /etc/hosts#安裝zabbix源、aliyun YUM源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl \-o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
rpm \-ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86\_64/zabbix-release-3.0-1.el7.noarch.rpm#安裝zabbix
yum install -y zabbix-server-mysql zabbix-web-mysql#安裝啟動 mariadb數(shù)據(jù)庫
yum install -y mariadb-server
systemctl start mariadb.service#創(chuàng)建數(shù)據(jù)庫
mysql -e 'create database zabbix character set utf8 collate utf8\_bin;'
mysql \-e 'grant all privileges on zabbix.\* to zabbix@localhost identified by "zabbix";'#導(dǎo)入數(shù)據(jù)
zcat /usr/share/doc/zabbix-server-mysql-3.0.13/create.sql.gz|mysql -uzabbix -pzabbix zabbix#配置zabbixserver連接mysql
sed -i.ori '115a DBPassword=zabbix' /etc/zabbix/zabbix\_server.conf#添加時區(qū)
sed -i.ori '18a php\_value date.timezone Asia/Shanghai' /etc/httpd/conf.d/zabbix.conf#解決中文亂碼
yum -y install wqy-microhei-fonts
\\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf#啟動服務(wù)
systemctl start zabbix-server
systemctl start httpd#寫入開機(jī)自啟動
chmod +x /etc/rc.d/rc.local
cat \>>/etc/rc.d/rc.local<<EOF
systemctl start mariadb.service
systemctl start httpd
systemctl start zabbix\-server
EOF#輸出信息
echo "瀏覽器訪問 http://\`hostname -I|awk '{print $1}'\`/zabbix"
2.2.3 客戶端快速部署腳本
#!/bin/bash
#clsn#設(shè)置解析
echo '10.0.0.1 mirrors.aliyuncs.com mirrors.aliyun.com repo.zabbix.com' >> /etc/hosts#安裝zabbix源、aliyu nYUM源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl \-o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
rpm \-ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86\_64/zabbix-release-3.0-1.el7.noarch.rpm#安裝zabbix客戶端
yum install zabbix-agent -y
sed \-i.ori 's#Server=127.0.0.1#Server=172.16.1.61#' /etc/zabbix/zabbix\_agentd.conf
systemctl start zabbix\-agent.service#寫入開機(jī)自啟動
chmod +x /etc/rc.d/rc.local
cat \>>/etc/rc.d/rc.local<<EOF
systemctl start zabbix\-agent.service
EOF
2.3 檢測連通性
2.3.1 服務(wù)端安裝zabbix-get檢測工具
yum install zabbix-get
2.3.2 在服務(wù)端進(jìn)行測試
注意:只能在服務(wù)端進(jìn)行測試
zabbix\_get -s 172.16.1.61 -p 10050 -k "system.cpu.load\[all,avg1\]"
zabbix\_get \-s 172.16.1.21 -p 10050 -k "system.cpu.load\[all,avg1\]"
測試結(jié)果
\[root@m01 ~\]# zabbix\_get -s 172.16.1.61 -p 10050 -k "system.cpu.load\[all,avg1\]"
0.000000\[root@m01 ~\]# zabbix\_get -s 172.16.1.21 -p 10050 -k "system.cpu.load\[all,avg1\]"
0.000000
第3章 web界面操作
3.1 zabbix的web安裝
3.1.1 使用瀏覽器訪問
http://10.0.0.61/zabbix/setup.php
在檢測信息時,可查看具體的報錯信息進(jìn)行不同的解決
選擇mysql數(shù)據(jù)庫,輸入密碼即可
host與port不需要修改,name自定義
確認(rèn)信息,正確點擊下一步
安裝完成、點擊finsh
進(jìn)入登陸界面 賬號Admin
密碼zabbix
,注意A大寫
3.2 添加監(jiān)控信息
3.2.1 修改監(jiān)控管理機(jī)zabbix server
配置 >> 主機(jī)
主機(jī)名稱: 要與主機(jī)名相同,這是zabbix server程序用的
可見名稱: 顯示在zabbix網(wǎng)頁上的,給我們看的
修改后,要將下面的已啟用要勾上
添加完成就有了管理機(jī)的監(jiān)控主機(jī)
3.2.2 添加新的主機(jī)
配置 >> 主機(jī) >> 創(chuàng)建主機(jī)
注意勾選以啟用
然后添加模板,選擇linux OS ,先點小添加,再點大添加。
添加完成,將會又兩條監(jiān)控主機(jī)信息
3.2.3 查看監(jiān)控內(nèi)容
檢測中 >> 最新數(shù)據(jù)
在最新數(shù)據(jù)中需要篩選,
輸入ip或者名字都能夠搜索出來
在下面就會列出所有的監(jiān)控項
3.2.4 查看圖像
檢測中 >> 圖形
選擇正確的主機(jī)。選擇要查看的圖形即可出圖
第4章 自定義監(jiān)控與監(jiān)控報警
4.1 自定義監(jiān)控
4.1.1 說明
zabbix自帶模板Template OS Linux (Template App Zabbix Agent)提供CPU、內(nèi)存、磁盤、網(wǎng)卡等常規(guī)監(jiān)控,只要新加主機(jī)關(guān)聯(lián)此模板,就可自動添加這些監(jiān)控項。
**需求:**服務(wù)器登陸人數(shù)不能超過三人,超過三人報警
4.1.2 預(yù)備知識
自定義key能被server和agent認(rèn)可
正確的key
\[root@m01 ~\]# zabbix\_get -s 172.16.1.21 -p 10050 -k "system.uname"
Linux cache01 3.10.0-693.el7.x86\_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86\_64
沒有登記的,自定義的key
\[root@m01 ~\]# zabbix\_get -s 172.16.1.21 -p 10050 -k "login-user"
ZBX\_NOTSUPPORTED: Unsupported item key.
寫錯的key
\[root@m01 ~\]# zabbix\_get -s 172.16.1.21 -p 10050 -k "system.uname1"
ZBX\_NOTSUPPORTED: Unsupported item key.
4.2 實現(xiàn)自定義監(jiān)控
4.2.1 自定義語法
UserParameter=<key>,<shell command>
UserParameter\=login-user,who|wc -l
UserParameter\=login-user,/bin/sh /server/scripts/login.sh
4.2.2 agent注冊
\[root@cache01 ~\]# cd /etc/zabbix/zabbix\_agentd.d/
\[root@cache01 zabbix\_agentd.d\]# vim userparameter\_login.conf
UserParameter=login-user,who|wc -l
UserParameter\=login-user2,who|wc -l
UserParameter\=login-user3,who|wc -l
注意:key名字要唯一,多個key以行為分割
修改完成后重啟服務(wù)
[root@cache01 zabbix_agentd.d]# systemctl restart zabbix-agent.service
在server端進(jìn)行g(shù)et測試
\[root@m01 ~\]# zabbix\_get -s 172.16.1.21 -p 10050 -k "login-user"
3\[root@m01 ~\]# zabbix\_get -s 172.16.1.21 -p 10050 -k "login-user2"
3\[root@m01 ~\]# zabbix\_get -s 172.16.1.21 -p 10050 -k "login-user3"
3\[root@m01 ~\]# zabbix\_get -s 172.16.1.21 -p 10050 -k "login-user4"
ZBX\_NOTSUPPORTED: Unsupported item key.
4.2.3 在server端注冊(web操作)
① 創(chuàng)建模板
配置 >> 模板 >> 創(chuàng)建模板
點擊添加,即可創(chuàng)建出來模板
查看創(chuàng)建出來的模板?!?/p>
② 創(chuàng)建應(yīng)用集
應(yīng)用集類似(目錄/文件夾),其作用是給監(jiān)控項分類。
點擊 應(yīng)用集 >> 創(chuàng)建應(yīng)用集
自定義應(yīng)用集的名稱,然后點擊添加
③ 創(chuàng)建監(jiān)控項
監(jiān)控項 >> 創(chuàng)建監(jiān)控項
鍵值 – key,即前面出創(chuàng)建的login-user。
注意:創(chuàng)建監(jiān)控項的時候,注意選擇上應(yīng)用集,即之前創(chuàng)建的安全。
④ 創(chuàng)建觸發(fā)器
觸發(fā)器的作用:當(dāng)監(jiān)控項獲取到的值達(dá)到一定條件時就觸發(fā)報警
*(*根據(jù)需求創(chuàng)建)
觸發(fā)器 >> 創(chuàng)建觸發(fā)器
創(chuàng)建觸發(fā)器,自定義名稱,該名稱是報警時顯示的名稱。
表達(dá)式,點擊右邊的添加,選擇表達(dá)式。
嚴(yán)重性自定義。
表達(dá)式的定義 ↓ ,選擇之前創(chuàng)建的監(jiān)控項,
最新的T值為當(dāng)前獲取到的值。
添加完成,能夠在觸發(fā)器中看到添加的情況
⑤ 創(chuàng)建圖形
以圖形的方式展示出來監(jiān)控信息
圖形 >> 創(chuàng)建圖形
名稱自定義,關(guān)聯(lián)上監(jiān)控項。
⑥ 主機(jī)關(guān)聯(lián)模板
配置 >> 主機(jī)
一個主機(jī)可以關(guān)聯(lián)多個模板
4.2.4 查看監(jiān)控的圖形
4.3 監(jiān)控報警
4.3.1 第三方報警平臺
http://www.onealert.com
通過 OneAlert 提供的通知分派與排班策略,以及全方位的短信、微信、QQ、電話提醒服務(wù),您可以在最合適的時間,將最重要的信息推送給最合適的人員。
4.3.2 onealert配置
添加應(yīng)用,注意添加的是zabbix
實現(xiàn)微信報警需要關(guān)注微信公眾號即可。
4.3.3 安裝 onealert Agent
- 切換到zabbix腳本目錄(如何查看zabbix腳本目錄):
cd /usr/local/zabbix-server/share/zabbix/alertscripts#查看zabbix腳本目錄
vi /etc/zabbix/zabbix\_server.conf
查看AlertScriptsPath
- 獲取OneITSM agent包:
wget http://www.onealert.com/agent/release/oneitsm\_zabbix\_release-1.0.1.tar.gz
- 解壓、安裝。
tar -zxf oneitsm\_zabbix\_release-1.0.1.tar.gz
cd oneitsm/bin
bash install.sh \--#個人生成的key
注:在安裝過程中根據(jù)安裝提示,輸入zabbix管理地址、管理員用戶名、密碼。
Zabbix管理地址: http://10.0.0.61/zabbix/
Zabbix管理員賬號: Admin
Zabbix管理員密碼: zabbix
- 當(dāng)提示"安裝成功"時表示安裝成功!
驗證告警集成
產(chǎn)生新的zabbix告警(problem),動作狀態(tài)為“已送達(dá)”表示集成成功。
4.3.1 如何刪除onealert Agent
① 刪除報警媒介類型中的腳本
② 刪除創(chuàng)建的用戶
③ 刪除用戶群組
④ 刪除創(chuàng)建的動作
4.3.2 觸發(fā)器響應(yīng),發(fā)送報警信息
在微信和郵件中,均能收到報警信息。
注意:當(dāng)狀態(tài)改變的時候才會發(fā)郵件
好–>壞
壞–>好
4.4 監(jiān)控可視化
4.4.1 聚合圖形
最新數(shù)據(jù) >> 圖形
自定義名稱
點擊聚合圖形的名稱,進(jìn)行更改,添加要顯示的圖形即可。
4.4.2 幻燈片
添加幻燈片
監(jiān)測中 >> 復(fù)合圖形 >> 幻燈片演示
創(chuàng)建幻燈片,名稱自定,選擇要顯示的
幻燈片根據(jù)設(shè)定的時間自動播放
4.5 模板的共享
4.5.1 主機(jī)共享
在主機(jī)頁打開,全選后點擊導(dǎo)出
導(dǎo)入
4.5.2 模板共享
https://github.com/zhangyao8/zabbix-community-repos
第5章 監(jiān)控全網(wǎng)服務(wù)器
5.1 需求說明
實際需求:
公司已經(jīng)有了100臺服務(wù)器,現(xiàn)在需要使用zabbix全部監(jiān)控起來。
5.2 規(guī)劃方案
常規(guī)監(jiān)控:cpu,內(nèi)存,磁盤,網(wǎng)卡 問題:怎樣快速添加100臺機(jī)器
方法1:使用克隆的方式
方法2:自動注冊和自動發(fā)現(xiàn)
方法3:調(diào)用zabbix api接口 curl 、python
開發(fā)自己的運維平臺兼容zabbix的通道
服務(wù)監(jiān)控,url****監(jiān)控等特殊監(jiān)控:自定義監(jiān)控
5.2.1 api接口使用(curl)
curl -i -X POST -H 'Content-Type:application/json' -d'{"jsonrpc": "2.0","method":"user.login","params":{"user":"Admin","password":"zabbix"},"auth": null,"id":0}' "http://10.0.0.61/zabbix/api\_jsonrpc.php"curl \-i -X POST -H 'Content-Type:application/json' -d'
{"jsonrpc": "2.0","method": "host.get","params": {"output": \["hostid","host"\],"selectInterfaces": \["interfaceid","ip"\]},"id": 2,"auth": "6a450a8fc3dce71fd310cfe338746578"
}' "http://10.0.0.61/zabbix/api\_jsonrpc.php"
5.3 具體實施規(guī)劃
5.3.1 硬件、系統(tǒng)、網(wǎng)絡(luò)監(jiān)控
所有集群節(jié)點(所有虛擬機(jī))都監(jiān)控上
交換機(jī),路由器監(jiān)控(簡單方法:換成端口對應(yīng)服務(wù)器網(wǎng)卡流量監(jiān)控;標(biāo)準(zhǔn)方法:監(jiān)控交換機(jī)的網(wǎng)卡)
snmp監(jiān)控
5.3.2 應(yīng)用服務(wù)監(jiān)控
-
監(jiān)控備份服務(wù)器,簡單方法是監(jiān)控rsync端口,如果有其他更佳方案可以說明;
方法1:監(jiān)控873端口
net.tcp.port[,873]
方法2:模擬推送拉取文件 -
監(jiān)控NFS服務(wù)器,使用監(jiān)控NFS進(jìn)程來判斷NFS服務(wù)器正常,如果有其他更佳方案可以說明;
方法1:端口(通過111的rpc端口獲取nfs端口)
net.tcp.port[,111]
方法2:showmount \-e ip|wc -l
-
監(jiān)控MySQL服務(wù)器,簡單方法監(jiān)控mysql的3306端口,或者使用zabbix提供的Mysql模板,如果有其他更佳方案可以說明;
方法1:端口(通過3306的mysql端口)
net.tcp.port[,3306]
方法2:mysql遠(yuǎn)程登錄
方法3:使用zabbix agent自帶的模板及key -
監(jiān)控2臺web服務(wù)器,簡單方法監(jiān)控80端口,如果有其他更佳方案可以說明;
方法1:端口(通過80的web端口)
net.tcp.port[,80]
方法2:看網(wǎng)頁狀態(tài)碼、返回內(nèi)容==zabbix 自帶WEB檢測 -
監(jiān)控URL地址來更精確的監(jiān)控我們的網(wǎng)站運行正常;
使用zabbix自帶的監(jiān)控Web監(jiān)測 進(jìn)行監(jiān)控
-
監(jiān)控反向代理服務(wù)器,PPTP服務(wù)器等你在期中架構(gòu)部署的服務(wù)。
nginx,pptp
ntp 端口udp 123
-
監(jiān)控Nginx的7種連接狀態(tài)。
自定義監(jiān)控
5.3.3 監(jiān)控服務(wù)通用方法
-
監(jiān)控端口 netstat ss lsof ==》 wc -l
-
監(jiān)控進(jìn)程 ps -ef|grep 進(jìn)程|wc -l 試運行一下
-
模擬客戶端的使用方式監(jiān)控服務(wù)端
web ==》 curl
mysql ==》 select insert
memcache ==》 set再get
5.4 實施全網(wǎng)監(jiān)控
安裝客戶端腳本,for centos6
#!/bin/bash#設(shè)置解析
# echo '10.0.0.1 mirrors.aliyuncs.com mirrors.aliyun.com repo.zabbix.com' >> /etc/hosts#安裝zabbix源、aliyu nYUM源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
curl \-o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
rpm \-ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86\_64/zabbix-release-3.0-1.el6.noarch.rpmyum clean all
yum clean all
#安裝zabbix客戶端
yum install zabbix-agent -y
sed \-i.ori 's#Server=127.0.0.1#Server=172.16.1.61#' /etc/zabbix/zabbix\_agentd.conf
/etc/init.d/zabbix-agent start#寫入開機(jī)自啟動
chmod +x /etc/rc.d/rc.local
cat \>>/etc/rc.d/rc.local<<EOF
/etc/init.d/zabbix-agent start
EOF
5.4.1 使用自動發(fā)現(xiàn)規(guī)則
添加自動發(fā)現(xiàn)規(guī)則
創(chuàng)建發(fā)現(xiàn)動作
查看自動發(fā)現(xiàn)的機(jī)器。
5.4.2 監(jiān)控備份服務(wù)器
利用系統(tǒng)自帶鍵值進(jìn)行監(jiān)控net.tcp.listen[port] 創(chuàng)建新的模板
在服務(wù)端進(jìn)行測試
\[root@m01 ~\]# zabbix\_get -s 172.16.1.41 -p 10050 -k "net.tcp.listen\[873\]"
1
1為端口在監(jiān)聽 0為端口未監(jiān)聽
將模板添加到主機(jī)
5.4.3 監(jiān)控NFS服務(wù)器
創(chuàng)建nfs監(jiān)控模板
使用 proc.num[,,,] 鍵值,檢測nfs進(jìn)程的數(shù)量
在服務(wù)端進(jìn)行測試
\[root@m01 ~\]# zabbix\_get -s 172.16.1.31 -p 10050 -k "proc.num\[,,,rpc\]"
5\[root@m01 ~\]# zabbix\_get -s 172.16.1.31 -p 10050 -k "proc.num\[nfsd,,,\]
8
將模板綁定到主機(jī)
5.4.4 監(jiān)控MySQL服務(wù)器
將自帶的mysqlkey值加上mysql的賬戶密碼,否則不能獲取到數(shù)據(jù)。
使用系統(tǒng)自帶模板 net.tcp.port[,port] 利用自帶的監(jiān)控端口鍵值進(jìn)行監(jiān)控
添加新的mysql監(jiān)控項端口
\[root@m01 ~\]# zabbix\_get -s 172.16.1.51 -p 10050 -k "net.tcp.port\[,3306\]"
1
#檢查是否能建立 TCP 連接到指定端口。返回 0 - 不能連接;1 - 可以連接
將模板關(guān)聯(lián)到主機(jī)
5.4.5 監(jiān)控web服務(wù)器
創(chuàng)建監(jiān)控模板 監(jiān)控 nginx服務(wù)與 80 端口
proc.num\[<name>,<user>,<state>,<cmdline>\] 進(jìn)程數(shù)。返回整數(shù)
net.tcp.port\[<ip>,port\] 檢查是否能建立 TCP 連接到指定端口。返回 0 - 不能連接;1 - 可以連接
\[root@m01 ~\]# zabbix\_get -s 172.16.1.8 -p 10050 -k "proc.num\[,,,nginx\]"
2\[root@m01 ~\]# zabbix\_get -s 172.16.1.8 -p 10050 -k "net.tcp.port\[,80\]"
1
將模板關(guān)聯(lián)到主機(jī)
5.4.6 監(jiān)控URL地址
創(chuàng)建監(jiān)測頁面
echo ok >> /application/nginx/html/www/check.html
測試監(jiān)控面頁
\[root@web03 ~\]# for ip in 7 8 9 ;do curl 10.0.0.$ip/check.html ;done
ok
ok
ok
創(chuàng)建web監(jiān)測模板
創(chuàng)建應(yīng)用集
創(chuàng)建Web**場景
創(chuàng)建圖形
將模板關(guān)聯(lián)到主機(jī)
監(jiān)測結(jié)果
5.4.7 監(jiān)控反向代理服務(wù)器
創(chuàng)建自定義key
\[root@lb01 ~\]# cat /etc/zabbix/zabbix\_agentd.d/userparameter\_nk.conf
UserParameter=keep-ip,ip a |grep 10.0.0.3|wc -l
在服務(wù)端測試
\[root@m01 ~\]# zabbix\_get -s 172.16.1.5 -p 10050 -k "keep-ip"
1\[root@m01 ~\]# zabbix\_get -s 172.16.1.6 -p 10050 -k "keep-ip"
0
在web界面添加模板
將模板關(guān)聯(lián)到主機(jī)
5.4.8 監(jiān)控Nginx的7種連接狀態(tài)
[[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-duExnAHj-1676428691194)(//common.cnblogs.com/images/copycode.gif)]](javascript:void(0); “復(fù)制代碼”)
nginx服務(wù)器顯示status
location /status {stub_status on;access_log off;
}
\[root@web01 ~\]# for ip in 7 8 9 ;do curl 172.16.1.$ip/status ;done
Active connections: 1
server accepts handled requests73 73 69
Reading: 0 Writing: 1 Waiting: 0Active connections: 1
server accepts handled requests134 134 127
Reading: 0 Writing: 1 Waiting: 0Active connections: 1
server accepts handled requests7 7 7
Reading: 0 Writing: 1 Waiting: 0
在nginx服務(wù)器上添加key
cat >/etc/zabbix/zabbix\_agentd.d/userparameter\_nginx\_status.conf <<'EOF'
UserParameter\=nginx\_active,curl -s 127.0.0.1/status|awk '/Active/ {print $NF}'
UserParameter\=nginx\_accepts,curl -s 127.0.0.1/status|awk 'NR==3 {print $1}'
UserParameter\=nginx\_handled,curl -s 127.0.0.1/status|awk 'NR==3 {print $2}'
UserParameter\=nginx\_requests,curl -s 127.0.0.1/status|awk 'NR==3 {print $3}'
UserParameter\=nginx\_reading,curl -s 127.0.0.1/status|awk 'NR==4 {print $2}'
UserParameter\=nginx\_writing,curl -s 127.0.0.1/status|awk 'NR==4 {print $4}'
UserParameter\=nginx\_waiting,curl -s 127.0.0.1/status|awk 'NR==4 {print $6}'
EOF
服務(wù)端測試
\[root@m01 ~\]# zabbix\_get -s 172.16.1.7 -p 10050 -k "nginx\_waiting"
0\[root@m01 ~\]# zabbix\_get -s 172.16.1.8 -p 10050 -k "nginx\_waiting"
0\[root@m01 ~\]# zabbix\_get -s 172.16.1.9 -p 10050 -k "nginx\_waiting"
0
在zabbix-web上添加
監(jiān)控項
添加圖形
將模板關(guān)聯(lián)到主機(jī)
查看添加的圖形
第6章 自動發(fā)現(xiàn)與自動注冊
6.1 自動注冊與自動注冊
6.1.1 簡介
自動發(fā)現(xiàn):
zabbix Server主動發(fā)現(xiàn)所有客戶端,然后將客戶端登記自己的小本本上,缺點zabbix server壓力山大(網(wǎng)段大,客戶端多),時間消耗多。
自動注冊:
zabbix agent主動到zabbix Server上報到,登記;缺點agent有可能找不到Server(配置出錯)
6.1.2 兩種模式
被動模式:默認(rèn) agent被server抓取數(shù)據(jù) (都是在agent的立場上說)
主動模式:agent主動將數(shù)據(jù)發(fā)到server端 (都是在agent的立場上說)
**注意:** **兩種模式都是在agent****上進(jìn)行配置****zabbix** **的使用要在hosts****文件中預(yù)先做好主機(jī)名的解析**
6.2 自動發(fā)現(xiàn)–被動模式
第一個里程碑:完成之前的安裝
zabbix Server安裝完畢
第二個里程碑:配置agent客戶端
zabbix agent安裝完畢,注意配置Server=172.16.1.61
第三個里程碑:在web界面上進(jìn)行配置
web界面:配置 >> 自動發(fā)現(xiàn) >> Local network使用自帶的自動發(fā)現(xiàn)規(guī)則(進(jìn)行修改)即可
在ip范圍內(nèi)輸入ip,注意格式;
延遲在實際的生產(chǎn)環(huán)境中要大一些,實驗環(huán)境可以小一些
創(chuàng)建發(fā)現(xiàn)動作
配置 >> 動作 >> Auto discovery. Linux servers.
① 配置動作
② 在條件中添加條件,讓添加更準(zhǔn)確
③ 在操作中添加
a) 添加主機(jī)與啟用主機(jī)
然后等待者客戶端自動上門就好😏
6.3 自動注冊–主動模式
第一個里程碑:zabbix Server安裝完畢 (完成)
zabbix Server安裝完畢
第二個里程碑:zabbix agent安裝完畢,需要額外增加的配置
vim /etc/zabbix/zabbix\_agentd.conf
ServerActive\=172.16.1.61
# Hostname=Zabbix server
HostnameItem=system.hostnamesystemctl restart zabbix\-agent.service
netstat \-tunlp|grep zabbix
源文件與修改后對比
第三個里程碑:在web見面上進(jìn)行配置
1 配置 >> 動作 >> 事件源(自動注冊) >> 創(chuàng)建動作
創(chuàng)建動作,添加名稱即可
條件中也無需修改
在動作中添加動作
(添加主機(jī)、添加到主機(jī)群組、鏈接到模板)
添加完動作后,等待就行了注意:重啟客戶端可以加速發(fā)現(xiàn)。但是在生產(chǎn)環(huán)境中勿用。
第7章 分布式監(jiān)控與SNMP監(jiān)控
7.1 分布式監(jiān)控
7.1.1 作用
分擔(dān)壓力,減輕負(fù)載
多機(jī)房監(jiān)控
zabbix Server ===》 zabbix agent (只能同一個局域網(wǎng)監(jiān)控)
分擔(dān)壓力,降低負(fù)載
zabbix Server ===》 zabbix proxy ===》zabbix agent1 agent2 agent3 。。。
172.16.1.61 172.16.1.21 172.16.1.0/24
===》 zabbix proxy ===》zabbix agent4 agent5 agent6 。。。
多機(jī)房監(jiān)控
zabbix Server(北京) ==》 zabbix proxy(每個機(jī)房搭建) ==》 zabbix agent
122.71.240.233/172.16.1.61 122.71.241.11/172.16.2.21 172.16.2.0/24
7.1.2 環(huán)境說明
zabbix server m01
zabbix proxy cache01
zabbix agent cache01
7.1.3 配置zabbix proxy
第一個里程碑:配置zabbix yum源,并安裝proxy
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
yum install zabbix-proxy-mysql -y
第二個里程碑:安裝數(shù)據(jù)庫
zabbix proxy也需要數(shù)據(jù)庫,這個數(shù)據(jù)庫不是用于存儲監(jiān)控數(shù)據(jù)的 只是用于存儲配置信息
#安裝數(shù)據(jù)庫
yum -y install mariadb-server
systemctl start mariadb.service
#建立數(shù)據(jù)庫
mysql
create database zabbix\_proxy character set utf8 collate utf8\_bin;
grant all privileges on zabbix\_proxy.\* to zabbix@'localhost' identified by 'zabbix';
exit
#導(dǎo)入數(shù)據(jù)文件
zcat /usr/share/doc/zabbix-proxy-mysql-3.0.13/schema.sql.gz |mysql -uzabbix -pzabbix zabbix\_proxy
#配置zabbix proxy 連接數(shù)據(jù)庫
sed -i.ori '162a DBPassword=zabbix' /etc/zabbix/zabbix\_proxy.conf
sed \-i 's#Server=127.0.0.1#Server=172.16.1.61#' /etc/zabbix/zabbix\_proxy.conf
sed \-i 's#Hostname=Zabbix proxy#Hostname=cache01#' /etc/zabbix/zabbix\_proxy.conf
Hostname 作為后面添加的代理程序名稱,要保持一致
#啟動
systemctl restart zabbix-proxy.service
#檢查端口
\[root@cache01 ~\]# netstat -lntup |grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:\* LISTEN 105762/zabbix\_agent
tcp 0 0 0.0.0.0:10051 0.0.0.0:\* LISTEN 85273/zabbix\_proxy
tcp6 0 0 :::10050 :::\* LISTEN 105762/zabbix\_agent
tcp6 0 0 :::10051 :::\* LISTEN 85273/zabbix\_proxy
**第三個里程碑:**修改agent配置指向 proxy
\[root@cache01 ~\]# grep ^Server /etc/zabbix/zabbix\_agentd.conf
Server=172.16.1.61
ServerActive\=172.16.1.61\[root@cache01 ~\]# sed -i 's#172.16.1.61#172.16.1.21#g' /etc/zabbix/zabbix\_agentd.conf
\[root@cache01 ~\]# grep ^Server /etc/zabbix/zabbix\_agentd.conf
Server=172.16.1.21
ServerActive\=172.16.1.21\[root@cache01 ~\]# systemctl restart zabbix-agent.service
**第四個里程碑:**web界面添加代理
管理 >> agent代理程序 >> 創(chuàng)建代理
代理程序名稱要填寫主機(jī)名
稍等片刻就能在程序中出現(xiàn)代理
在主機(jī)中能發(fā)現(xiàn)主機(jī)代理
7.2 SNMP監(jiān)控
7.2.1 使用范圍
無法安裝agent 很多前輩的監(jiān)控軟件都可以監(jiān)控各種設(shè)備 都是通過snmp監(jiān)控
snmp simple network manager protocol 簡單網(wǎng)絡(luò)管理協(xié)議
簡單網(wǎng)絡(luò)管理協(xié)議(SNMP),由一組網(wǎng)絡(luò)管理的標(biāo)準(zhǔn)組成,包含一個應(yīng)用層協(xié)議(application layer protocol)、數(shù)據(jù)庫模型(database schema)和一組資源對象。該協(xié)議能夠支持網(wǎng)絡(luò)管理系統(tǒng),用以監(jiān)測連接到網(wǎng)絡(luò)上的設(shè)備是否有任何引起管理上關(guān)注的情況。
7.2.2 安裝snmp程序
yum -y install net-snmp net-snmp-utils
7.2.3 配置snmp程序
sed -i.ori '57a view systemview included .1' /etc/snmp/snmpd.conf
systemctl start snmpd.service
7.2.4 測試snmp
\[root@m01 ~\]# snmpwalk -v 2c -c public 127.0.0.1 sysname
SNMPv2-MIB::sysName.0 = STRING: m01
說明:
# snmpwalk 類似 zabbix_get
# -v 2c 指定使用snmp協(xié)議的版本 snmp分為v1 v2 v3
# -c public 指定暗號
# sysname 類似zabbix的key
7.2.5 在web界面進(jìn)行配置
添加新的主機(jī),注意使用snmp接口
選擇模板,注意使用SNMP的模板
添加完成就能夠在主機(jī)中看到snmp監(jiān)控對的主機(jī)
7.2.6 附錄
##SNMP OID列表 監(jiān)控需要用到的OID
http://www.ttlsa.com/monitor/snmp-oid/
cmdb 資源管理系統(tǒng)
轉(zhuǎn)載至:https://www.cnblogs.com/clsn/p/7885990.html