Munin
Munin是一套Perl撰写的监控软件。
简介
主要的两个元件,由服务器去节点拉资料:
- munin-cron(可以在
/etc/cron.d/munin
里面看到) - munin-node
网站的部分则是透过这两个元件提供FastCGI界面:
- munin-cgi-graph
- munin-cgi-html
安装
Munin目前已经算成熟,更新幅度不会太大,加上Ubuntu内的版本都还算够新[1],可以直接安装Ubuntu内的版本,节点端只需要安装munin-node:
sudo apt install -y munin-node; sudo apt clean
服务器则是安装munin:
sudo apt install -y munin; sudo apt clean
基本设定
节点端
节点端需要把服务器的IP位置加入allow
列表(要注意这边的设计是吃Regular Expression),另外防火墙的设定只要把4949/tcp打开即可(预设值,在/etc/munin/munin-node.conf
内可以修改)。
服务器端
服务器端的设定,先将Munin设定为CGI模式(事实上会是FastCGI模式),这需要修改/etc/munin/munin-conf.d/cgi.conf
:
graph_strategy cgi
html_strategy cgi
cgiurl_graph /munin-cgi/munin-cgi-graph
sudo chown munin:adm /var/log/munin/munin-cgi-graph.log /var/log/munin/munin-cgi-html.log
另外是systemd的设定档,包含了/lib/systemd/system/munin-cgi-graph.service
:
#
[Unit]
Description=Munin CGI Graph FastCGI daemon
After=remote-fs.target
[Service]
ExecStart=/usr/bin/spawn-fcgi -s /var/run/munin/fastcgi-graph.sock -P /var/run/munin/fastcgi-graph.pid -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-graph
PIDFile=/var/run/munin/fastcgi-graph.pid
Restart=always
RestartSec=1
Type=simple
[Install]
WantedBy=multi-user.target
以及/lib/systemd/system/munin-cgi-html.service
:
#
[Unit]
Description=Munin CGI HTML FastCGI daemon
After=remote-fs.target
[Service]
ExecStart=/usr/bin/spawn-fcgi -s /var/run/munin/fastcgi-html.sock -P /var/run/munin/fastcgi-html.pid -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-html
PIDFile=/var/run/munin/fastcgi-html.pid
Restart=always
RestartSec=1
Type=simple
[Install]
WantedBy=multi-user.target
重读systemd设定,并且设成开机执行,然后跑起来:
sudo systemctl daemon-reload; sudo systemctl enable munin-cgi-graph.service; sudo systemctl enable munin-cgi-html.service; sudo service munin-cgi-graph.service start; sudo service munin-cgi-html.service start
location ^~ /munin-cgi/munin-cgi-graph/ {
fastcgi_split_path_info ^(/munin-cgi/munin-cgi-graph)(.*);
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/var/run/munin/fastcgi-graph.sock;
include fastcgi_params;
}
location /munin/static/ {
alias /etc/munin/static/;
}
location /munin/ {
fastcgi_split_path_info ^(/munin)(.*);
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/var/run/munin/fastcgi-html.sock;
include fastcgi_params;
}
让nginx重读设定档后应该就可以在https://www.example.com/munin/看到内容:
sudo pkill -1 nginx
参考资料
- ↑ Ubuntu – Package Search Results -- munin. [2021-04-26] (English).
- ↑ 2.0 2.1 nginx configuration — Munin 2.0.44 documentation. [2021-04-26] (English).
外部链接
- 官方网站 (英文)