Run SmokePing by Nginx with FastCGI
- POSTS
SmokePing 是一個網路品質監控的 open source 軟體,可以用來持續監控伺服器到各個網路節點、服務等的網路狀況。SmokePing 主要使用 Perl 撰寫,除了背景有個 daemon 會一直到各個 Targets 去蒐集網路連線狀態外,也有個簡單的 Web 可以看圖表,由於是 Perl 寫的,需要透過 CGI 的方式讓 web server 去讀,這在 Apache 上很容易,但如果是要用 Nginx 來做為 web server,需要透過 spawn-fcgi 來實現(與 Nginx + PHP 的方式類似)。
主要測試的環境為 Ubuntu/Debian Linux,首先安裝 Nginx、SmokePing 以及 Spawn-FCGI 這三個套件。
apt install nginx smokeping spawn-fcgi 建立 Systemd 服務設定檔案 /etc/systemd/system/smokeping-fcgi.service 放入下列內容:
[Unit] Description=SmokePing FastCGI Service After=network.target smokeping.service Wants=smokeping.service [Service] StandardOutput=null StandardError=syslog ExecStart=/usr/bin/spawn-fcgi -u smokeping -s /run/smokeping-fcgi.sock -M 600 -n -U www-data -- /usr/share/smokeping/smokeping.