如果使用Apache建置網站,想要了解Apache Service運作狀態,可以使用Zabbix Server進行服務監控。
以Zabbix Server 為示範,OS為Ubuntu Linux LTS 22.04,Apache為2.4.52
要對Apache Service進行監控,要先啟動status_module模組。
先確認是否有安裝status_module模組。
#apache2ctl -M 2>/dev/null | grep status_module
設定status.conf,開啟/server-status頁面。
#sudo nano /etc/apache2/mods-enabled/status.conf
預設網頁為/server-status,如果需要可以自行修改,更改後Zabbix設定也要更改。
預設只開啟local連線,如果要開啟其它主機連線,可以修改Require ip 指定ip。
設定完成後重新載入apache2設定檔,再使用curl進行測試
#sudo systemctl reload apache2
#curl http://127.0.0.1/server-status?auto
可以出現Apache Server status資訊,即設定成功。就可以至Zabbix WEB設定。
Zabbix Server內建的Templates>Applications 有Apache by HTTP,Apache by Zabbix agent 2種。
官方連結說明翻譯:
此範本專為 Zabbix 透過 HTTP 輕鬆部署 Apache 監控而設計,不需要任何外部腳本。
此範本Apache by HTTP- 透過使用 HTTP 代理遠端輪詢mod_status來收集指標。
新增頁面設定如下:
在Maros頁面新增4組參數,並填入對應的值。
{$APACHE.STATUS.PORT}
80
{$APACHE.STATUS.PATH}
server-status?auto
{$APACHE.STATUS.SCHEME}
http
{$APACHE.RESPONSE_TIME.MAX.WARN}
10
官方連結說明翻譯:
此範本專為 Zabbix 透過 Zabbix 代理程式輕鬆部署 Apache 監控而設計,不需要任何外部腳本。
此範本Apache by Zabbix agent- 透過使用 Zabbix 代理在本地輪詢mod_status來收集指標。
新增頁面設定如下:
在Maros頁面新增6組參數,並填入對應的值。
{$APACHE.STATUS.HOST}
127.0.0.1
{$APACHE.STATUS.PORT}
80
{$APACHE.STATUS.PATH}
server-status?auto
{$APACHE.STATUS.SCHEME}
http
{$APACHE.RESPONSE_TIME.MAX.WARN}
10
{$APACHE.PROCESS_NAME}
apache2
在Configuration > Host中新增2個Templates。
在Monitoring > Hosts中2個Templates都有蒐集到資料。也可以發現使用Apache by Zabbix agent比Apache by HTTP多了4種資料。
Apache by Zabbix agent多蒐集Apache CPU utiliztion,Apache Memory usage(rss),Apache Memory usage(vsize),Apache Number of running processes 等資訊。
Zabbix使用Zabbix agent2監控Apache Service,是由Zabbix Server透過監控主機的Zabbix agent2捉取資料,屬於被動模式。
內容為學習過程如有問題,請多多指教,謝謝。
文章也同步於個人網站