web.page.regexp用法


前言

因為這個東西“web.page.regexp”,差點把自己殺了。一點都不誇張,這將近30度的天氣,辦公室不開空調,又要悶,還要帶着口罩,躁動的很。加上這個鬼東西“web.page.regexp”百度谷歌了沒有一點有用的資料,都是粘貼復制的估計,弄了一下午沒弄好,感覺時間又浪費了,又沒弄出來,着不着急。本來想着不想弄了,但是自己性格沒得辦法,到了手里的問題,不解決過不去心里這道坎。

后來實在沒辦法了,還下了個源代碼看看,發現看不懂....,這就有點憂傷了,但是這個源代碼給了我啟示,因為“web.page.regexp”的代碼很簡單,就定義了一個函數,里面什么內容都沒有,我就想着代碼都只有這么一點點,肯定用法不會太復雜,那就根據源代碼的默認方法再試一遍,終於在下班時刻弄出來了。必須得把這個用法寫出來,避免一遍又一遍的踩坑,真的很耗精力。

含義

想要用好一個東西,首先就必須得知道他的意思,要不然真的是對牛彈琴。

web.page.regexp可用先看一下他的官方文檔,英文版的可能看不太懂,中文的實在看不明白,一直說這個監控項的功能是在網頁中搜索字符串,然后一直以為是展示的網頁,其實他的原理是:獲取你指定網頁的源碼,然后對源碼根據你的正則表達式做解析(你wget一個網頁下載下來的東西)

web.page.regexp[host,<path>,<port>,regexp,<length>,<output>]

1、host:指定你的網頁URL,如果是填的IP地址,則后面的path和port要指定。如果填的是域名,則path和port不在需要指定。

2、path:路徑,默認是/

3、port:端口,默認是Http,80

4、regexp:正則表達式

5、length:返回的最大字符數

6、output:指定輸出的格式,如果不指定,則匹配到的全部輸出,如果你的正則在全文有多處匹配,那么只輸出第一處的

 

實例

往往理解一個東西,動手弄一個出來基本上明白了,一般作用於監控一個網站的某個狀態值,發生變化則告警之類的。比如版本號的版話。我們來看一個例子,比如我獲取我這邊博文的發布時間。

[root@ip-10.0.0.23 ~]# zabbix_get -s 10.0.0.23 -k web.page.regexp[https://www.cnblogs.com/lemon-le/p/12488549.html,,,\\d.*-\\d.*-\\d.*\ \\d.*\:\\d\\d,,]
2020-03-13 19:40

 

我們做測試的時候可以使用zabbix_get,這樣方便知道返回的結果,我們可以先把首頁下載下來,然后用文本工具打開做分析。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM