news 2026/9/10 7:13:01

CentOS7 上安装 Munin

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CentOS7 上安装 Munin

关于Munin

Munin是一个系统,像MRTG和cacti一样,监控磁盘、内存、CPU和网络等资源。

配置包括在被监控的服务器上安装“munin-node”(代理),并在收集数据的服务器上安装“munin-server”(数据收集服务器)。

* “munin-node”和“munin-server”可以共存,所以你当然可以在单一服务器上监控自己。

《Munin》的另一个优点是设置非常简单。

Munin界面

安装前

在安装“Munin”之前,让我简单介绍一下这次的配置。

实验环境结构

这次的配置涉及在“监控服务器”(192.168.1.100)上安装“munin-server”和“munin-node”,同时监控“被监控服务器”(192.168.1.150)。

对于“被监控服务器”,只安装了“munin-node”。

* “munin-server”与“munin-node”之间的通信使用端口4949,因此如果防火墙处于激活状态,你需要释放该端口。

监控服务器端工作

我们即将安装“Munin”,但“监控服务器”和“被监控服务器”的任务有所不同,请谨慎操作以避免混淆。

接下来,工作将在监控服务器端完成。

前提条件

要运行“munin-server”作为监控服务器,必须安装一个网页服务器。

这次,我们将使用“apache”作为网页服务器进行安装流程,但如果“apache”尚未安装,请用“yum”安装并准备一个可以访问网页服务器的环境。

Apache 安装
# yum install httpd

Munin安装

由于 CentOS 基础仓库不包含“Munin”,我们将使用“EPEL”仓库并安装为“yum”。

*本页总结了如何添加到“epel”仓库的说明。

# yum --enablerepo epel install munin

现在,监控服务器上安装了“munin-server”和“munin-node”。

munin-server 配置

首先,我们将配置“munin-server”,从“munin-node”收集数据。

“munin-server” 的配置文件是“/etc/munin/munin.conf”,所以我们会编辑它。

服务器监控设置

“munin-server”有各种设置,但首先,要用“Munin”监控,你需要添加额外的监控服务器。

在初始设置中,你将设置为监控自己(localhost),所以我们添加“被监控服务器”设置。

* 如果你只在监控服务器上监控自己,则无需特殊设置更改。

初始设定
[localhost] address 127.0.0.1 use_node_name yes
监控服务器的附加模板

设置包括一个监控名称,显示是哪个“被监控服务器”,以及“被监控服务器”的IP地址。

[服务器完整域名(或任意)] address 监控对象IP use_node_name yes

