Image by yomochi@pixiv

Munin配置

The Config of Munin

  linkthis    2019-09-11    2675 words

多看README。

高价破网石头盘,那这破机器到底有多烂呢?所以我们需要一个工具来监控一下,为了简便,选择了基本功能比较齐全且无需数据库的Munin界面重回Win98

Munin

通过包管理器直接安装:

1
apt install munin

直接安装Munin时会自动安装munin-node,其它需要监控的机器则只需安装munin-node

基本配置

Munin的配置文件为/etc/munin/munin.conf,有详细的注释。一般需取消的注释如下:

1
2
3
4
5
dbdir   /var/lib/munin // 数据库存放地址
htmldir /var/cache/munin/www //页面存放地址
logdir /var/log/munin // 日志存放地址
rundir  /var/run/munin // 运行时pid存放地址
tmpldir /etc/munin/templates // 网页模板

节点配置模板:

1
2
3
[localhost]
    address 127.0.0.1
    use_node_name yes // 定义节点名称

munin默认配置的cron任务5分钟执行一次,可以自行调整。手动生成网页需执行:

1
2
su munin --shell=/bin/bash
munin-cron

munin-node的配置文件为/etc/munin/munin-node.conf,默认配置的cron任务5分钟执行一次,有详细的注释。

1
allow ^192\.168\.1\.2$

应允许需要使用的IP地址和端口。

CGI动态绘制图形

使用spawn-fcgi产生FastCGI进程:

1
apt install spawn-fcgi

创建Systemd脚本每次开机自动生成相关进程:

1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=Munin FastCGI Graph
Documentation=man:spawn-fcgi

[Service]
Type=forking
PIDFile=/var/run/munin/fcgi-graph.pid
ExecStart=/usr/bin/spawn-fcgi -s /var/run/munin/fastcgi-graph.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-graph -P /var/run/munin/fcgi-graph.pid

[Install]
WantedBy=multi-user.target
1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=Munin FastCGI HTML
Documentation=man:spawn-fcgi

[Service]
Type=forking
PIDFile=/var/run/munin/fcgi-html.pid
ExecStart=/usr/bin/spawn-fcgi -s /var/run/munin/fastcgi-html.sock  -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-html -P /var/run/munin/fcgi-html.pid

[Install]
WantedBy=multi-user.target

同时应修改munin.conf文件

1
html_strategy cgi

graph_strategy应该被注释掉
注意,/var/log/munin/munin-cgi-*.log文件可能由www-data用户所有,则需修改对应日志文件的权限,并编辑/etc/logrotate.d/munin;且CGI HTML可能存在一些BUG,请谨慎启用。
之后执行如下命令:

1
2
3
4
5
6
systemctl daemon-reload
systemctl enable munin-fcgi-graph.service
systemctl enable munin-fcgi-html.service
systemctl start munin-fcgi-graph.service
systemctl start munin-fcgi-html.service
systemctl restart munin-node.service

Nginx配置

如果使用了CGI来生成图片,需要在Nginx的配置中额外添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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;
}

如果不想Munin的监控被直接访问,可以配置auth_basic进行简单的密码认证。

Munin插件

Munin本身自带了一定数量的插件,并且在安装时会自动配置完成,可以提供所在节点的基本信息。
Munin Plugin Gallery提供了自带和大部分非官方插件的说明,可以根据需求自行配置。
需要注意Munin 2.0的官方自带插件较旧,功能上可能不如第三方插件完善;在使用第三方插件时应首先选择官方contrib,其对插件进行了修改,更加方便使用,而且部分插件的作者并没有对插件进行维护,其本身已经年久失修。
配置插件时需要注意插件自身的权限,且大多数插件的配置说明大部分位于插件文件的开头,需仔细阅读。新增插件配置完成之后执行:

1
2
munin-run
systemctl restart munin-node.service

Munin 3.0的界面真好看。
本文采用CC BY-NC-ND 4.0许可协议进行许可,转载请注明出处。

本文最后更新时间为:2019-09-25-Wednesday-10:38:27 PM




Image of Wechat