Zabbix 3.0 從入門到精通(zabbix使用詳解) 轉

作者:慘綠少年 
出處:http://clsn.io 
本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。 

第1章 zabbix監控

1.1 爲什麼要監控

     在需要的時刻,提前提醒我們服務器出問題了

     當出問題之後,可以找到問題的根源

     網站/服務器 的可用性

1.1.1 網站可用性

  在軟件系統的高可靠性(也稱爲可用性,英文描述爲HA,High Available)裏有個衡量其可靠性的標準——X個9,這個X是代表數字3~5。X個9表示在軟件系統1年時間的使用過程中,系統可以正常使用時間與總時間(1年)之比,我們通過下面的計算來感受下X個9在不同級別的可靠性差異。

1個9:(1-90%)*365=36.5天,表示該軟件系統在連續運行1年時間裏最多可能的業務中斷時間是36.5天
    2個9:(1-99%)*365=3.65天 , 表示該軟件系統在連續運行1年時間裏最多可能的業務中斷時間是3.65天
    3個9:(1-99.9%)*365*24=8.76小時,表示該軟件系統在連續運行1年時間裏最多可能的業務中斷時間是8.76小時。
    4個9:(1-99.99%)*365*24=0.876小時=52.6分鐘,表示該軟件系統在連續運行1年時間裏最多可能的業務中斷時間是52.6分鐘。
    5個9:(1-99.999%)*365*24*60=5.26分鐘,表示該軟件系統在連續運行1年時間裏最多可能的業務中斷時間是5.26分鐘。
    6個9:(1-99.9999%)*365*24*60*60=31秒, 示該軟件系統在連續運行1年時間裏最多可能的業務中斷時間是31秒

1.2 監控什麼東西

監控一切需要監控的東西,只要能夠想到,能夠用命令實現的都能用來監控

1.2.1 監控範疇

1.3 怎麼來監控

1.3.1 遠程管理服務器

如果想遠程管理服務器就有遠程管理卡,比如Dell idRAC,HP ILO,IBM IMM

1.3.2 監控硬件

查看硬件的溫度/風扇轉速,電腦有魯大師,服務器就有ipmitool。

使用ipmitool實現對服務器的命令行遠程管理

yum -y install OpenIPMI ipmitool  #->IPMI在物理機可以成功,虛擬機不行

[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相關

  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 內存夠不夠可以用

  free

[znix@clsn ~]$free -h
             total       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 監控網絡

  iftop nethogs

iftop   監控主機間流量  -i 指定監控網卡
nethogs 監控進程流量

1.4 監控工具總覽

  mrtg 流量監控出圖

  nagios 監控

  cacti  流量監控出圖

  zabbix 監控+出圖

1.5 zabbix介紹

  Zabbix 是由 Alexei Vladishev 開發的一種網絡監視、管理系統,基於 Server-Client 架構。可用於監視各種網絡服務、服務器和網絡機器等狀態。

  使用各種 Database-end 如 MySQL, PostgreSQL, SQLite, Oracle 或 IBM DB2 儲存資料。Server 端基於 C語言、Web 管理端 frontend 則是基於 PHP 所製作的。Zabbix 可以使用多種方式監視。可以只使用 Simple Check 不需要安裝 Client 端,亦可基於 SMTP 或 HTTP ... 各種協定做死活監視。

  在客戶端如 UNIX, Windows 中安裝 Zabbix Agent 之後,可監視 CPU Load、網絡使用狀況、硬盤容量等各種狀態。而就算沒有安裝 Agent 在監視對象中,Zabbix 也可以經由 SNMP、TCP、ICMP、利用 IPMI、SSH、telnet 對目標進行監視。

另外,Zabbix 包含 XMPP 等各種 Item 警示功能。

1.5.1 zabbix的組成

 

zabbix官網: https://www.zabbix.com

zabbix 主要由2部分構成 zabbix server和 zabbix agent

zabbix proxy是用來管理其他的agent,作爲代理

1.5.2 zabbix監控範疇

  ²  硬件監控 :Zabbix IPMI Interface

  ²  系統監控 :Zabbix Agent Interface

  ²  Java 監控:ZabbixJMX Interface

  ²  網絡設備監摶:Zabbix SNMP Interface

  ²  應用服務監控:Zabbix Agent UserParameter

  ²  MySQL 數據庫監控:percona-monitoring-pldlgins

  ²  URL監控:Zabbix Web監控

第2章 安裝zabbix

2.1 環境檢查

[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 daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

2.2 安裝zabbix過程

2.2.1 安裝方式選擇

  編譯安裝 (服務較多,環境複雜)

  yum安裝(乾淨環境)

  使用yum 需要鏡像yum源 http://www.cnblogs.com/clsn/p/7866643.html

2.2.2 服務端快速安裝腳本

#!/bin/bash
#clsn

#設置解析 注意:網絡條件較好時,可以不用自建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/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

#安裝zabbix 
yum install -y zabbix-server-mysql zabbix-web-mysql

#安裝啓動 mariadb數據庫
yum install -y  mariadb-server
systemctl start mariadb.service

#創建數據庫
mysql -e 'create database zabbix character set utf8 collate utf8_bin;'
mysql -e 'grant all privileges on zabbix.* to zabbix@localhost identified by "zabbix";'

#導入數據
zcat /usr/share/doc/zabbix-server-mysql-4.0.1/create.sql.gz|mysql -uzabbix -pzabbix zabbix

#配置zabbixserver連接mysql
sed -i.ori '115a DBPassword=zabbix' /etc/zabbix/zabbix_server.conf

#添加時區
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

#啓動服務
systemctl start zabbix-server
systemctl start httpd

#寫入開機自啓動
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

#設置解析
#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/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

#安裝zabbix客戶端  server爲服務端的ip
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

#寫入開機自啓動
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
systemctl start  zabbix-agent.service
EOF

手動修改

#zabbix_agentd.conf內修改ServerIP,後面填入自己之前建的Server外部IP

Server=<Server外部IP>

啟動agent

systemctl restart zabbix-agent
systemctl enable zabbix-agent

 

2.3 檢測連通性

2.3.1 服務端安裝zabbix-get檢測工具

yum install zabbix-get

2.3.2 在服務端進行測試

注意:只能在服務端進行測試

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]"

測試結果

[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

   在檢測信息時,可查看具體的報錯信息進行不同的解決

 

   選擇mysql數據庫,輸入密碼即可

 

   host與port不需要修改,name自定義

 

確認信息,正確點擊下一步

 

   安裝完成、點擊finsh

 

      進入登陸界面  賬號Admin密碼zabbix   注意A大寫

 

3.2 添加監控信息

3.2.1 修改監控管理機zabbix server

配置 >> 主機

 

主機名稱: 要與主機名相同,這是zabbix server程序用的

可見名稱: 顯示在zabbix網頁上的,給我們看的

 

   修改後,要將下面的已啓用要勾上

 

   添加完成就有了管理機的監控主機

 

3.2.2 添加新的主機

配置 >> 主機 >> 創建主機

 

注意勾選以啓用

 

   然後添加模板,選擇linux OS ,先點小添加,再點大添加。

 

   添加完成,將會又兩條監控主機信息

 

3.2.3 查看監控內容

檢測中  >> 最新數據

   在最新數據中需要篩選,

 

   輸入ip或者名字都能夠搜索出來

 

在下面就會列出所有的監控項

 

3.2.4 查看圖像

檢測中 >> 圖形

   選擇正確的主機。選擇要查看的圖形即可出圖

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章