1. 程式人生 > >第十四篇 zabbix建立自定義Item

第十四篇 zabbix建立自定義Item

為了滿足使用者的其它監控需求,zabbix允許使用者建立自定義監控任務,假設現在有這麼一個監控任務,要求監控資料庫中某一張表當天更新的資料條數。你會發現zabbix中並不存在這樣的Item,為了滿足使用者的其它需求,zabbix允許使用者建立自定義的監控項。

利用zabbix建立自定義監控項需要執行以下操作:
1.在配置檔案zabbix_agentd.conf中設定允許新增自定義監控項
2.在zabbix_server.conf中設定監控指令碼檔案存放路徑
3.在指定的路徑下建立監控指令碼
4.在userparameter_script.conf檔案中新增Item key
5.在web端建立監控項

第一步:找到你的zabbix_agentd.conf,設定允許新增自定義指令碼將#Include=/usr/local/etc/zabbix_agentd.conf.d/前的#號去掉即可

這裡寫圖片描述

第二步:設定建立監控指令碼的存放路徑,開啟zabbix_server.conf配置檔案,找到AlertScriptsPath,設定路徑為

AlertScriptsPath=/usr/local/share/zabbix/alertscripts

這裡寫圖片描述

第三步:建立監控指令碼,會到剛開始的問題,我們要監控的是資料庫中一張表的資料更新條數。為了模擬這個環境,我在sqlserver下建了一個pythontest資料庫,並在其中建了一張表secumain,建表語句如下:

CREATE TABLE secumain(
    [id] [int] NULL,
    [content] [varchar](32) NULL,
    [updatetime] [datetime] NULL
) 

我的監控指令碼是用python寫的,程式碼如下:

#!/usr/bin/python
#coding=utf-8
import pymssql

server = "198.192.1.1"
user = "sa"
password = "6527293"

conn = pymssql.connect(server, user, password, "pythontest"
) cursor = conn.cursor() cursor.execute("select COUNT(*) from secumain where updatetime>(select cast(convert(varchar(10),getdate()-1,120)+' 00:00:00' as datetime)) and updatetime<getdate()") result=cursor.fetchall()[0][0] result=float(result) print (result) cursor.close() conn.close()

注意:為了確保指令碼無誤,你最好執行一下寫好的指令碼

第四步:在userparameter_script.conf檔案中新增Item key,Item key的格式為

UserParameter=<key>,<command>

前面是key值,也就是在web端新增監控指令碼時的key值,command就是該key值對應的執行指令碼,也就是指令碼執行路徑。配置如下:

UserParameter=script.getUpdateCountFromSecumain,/usr/local/share/zabbix/alertscripts/getUpdateCountFromSecumain.py

每新增一個新的執行指令碼,只需要按照上面的方式,在userparameter_script.conf檔案中新增即可。新增完成之後切記需要重啟zabbix_server和zabbix_agentd服務,可以通過zabbix_get檢測監控指令碼是否新增成功,檢測指令如下:

zabbix_get -s 127.0.0.1 -k script.getUpdateCountFromSecumain
(檢測格式zabbix_get -s host -k key)

由於我沒有在該表中新增任何資料,的到的結果是0

這裡寫圖片描述

第五步:在web端建立監控項,和之前建立監控項的方式一樣,這是這裡需要手動輸入key值

script.getUpdateCountFromSecumain

這裡寫圖片描述
這裡寫圖片描述

我現在在表中新增五條資料

這裡寫圖片描述

點選檢測中-》最新資料找到get count from secumain這個監控項,點選右側的圖形,可以看到檢測到的資料是5條

這裡寫圖片描述

看到這樣的結果說明成功建立了自定義監控項

相關推薦

zabbix建立定義Item

為了滿足使用者的其它監控需求,zabbix允許使用者建立自定義監控任務,假設現在有這麼一個監控任務,要求監控資料庫中某一張表當天更新的資料條數。你會發現zabbix中並不存在這樣的Item,為了滿足使用者的其它需求,zabbix允許使用者建立自定義的監控項。

zabbix建立定義報警媒介

這裡就以建立自定義郵件報警為例,建立郵件報警需要執行以下步驟: 1.安裝sendMail 2.建立指令碼 3.建立報警媒介型別 建立指令碼 在zabbix預設的指令碼路徑下建立傳送郵件指令

zabbix建立Trigger

點選配置-》主機 選中主機中的觸發器,點選右上角的建立觸發器,每個輸入欄的屬性下面都有介紹,點選新增,這裡表示式中選擇監控項時我就選擇前面建好的自定義監控項get count from secumain,設定噹噹天更新的資料大於15條時觸發告警。

python課--排序及定義函數之案例一:選擇排序

空間 循環 列表 pri 使用 次數 選擇 pre 第十四 案例一:選擇排序使用選擇排序的思想實現列表數據的升序排序 lt=[45,12,56,-32,-3,44,75,-22,100] length=len(lt) # print(‘排序前:‘+str(lt)) 使用