[组名; [Monitored Name] 中的组名可以在多个“被监控服务器”且你想将它们分组时设置,所以如果不需要分组,也可以省略。

如果省略组名,请只写监控名称。

监控服务器的附加设置

这次,我们将“被监控服务器”的主机名设置为“wp.server-memo.net”,IP地址设置为“192.168.1.150”。

以防万一,记得在继续前备份你的编辑内容。

# cp -p /etc/munin/munin.conf /etc/munin/munin.conf_yyyymmdd # vi /etc/munin/munin.conf
附加内容
[wp.server-memo.net] address 192.168.1.150 use_node_name yes
数据存储目录设置

这次,我们不会更改“Munin”所使用的各种数据的存储目录,但您也可以更改以下数据存储位置。

dbdir用于存储收集数据的目录。
默认设置是 /var/lib/munin。
htmldir一个存储由 munin 生成的 HTML 数据的目录。
默认设置是 /var/www/html/munin
logdir用于存储日志文件
的目录最初设置为 /var/log/munin
rundir存储 Munin 运行时状态(pid)的目录。
默认设置为 /var/run/munin。
tmpdir一个存储 Munin 用于生成网页的模板文件的目录。
默认设置是 /etc/munin/templates。
staticdir一个目录,存储 Munin 用于生成网页的固定文件(标志图片、favicon、CSS 等)。
默认设置为 /etc/munin/static

我唯一改的是“htmldir”,其他操作都用默认设置。

munin-server 周期性执行设置

“munin-server”不是常驻服务,而是由“cron”定期执行的服务。

这个“cron”设置在 yum 安装“munin-server”时会自动添加“/etc/cron.d/munin” 文件。

/etc/cron.d/munin 设置详情

查看“/etc/cron.d/munin”文件的内容,你可以看到munin设置为每5分钟运行一次。

如果你想把执行间隔从默认的5分钟设置改成,可以通过修改这个文件来更改。

如果你不需要更改监控间隔,就不需要编辑它。

# # cron-jobs for munin # MAILTO=root */5 * * * * munin test -x /usr/bin/munin-cron && /usr/bin/munin-cron

munin-node配置

接下来,作为代理,你将获取服务器资源信息并配置“munin-node”。

“munin-node”的配置文件是“/etc/munin/munin-node.conf”。

背景设定

目前,有两个项目需要设置。

  • host_name munin节点的宿主名
  • munin服务器地址以允许连接
更改munin节点设置

首先,备份配置文件“/etc/munin/munin-node.conf”,然后继续编辑。

# cp -p /etc/munin/munin-node.conf /etc/munin/munin-node.conf_yyyymmdd # vi /etc/munin/munin-node.conf
更改主机名设置

把“localhost.localdomain”部分改成你服务器的主机名。

我把监控服务器的主机名设为“local.server-memo.net”,所以我会相应地做调整。

变更前

host_name localhost.localdomain

变更之后

host_name local.server-memo.net
允许更改设置

这里,你设置“munin-server”允许连接,但由于默认设置允许你连接到“127.0.0.1”,因此不需要特别编辑。

初始设定

allow ^127\.0\.0\.1$

* IP 地址设置使用正则表达式。

运行 munin-node

与“munin-server”不同,“munin-node”作为服务执行。

因此,编辑完成后,你需要使用“systemctl”命令启动服务。

# systemctl start munin-node

直到 CentOS 6,你可以通过“service”命令启动服务。

# service munin-node start
Munin-Node 自动启动设置

别忘了设置自动启动。

# systemctl enable munin-node

在CentOS 6之前,请使用“chkconfig”命令设置自动启动。

# chkconfig munin-node on

阿帕奇设定

当“munin-server”安装在“yum”上时,“apache”配置文件会自动在“/etc/httpd/conf.d/munin.conf”中创建。

munin.conf 配置详情

虽然省略了评论区,但设置如下。

<directory /var/www/html/munin> AuthUserFile /etc/munin/munin-htpasswd AuthName "Munin" AuthType Basic require valid-user ExpiresActive On ExpiresDefault M310 </directory> ScriptAlias /munin-cgi/munin-cgi-graph /var/www/cgi-bin/munin-cgi-graph ScriptAlias /munin-cgi/munin-cgi-graph /var/www/cgi-bin/munin-cgi-graph

“/var/www/html/munin”目录作为“Munin”的HTML数据存储目录,并在此进行基本认证。

在这一步中,你没有更改 munin 中的 html 数据存储目录,所以不需要特别修改,但如果你在 “munin-server.conf” 中更改了“htmldir”,就需要编辑它。

背景反思

要将“/etc/httpd/conf.d/munin.conf”这些附加设置应用到“Apache”上,请执行“重新加载”。

# systemctl reload httpd

在CentOS 6之前,你可以用“service”命令来“重新加载”它。

# service httpd reload
密码设置

出于安全考虑,服务器信息不应被无关第三方查看,因此“/etc/httpd/conf.d/munin.conf”包含了基本的Apache认证设置。

因此,你通过“htpasswd”命令注册用户和密码。

HTPASSWD格式
htpasswd -c 密码文件名 用户名

* “-c”选项仅在首次使用时需要。 添加用户时,请不要使用“-c”选项。

用户和密码设置

运行“htpasswd”时,请在“/etc/httpd/conf.d/munin.conf”中指定“AuthUserFile”中设置的密码文件。

这次的用户名是“Munin”,但没有具体的用户名,请使用你喜欢的用户名创建。

# htpasswd -c /etc/munin/munin-htpasswd Munin New password: Re-type new password: Adding password for user Munin

这样,监控服务器的工作就完成了。

服务器端任务在监控下进行

请注意,从现在起,工作将在受监控的服务器端完成。

Munin节点安装

由于服务器仅被监控,“munin-server”无需,安装时只需指定“munin-node”。但由于“munin-node”不在CentOS的基础仓库中,你将使用“EPEL”仓库进行安装。

# yum --enablerepo epel install munin-node

至此,“munin-node”的安装完成。

munin-node配置

“munin-node”的配置文件也在监控服务器操作说明中描述,但它是“/etc/munin/munin-node.conf”。

背景设定

设置安装“munin-node”的主机名和“munin-server”的IP地址以允许连接。

  • host_name munin节点的宿主名
  • munin服务器地址以允许连接
更改主机名设置

把“localhost.localdomain”部分改成你服务器的主机名。

这个“被监控服务器”的主机名设置为“wp.server-memo.net”,因此我们会相应调整。

变更前

host_name localhost.localdomain

变更之后

host_name wp.server-memo.net
允许更改设置

设置访问列表,只允许来自预期的“监控服务器(munin-server)”的连接。

在此环境中,“munin-server”安装在“监控服务器”(192.168.1.100)上,因此设置允许从该服务器连接。

请使用正则表达式设置IP地址。

变更前

allow ^127\.0\.0\.1$

变更之后

allow ^192\.168\.1\.100$
运行 munin-node

编辑完“munin-node”后,使用“systemctl”命令启动“munin-node”。

# systemctl start munin-node

直到 CentOS 6,你可以通过“service”命令启动服务。

# service munin-node start
Munin-Node 自动启动设置

别忘了设置“munin-node”的自动启动功能。

# systemctl enable munin-node

在CentOS 6之前,请使用“chkconfig”命令设置自动启动。

# chkconfig munin-node on

这样,受监控服务器端的工作就此完成。

Munin运行确认

当“监控服务器”和“被监控服务器”设置都完成后,试着在浏览器中连接“http:// 监控服务器 IP/munin/”。

会弹出一个基本认证的登录窗口,请输入你设置的用户和密码,使用“htpasswd”命令登录。

登录时,屏幕上会显示“监控服务器(本地主机)”和“被监控服务器(wp.server-memo.net)”。

如果你尝试点击“localhost”中的“磁盘”,你会看到与磁盘相关的各种信息被收集并绘制成图表。

然而,关于该图,信息是从“munin-server”到“munin-node”之间以5分钟间隔收集的,因此内容显示可能需要一些时间。

因此,如果图表未出现,请稍等一段时间再重新检查。

如果图表成功显示,工作完成。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 7:12:18

Serena 高级用法深度指南:提示规划策略与 Git Worktree 并行开发

Serena 高级用法深度指南&#xff1a;提示规划策略与 Git Worktree 并行开发 【免费下载链接】serena A powerful MCP toolkit for coding, providing semantic retrieval and editing capabilities - the IDE for your agent 项目地址: https://gitcode.com/GitHub_Trending…

作者头像 李华
网站建设 2026/9/10 7:10:55

改进蜣螂优化算法TDBO的Matlab实现与对比实验分析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/10 7:10:50

Arm-2D源码评测:Cortex-M图形加速库的工程价值与集成实践

1. Arm-2D 源码静态工程评测&#xff1a;为什么这会成为 Cortex-M 端 GUI 选型的关键一票做嵌入式图形界面开发的人&#xff0c;这几年应该都体会过同一种纠结&#xff1a;Cortex-M 上能跑的 GUI 框架越来越多&#xff0c;LVGL 迭代快、生态大&#xff0c;TouchGFX 有 ST 官方加…

作者头像 李华
网站建设 2026/9/10 7:10:42

CANN/ge图引擎GetAttr函数

GetAttr 【免费下载链接】ge GE&#xff08;Graph Engine&#xff09;是面向昇腾的图编译器和执行器&#xff0c;提供了计算图优化、多流并行、内存复用和模型下沉等技术手段&#xff0c;加速模型执行效率&#xff0c;减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的…

作者头像 李华