我搞zabbix的那兩天(2)

摘要:前一篇(我搞zabbix的那兩天(1))我介紹了Zabbix的安裝部署以及遇到的問題,這一篇將介紹zabbix 使用及短信等告警實現!!!php

我搞zabbix的那兩天(1)html

我搞zabbix的那兩天(2)java

  1. Zabbix主界面及漢化方法介紹

1.1 初始化主界面

瀏覽器中輸入地址:http://ip地址/zabbix,輸入用戶名和密碼登錄後,進入監控軟件主界面,登錄後的界面以下圖:react

能夠看到初始化的界面是英文的,爲方便使用,需添加中文支持web

1.2 添加中文支持

修改文件 /var/www/html/zabbix/include/locales.inc.phpapache

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),瀏覽器

修改爲服務器

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),運維

修改文件 /var/www/html/zabbix/include/defines.inc.phppost

define('ZBX_FONT_NAME', 'DejaVuSans');

修改爲

define('ZBX_FONT_NAME', 'STKAITI');

重啓zbbix服務端,重啓apache

登錄頁面設置相應用戶的默認語言Administrator---->Users(此處要保證顯示的是用戶,不然顯示的都是用戶組)

點擊用戶名進入用戶信息編輯,默認語言選擇簡體中文,而後點擊update更新

 

1.3 中文主界面

2、Zabbix 基本配置

2.1 菜單介紹

如上圖,zabbix主要有5個一級菜單欄:監控中、資產記錄、報表、配置、管理每一個主菜單欄下面又多個二級菜單.

  • 監控中:主要是對監控對象的一些相關展現,好比說對web應用的展現。

  • 資產記錄:資產管理,相似於公司裏的資產管理,好比一個硬件設備,這裏可能會標識設備的名稱,操做系統,mac地址,資產編號等

  • 報表:這裏主要展現了zabbix服務的狀態,好比主機數,報警數。還有就是展現了一些設備的可用性報表等相關信息。

  • 配置:這裏主要用來對服務器的配置,好比建立主機,創建立模版,建立報警,建立流量圖片等相關應用基本的配置主要經過這裏來實現。

  • 管理:這裏也是用了對服務器進行配置,可配置相比,這裏的配置主要實現對zabbix自己的一些相關的配置工做,好比登陸zabbix的用戶的建立等工做主要經過這裏來配置。

2.2 添加監控主機

2.2.1 配置主機

菜單路徑:配置->主機,

點擊右上角建立主機按鈕,在界面中填寫必要信息,主機名稱和IP地址,組羣那裏選擇預約義的「Linux servers」

2.2.2 增長監控項和圖表

添加後主機要添加監控項,菜單路徑:配置->主機,點擊主機名稱,再點擊「監控項」

後點擊「建立監控項」,咱們這裏用嘗試監控CPU idle比例,這個配置的關鍵是鍵值,具體鍵值的定義請參考zabbix聯機文檔,數據更新時間(數據採集頻率),歷史數據保留時長等信息使用缺省值。

 

 

建立完監控項,就能夠針對監控項建圖表了,比較簡單:
而後能夠點擊「預覽」查看效果:

2.2.3 定義觸發器