python課--排序及定義函數

變參 兩種 參數 否則 存在 turn 調用 維護 兩層 1.排序特點:1).升序:從小到大2).降序:從大到小課堂實現選擇排序:參看老郭選擇排序.py文件2.函數:(方法/method)自定義函數:概念:它表示一段作用範圍(作用域),當中封裝了一段業務邏輯代碼,此範圍有名

python課--排序及定義函數之案例二:冒泡排序

實現 int python 一個 str -- 排序 冒泡排序 pri 案例二:冒泡排序 lt1=[45,12,56,-32,-3,44,75,-22,100] print(‘排序前:‘+str(lt1)) 自定義函數:實現冒泡排序(升序)原則:1).有沒有形參?有,接

Python開發【】:Web框架本質

中一 用戶 contain get pattern app sta doc connect Web框架本質 眾所周知,對於所有的Web應用,本質上其實就是一個socket服務端,用戶的瀏覽器其實就是一個socket客戶端。 1 2 3 4 5 6 7 8 9

現象

幫助 產生 這也 人類 被人 規律 生命 快速 宇宙 第十四篇 現象 “現象”的產生是由宇宙當中各種因素交匯的結果。現象是萬物在宇宙中的展現,它可以被人為創造,也可以由宇宙規律自行產生。現象能幫助人類逐步地了解宇宙的本質,也能幫助人類更好地了解自己。 當一個生命對

Python之路【】:Python的內置函數

blank function ocs 函數 alt 分享 詳細 png bsp Python中自帶了一些內置函數,如下圖所示 詳細說明可以戳這裏Python之路【第十四篇】:Python的內置函數

python全棧開發【】面向對象三大特性——繼承

blog area ear person subclass rom from 指定 實現 一、組合 組合:組合指的是,在一個類中以另外一個類的對象(也就是實例)作為數據屬性,稱為類的組合    也就是說:一個類的屬性是另一個類的對象,就是組合 例子:   圓環是由兩個圓組成

web前端【】Bootstrap簡單使用

app sweet utf 常用插件 ctype deb mat 巨幕 blog 一、一個小知識點 1、截取長屏的操作 2、設置默認格式 3、md,sm, xs 4、空格和沒有空格的選擇器 二、響應式介紹 - 響應式布局是什麽?  同一個網頁在不同的終端上呈

SpringCloud 教程 | : 服務註冊(consul)

disco 端口 trap 方式 star one aging 並且 安裝 版權聲明:本文為博主原創文章,歡迎轉載,轉載請註明作者、原文超鏈接 ,博主地址:http://blog.csdn.net/forezp。 http://blog.csdn.net/forezp/a

Go語言【】:Go語言基礎總結

cal pro 結果 第十四 深入 得到 divider math XP Go語言類型轉換 類型轉換用於將一種數據類型的變量轉換為另外一種類型的變量,Go語言類型轉換基本格式如下: type_name(expression) type_name為類型,expression為

史上最簡單的 SpringCloud 教程 | : 服務註冊(consul)

配置 資料 源碼下載 擴展性 local sta tar value mark 這篇文章主要介紹 spring cloud consul 組件,它是一個提供服務發現和配置的工具。consul具有分布式、高可用、高擴展性。 consul 具有以下性質: 服務發現:cons

PowerBI開發 :DAX 表達式(時間+過濾+關系)

數據 bsp 可能 library 聚合 ont 數據分析 狀態 mon DAX表達式中包含時間關系(Time Intelligence)相關的函數,用於對日期維度進行累加、同比和環比等分析。PowerBI能夠創建關系,通過過濾器來對影響計算的上下文。 一,時間關系 D

Android提高之ListView適應實現表格

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

【資料結構與演算法】之紅黑樹 ---

樹是一種非線性資料結構,這種資料結構要比線性資料結構複雜的多,因此分為三篇部落格進行講解: 第一篇:樹的基本概念及常用操作的Java實現(二叉樹為例) 第二篇:二叉查詢樹 第三篇:紅黑樹 第三篇:紅黑樹 開篇說明:對於紅黑樹的學習,近階段只需要掌握這種資料結構的思想、特點、適

Elasticsearch搜尋引擎-Java客戶端呼叫

文章目錄 ES支援多種程式語言客戶端 ES 提供的客戶端連線方式 Java REST Client Java Low Level REST Client Java High Level REST Client(常用) J

14-撩課大前端-面試寶典-

1. 請寫出至少5個html5新增的標籤,並說明其語義和應用場景? section:定義文件中的一個章節; nav:定義只包含導航連結的章節; header:定義頁面或章節的頭部; 它經常包含 logo、頁面標題和導航性的目錄。 footer:定義頁面或章節的尾部; 它經常包含版權

python 列表 元組 字串 集合之間的轉換

#Author:zhang #列表:list #元組:tuple #字串:str #集合:set #---------------------列表轉換元組 字串 集合-------------------- #列表轉換成元組 list1=['a','b','c','d'] t