第十七周作業

SNMP 簡單網絡管理協議

SNMP是由互聯網小組(IETF)定義的協議能夠其中包含支持網絡管理系統(管理軟件、硬件和網絡)被監管端則裝有(agent)代理者的軟件元件以便將機器的信息通知至服務端。

常見的監控系統:

有cacti:(封裝了SNMP將獲取數據存儲在RRD數據庫)、nagios:(僅提供采樣、報警)、zabbix:(采樣、報警、顯示、存儲)而相比較zabbix將所有服務合并在一起。

zabbix

是一款企業級的監控解決方案,能夠對硬件、軟件、網絡及業務健康狀態進行檢測,能夠根據設置實現通過郵件報警、存儲系統運行狀態已日志的形式保存。

zabbix特性:

  1. 數據采集
  2.  實施監控
  3. 歷史數據存儲
  4. 閾值、觸發器
  5. 套用模板
  6. 函數定義
  7. 網絡發現
  8. 報警升級
  9. web控制臺
  10. agent客戶端采集數據
  11. proxy分布式遠程監控

zabbix的組件:

  1. zabbix-server-mysql  主程序
  2. zabbix-agent  客戶端
  3. zabbix-get  命令采集客戶端數據
  4. zabbix-database  數據庫
  5. zabbix-web web管理程序
  6. zabbix-sender 命令行想server端發送數據
  7. zabbix-proxy 分布式監控組件
  8. zabbix-java-gateway java網關

 

通過實例來了解zabbix是怎樣工作的

首先是準備安裝環境:

系統版本:CentOS 7

關閉防火墻、關閉selinux

[ ~]# systemctl stop firewalld   關閉防火墻
[ ~]# chkconfig firewalld off
[ ~]# SELINUX=disabled
[ ~]# setenfore 0

時間同步