定義觸發器:(咱們定義一個系統CPU IDLE80%就發出警告信息的觸發器

 

2.2.4 定義動做

而後定義動做,規定觸發器觸發時執行的動做,即報警時要經過什麼方式發送給運維人員
菜單路徑:配置 >動做,建立動做,咱們這裏建立一個名爲「sendSMS」,即經過短信發送報警信息給運維人員(後面2.3 短信告警配置介紹)

 

而後再切換到「操做」,定義默認發送信息

2.3 短信告警配置

短信報警的設置和郵件報警的思路是相似的,主要劃分爲一下幾個過程:

1.編寫短信報警的腳本;

2.zabbix的操做界面添加短信報警媒介;

3.對指定的用戶添加短信報警方式;

4.設置動做什麼時候進行短信報警;

  • 設置短信腳本

接下來咱們來服務器配置短信腳本sendSMS.sh,進入到/usr/local/zabbix/alertscripts(爲何是進入到這個目錄,由於咱們zabbix_server.conf配置的AlertScriptsPath目錄是這個),建立sendSMS.sh

注意:
一、打包jar方式
/lutong/zabbix-3.2.0/sms/SMS.jar包含的是短信告警的代碼,該工程包括了第三方的jar包,我是用Eclipse將引用了第三方jar包的Java項目打包成可執行jar,這裏不作多說明,請查看附件
二、執行jar包的環境
這裏是直接用到java命令執行jar包的方式,因此確保你的電腦是是安裝了java環境,像上圖服務器java環境是安裝在/usr/lcoal/java/jdk1.7.0_76/bin/java
三、兩個變量說明
MOBILE_NUMBER=$1 # 手機號碼

MESSAGE_UTF8=$2 # 短信內容

 

 

這兩個變量即咱們在頁面報警媒介中填寫的手機號碼,最後是經過執行jar包中的方法時傳進去了,來看下咱們的jar中的打包前main方法
上面咱們提到了配置動做用到了短信告警,接下來咱們來介紹短信告警實現。
須要先設置「報警媒介類型「,
在菜單」管理」→「報警媒介類型」裏面建立報警媒介類型,我這裏名稱填寫「福富短信」,類型選擇「腳本」,腳本名稱填寫「sendSMS.sh」(sendSMS.sh就是咱們在服務器建立的短信告警腳本)

 

  • 對指定的用戶添加短信報警方式

在菜單」管理」→「用戶」裏面建立用戶Admin,名稱填寫「福富短信」,類型選擇「腳本」

切換到「報警媒介」,依次選擇報警類型(即咱們上面填寫建立的福富短信)、收件人手機號碼,以及什麼時候觸發短信發送

測試,咱們經過使其中一臺服務器CPU偏高,當即就收到了短信

 

 

附件:

方案:利用Eclipse自帶的Export功能打包可執行的jar

步驟1:準備主清單文件 「MANIFEST.MF」

因爲是打包引用了第三方jar包的Java項目,故須要自定義配置文件MANIFEST.MF,在該項目下創建文件MANIFEST.MF,內容以下:

Manifest-Version: 1.0

Class-Path: SMS.justTest

第一行是MAINIFEST的版本,第二行Class-Path就指定了外來jar包的位置,第三行指定咱們要執行的MAIN java文件。

這裏要注意幾點:

1Class-Path: Main-Class: 後邊都有一個空格,必須加上,不然會打包失敗,錯誤提示爲:Invalid header field

2、假設咱們的項目打包後爲SMS.jar,那麼按照上面的定義,SMS.jar和其用到的jaropen189-sign-1.0.jar應該在在同一個目錄下。

不然將會出現「Exception in thread "main" java.lang.NoClassDefFoundError」的錯誤;
三、Main-Class後面是類的全地址,好比你的主文件是KillCheatFans.java,文件裏打包爲package com.main; 那麼這裏就寫com.main.KillCheatFans,
不要加.java後綴,主文件地址寫錯將會出現「找不到或沒法加載主類」的錯誤;
四、寫完Main-Class後必定要回車(即最後一行是空白行),讓光標到下一行,這樣你生成的jar包才能找到你的主class去運行,
不然將會出現「jar中沒有主清單屬性」的錯誤。
步驟2:右擊Java工程選擇Export—>選擇JAR file—>Next

步驟3:選擇要打包的文件,不須要的文件沒必要打包,減少打包後的jar文件大小,並進行選項配置以下

這裏有幾個選項:

* Export generated class files and resources 表示只導出生成的.class文件和其餘資源文件

* Export all output folders for checked projects 表示導出選中項目的全部文件夾

* Export java source file and resouces 表示導出的jar包中將包含你的源代碼*.java,若是你不想泄漏源代碼,那麼就不要選這項了

* Export refactorings for checked projects 把一些重構的信息文件也包含進去

步驟4:選擇咱們在第一步中自定義的配置文件路徑,這一步很重要,不能採用默認選項

這裏解釋一下配置項:

* Generate the manifest file:是系統幫咱們自動生成MANIFEST.MF文件,若是你的項目沒有引用其餘18class-path,那能夠選擇這一項。

* Use existing mainfest from workspace:這是能夠選擇咱們自定義的.MF文件,格式如上所寫,引用了第三方包時選用。

* Seal content:要封裝整個jar或者指定的包packet

* Main class:這裏能夠選擇你的程序入口,未來打包出來的jar就是你這個入口類的執行結果。

最後Finish,即生成了咱們要的jar文件。

在命令行下運行命令java -jar 你的jar文件名稱,好比上面的短信腳本執行以下:

 

若是在jar中有一些System.out.prinln語句(如上執行結果),運行後不想在控制檯輸出而是保存在文件中方便之後查看,能夠用一下命令:

/usr/local/java/jdk1.7.0_76/bin/java -jar /lutong/zabbix-3.2.0/sms/SMS.jar "$MOBILE_NUMBER" "$MESSAGE_UTF8" > log.txt (這時命令行窗口不會有任何輸出)
輸出信息會被打印到log.txt中,固然log.txt自動生成,並位於和SMS .jar一個目錄中。



學習本就是一個不斷模仿、練習、再到最後面本身原創的過程。

雖然可能歷來不能寫出超越網上通類型同主題博文,但爲何仍是要寫?
於本身而言,博文主要是本身總結。假設本身有觀衆,畢竟講是最好的學(見下圖)。

於讀者而言,筆者能在這個過程get到知識點,那就是共贏了。
固然因爲筆者能力有限,或許文中存在描述不正確,歡迎指正、補充!
感謝您的閱讀。若是本文對您有用,那麼請點贊鼓勵。

相關文章
相關標籤/搜索