2013-04-17 31 views
0

我在配置Zabbix模板項目/觸發器時遇到問題。我試圖設置一個觸發器來檢查網頁的HTTP狀態。但是,我似乎遇到了一些困難,因爲它總是返回一個「EOF」錯誤。如何解決始終返回EOF的Zabbix觸發器

我讀過web.page.regexp如果出現錯誤將返回EOF的文檔。我知道正則表達式的主機工作,因爲我從主機「捲曲」它。

下面是我的產品密鑰:

web.page.regexp[127.0.0.1,,9198,HTTP/1\.1.*,12] 

這裏是我的觸發器:

(({Tungsten Check:web.page.regexp[127.0.0.1,,9198,HTTP/1\.1.*,12].regexp(HTTP/1.1\ 200)})#1) 

有誰看到任何公然錯了嗎?我遵循以下教程中的說明:HTTP Return Code Monitoring Without Web Monitoring

我不確定我是否用CURL編譯Zabbix,是否可以這樣做?

更新#1

我重新編譯的zabbix,捲曲的支持,並沒有解決這個問題,仍然得到EOF消息。

+0

不是「HTTP/1 \ .1」。狀態響應的一部分,由於它不是「頁面」的一部分,甚至不是頭文件,因此不會被解析?捲曲它可能不同於zabbix甚至使用libcurl。 –

+0

爲什麼你不想使用網絡檢查?這是他們的目的。 – Will

回答

0

在我的實例中的以下工作:

zabbix_get -s localhost -k web.page.regexp[www.bbc.co.uk,,80,HTTP/1\.1.*,12]

,並返回

HTTP/1.1 200

我認爲,當它試圖選擇什麼前12個字符,你得到這個錯誤。我可以通過請求來自無效的主機/端口來產生錯誤,或者正則表達式不匹配任何東西。

鑑於我已經使用過你的正則表達式,它可以工作,我猜你是沒有從你的web服務器接收任何東西,或者它沒有返回與你的正則表達式匹配的行 - 可能是HTTP 1.0?

我會建議使用適當的網絡檢查,即使它只是一個檢查。會讓它更容易一些。

希望這會有所幫助。