[ ~]# timedatectl set-timezone Asia/Shanghai    修改時區為上海
[ ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime     創建軟鏈接至localtime

確保主機有epel倉庫安裝組件的依賴關系和安裝zabbix倉庫

[ ~]# yum -y install epel-release                            
[ ~]# rpm -i https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm  

兩臺主機分別先安裝程序包:

192.168.124.5 數據管理主機 node1.magedu.com:

安裝有zabbix—server-mysql主程序

mariadb-mysql關系型存儲數據庫

zabbix-web-mysql窗口管理服務

zabbix-get測試工具

httpd提供web服務的

192.168.124.6 監控機器 node2.magedu.com:

安裝zabbix-agent端

服務端配置:

使用腳本創建。

# 安裝數據庫用來保存采集的數據

[ ~]#  yum -y install mariadb-server 

# 使用腳本創建數據庫并建立表格
#!/bin/bash
#

mysql << EOF 
# 創建一個名為zabbix的數據庫 
create database zabbix character set utf8 collate utf8_bin;
# 設置與服務器同名的zabbix的mysql用戶允許通過本機訪問zabbix的數據庫,密碼也為zabbix
grant all privileges on zabbix.* to [email protected] identified by 'zabbix';

quit;

EOF

啟動服務并設置 開機啟動
systemctl start mariadb.service
systemctl enable mariadb.service

安裝所需要的服務

[[email protected] ~]# yum -y install zabbix-server-mysql zabbix-get zabbix-web-mysql zabbix-agent
#如果配置了epel倉庫會自動安裝支持包
php php-mysql php-mbstring php-gd php-bcmath php-ldap php-xml

# 替換zbbix_server.con配置文件內 myslq的登錄密碼(默認為空)
DBPassword=zabbix

# 去掉前面的 #號 將web服務時區修改為上海
php_varlue date.timezone Asia/Shanghai

# 將zabbix的表導入mysql
[[email protected] ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pzabbix zabbix

# 修改zabbix服務端 agent配置 這里就不設置了設置方法和客戶端相同

# 啟動服務
[[email protected] zabbix]# systemctl restart zabbix-server zabbix-agent httpd
# 開機啟動
[[email protected] zabbix]# systemctl enable zabbix-server zabbix-agent httpd

[[email protected] zabbix]# ss -ntl
State       Recv-Q Send-Q                                          Local Address:Port                                            Peer Address:Port
LISTEN      0      128                                                         *:10050                                                      *:*    
LISTEN      0      128                                                         *:10051                                                      *:*    
LISTEN      0      50                                                          *:3306                                                       *:*    
LISTEN      0      128                                                        :::10050                                                     :::*    
LISTEN      0      128                                                        :::10051                                                     :::*    
LISTEN      0      128                                                        :::80                                                        :::*   

查看10050、3306、80、10051端口是否都正常啟動

1-1、瀏覽器輸入服務主機的地址:192.168.124.5/zabbix/setup.php

 

第十七周作業

1-2、剛剛時區沒有設置則可能會提示錯誤。

第十七周作業

1-3 設置數據庫類型、數據庫host (這里使用的是同一臺主機所以是localhost、其他主機填入IP),數據庫的名字zabbix、授權管理的用戶名zabbix和密碼zabbix。

第十七周作業

1-4、zabbix的服務主機(這里也是同一臺主機默認設置就好)

第十七周作業

1-5、點擊繼續完成配置

第十七周作業

第十七周作業

1-6、登錄的用戶名:Admin 密碼:zabbix 如果服務正常啟動這里則可以看到標記為yes

第十七周作業

2-1、主菜單:Monitoring:

  1. Dashboard:儀表板主界面
  2. Overview:概述
  3. Latest data:最新數據的顯示
  4. Triggers:觸發器; 設定的條件滿足時被觸發
  5. Events:事件定義執行的任務,和查看事件記錄
  6. Graphs:圖表顯示
  7. Screens:幻燈片顯示
  8. Maps:地圖
  9. Discovery:查看網絡發現

第十七周作業

2-2;清單

第十七周作業

2-3:配置

  1. Host groups:主機組
  2. Templates:定義模板,模板可被直接套用(里邊包含應用、監控、觸發器、動作)
  3. Hosts:主機
  4. Actions:動作,即當條件滿足時需要執行的操作
  5. Discovery:發現主機

第十七周作業

2-4、Administration

  1. User groups:用戶組
  2. Users:用戶
  3. Media types:媒介類型[郵箱、腳本、SMS僅北美有效]
  4. scripts:腳本

第十七周作業

3-1、創建模板點擊 Add添加

  1. 定義模板的名字:test Template
  2. 定義模板的可見名字:test Template
  3. Groups in groups:直接選用定義過的組
  4. New group:定義一個新組

第十七周作業

3-1、模板的第二標簽、Linked templates 連接模板【可與其他模板直接套用】,這里沒有選用

第十七周作業

3-3、定義模板的變量【閾值】變量分為:內建變量{$HTTP_PORT},自定義變量{HTTP_PORT}前面不加$符號,書寫必須全大寫。定義變量有三處(全局變量、模板變量、監控變量)

第十七周作業

4-1、給模板設定一個應用,也是將相同的功能定義到一個應用的組內

第十七周作業

第十七周作業

第十七周作業

5-1、創建一個監控任務

第十七周作業

5-2、定義監控名字

  1. 名字:Net TCP Listem
  2. 客戶端傳輸數據類型:Type:Zabbix agent
  3. 鍵key 然后查詢Select 找到默認的鍵,【監控主機的80端口】
  4. 檢查時間秒 5
  5. 顯示類型:As is (直接顯示原值)、Delta (speed per second) 當前減去之前、Delta  (simple change)   當前減去之前除以時長等于速率
  6. 添加到剛剛的應用組 Applications

 

第十七周作業

6-1、定義觸發器、監控的條件與定義的健康狀態不符則直接觸發綁定的觸發器

第十七周作業

6-2、

  1. 名字定義Net Tcp Down
  2. 定義返回健康值為1、錯誤為 0
  3. 定義Severity 警示級別 Not classified 不分類級別、Information 一般信息、Warning 警告、Average 橙色級別、High 嚴重問題、Disaster災害級別

第十七周作業

7-1、圖表顯示

  1. 名字:test Graphs
  2. items:添加需要顯示的監控任務。

第十七周作業

7-2、預覽

第十七周作業

8-1、定義幻燈片顯示,將多張圖標定義在一張幻燈片上,循環顯示。

第十七周作業

第十七周作業

第十七周作業

第十七周作業

第十七周作業
一個模板就定義完成了。下面繼續設置的就是

  1. 如何在網段內發現新主機并自動添加并連接調用之定義模板
  2. 當監控的80端口意外關閉后需要執行哪些動作,[ 如何通過右鍵通知用戶,嘗試執行某些命令來恢復80端口運行 ]

9-1、設定監控192.168.124.0網段內是否有新的主機上限,

第十七周作業

9-2、

  1. 名字:New Host
  2. Discovery by proxy 是否使用代理
  3. IP range:需要監聽的網段
  4. Delay(in sec) 檢測時間
  5. Checks:通過檢測對方SSH 22號端口是否啟用

第十七周作業

10-1、定義發現主機后要執行的動作

第十七周作業

10-2、

  1. 名字:Add host
  2. 觸發的條件:是剛剛定義的發現主機New host
  3. 條件滿足時需要執行的任務 (調用軟件功能添加主機),添加主機后第二步鏈接模板。

第十七周作業

第十七周作業

第十七周作業

第十七周作業

11-1、定義監控異常報警動作、

第十七周作業

11-2、

  1. 名字:Triggers Actions
  2. 服務上線也進行通知

 

第十七周作業11-3、觸發后的任務

  1. Steps 執行的步驟第一步到終止步,如果后邊是0 則代表無限循環
  2. Target list 需要執行的主機列表Current host
  3. 執行的類型:這里是腳本
  4. 實行的命令調用sudo命令,sudo systemctl start restart http 服務[但目前不給zabbix用戶的sudo權限,后邊測試]

第十七周作業

11-4、任務2、

  1. 執行這依然是本機
  2. 使用的SSH命令登錄,需要填寫ssh的用戶名和密碼。

 

第十七周作業

12-1、第三步我們要執行郵件通知首先要定義郵件的發件的媒介郵箱和收件人的地址。

  1. 創建一個媒介

第十七周作業

12-2、

  1. 媒介的名字是 localmail本地郵箱
  2. 類型有想
  3. SMTP server:郵箱服務器,這里使用的是服務器主機的本地
  4. SMTP helo:localhost
  5. SMTP  右鍵:[email protected]

第十七周作業

13-1、定義好媒介后添加監控的第三步,選中剛剛定義的模板動作

第十七周作業

13-2、添加第三步、設置收件人Send to Users Admin然后點擊更新

第十七周作業

13-3、點擊更新

第十七周作業

 

14-1、查看事件中的發現主機是否有新的主機被發現

第十七周作業

 

15-1、查看主機監控的服務是否正綠色顯示ZBX則為正常

第十七周作業

16-1、查看最新數據

第十七周作業

 

16-2、查看圖表顯示

第十七周作業

16-3、停用被監控機上的80端口查看圖標狀態

第十七周作業

16-4、當監控端的主機服務下線,查看事件中觸發器是否觸發任務

第十七周作業

16-5、第一步需要sudo權限我們沒有給定所以這里執行了第二步后服務重新上線恢復正常

第十七周作業

16-6、將httpd的服務端口修改唯9090 然后停掉服務

第十七周作業16-7、將端口修改回80端口然后查看是否有上線通知。

第十七周作業

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原創文章,作者:N28_剛好遇到小熊貓,如若轉載,請注明出處:http://www.npownk.tw/124793

聯系我們

400-080-6560

在線咨詢

工作時間:周一至周五,9:30-18:30,節假日同時也值班

QR code
安徽十一选五分布走势