[Linux实用工具]Linux监控工具munin的安装和配置

摘要:
〇、摘要munin是用于Linux系统的监控软件。本次只讲安装和配置。muninmaster和munin-node的安装;web服务展示结果和动态查看结果;插件编写与配置。munin-node可以部署在多台机器上面,munin用于定时向一台或者多台机器收集监控的信息。安装完了之后,Munin和Munin-node会顺便启动的。安装完毕后,系统会自动启动munin-node。

〇、摘要

munin是用于Linux系统(也可以监控windows系统)的监控软件。munin除了可以监控系统的各项数值之外,最大的好处是可以自己编写插件自定义监控需要的数值。整个系统的架构简单明了,操作方便。如果是使用Debian或者Ubuntu安装,安装过程也非常简单。munin除了可以监控结果,也可以设置报警。对于我个人对性能测试的工作来说,是个非常好的工具。

1.内容

munin整个使用下来,篇幅会有点大,包括展示、自定义插件。这边分成三个部分来说明。本次只讲安装和配置。

    • muninmastermunin-node的安装;
    • web服务展示结果和动态查看结果;
    • 插件编写与配置(mysql插件与自定义插件)。

2.架构示意图

[Linux实用工具]Linux监控工具munin的安装和配置第1张

munin的架构非常简单。包含一个服务端munin和一个客户端munin-nodemunin-node可以部署在多台机器上面,munin用于定时向一台或者多台机器收集监控的信息。munin收集到数据后会生成静态的html文件。为了展示监控的结果,需要一个web服务器。有了web也可以随时随地访问监控结果。

一、Ubuntu/Debian下安装

Ubuntu/Debian下安装非常简单。使用apt-get就可以直接安装好了。安装完了之后,MuninMunin-node会顺便启动的。

1.Muninnode(客户端)

#apt-getinstallmunin-node

2.Muninmaster(服务端)

#apt-getinstallmunin

二、Redhat下安装

在红帽下安装就略显麻烦了。首先要把rpm的软件包下载下来。但是除了MuninMunin-node的软件包,另外还涉及到perl的一些库。

另外,Redhat下安装,不同版本的系统包,使用的软件包还不一样。我们使用的是RHEL5版本的,所以下面例子以RHEL5为准(官方给的资料在RHEL5下安装与RHEL4下安装的过程是一样的。只是每个可能软件包根据系统而不一样而已。这个直接替换掉最后的rpm为最新的版本号就好了)。

1.Muninnode(客户端)

下载程序包:

Munin-node包:
#wgethttp://dl.fedoraproject.org/pub/epel/5/i386/munin-node-2.0.20-1.el5.noarch.rpm
下载依赖包:
#wgetftp://195.220.108.108/linux/centos/5.10/os/x86_64/CentOS/sysstat-7.0.2-12.el5.x86_64.rpm
#wgethttp://dag.wieers.com/rpm/packages/perl-Net-SNMP/perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch.rpm
#wgethttp://dag.wieers.com/rpm/packages/perl-Crypt-DES/perl-Crypt-DES-2.05-3.2.el5.rf.i386.rpmperl-Net-SNMP依赖此包)
#wgethttp://pkgs.repoforge.org/perl-Socket6/perl-Socket6-0.23-1.el5.rfx.x86_64.rpmperl-Net-SNMP依赖此包)
#wgethttp://pkgs.repoforge.org/perl-Net-Server/perl-Net-Server-0.99-1.el5.rf.noarch.rpm
可以使用以下顺序安装:
#rpm-Uvhsysstat-7.0.2-12.el5.x86_64.rpm
#rpm-Uvhperl-Net-Server-0.99-1.el5.rf.noarch.rpm
#rpm-Uvhperl-Socket6-0.23-1.el5.rfx.x86_64.rpm
#rpm-Uvhperl-Crypt-DES-2.05-3.2.el5.rf.i386.rpm
#rpm-Uvhperl-Net-SNMP-5.2.0-1.2.el5.rf.noarch.rpm
#rpm-Uvhmunin-node-1.2.5-1rhel4.noarch.rpm(最后安装Muninnode
即:
1:sysstat
2:perl-Socket6
3:perl-Crypt-DES
4:perl-Net-SNMP
5:perl-Net-Server
6:munin-node
如果遇到签名验证不通过的问题,可以加上[--force--nodeps]参数强制安装:
#rpm-Uvhperl-Net-SNMP-5.2.0-1.2.el5.rf.noarch.rpm--force--nodeps

以上顺利的话,munin-node就安装好了。安装完毕后,系统会自动启动munin-node

2.Muninmaster(服务端)

下载Munin包:

#wgethttp://dl.fedoraproject.org/pub/epel/5/i386/munin-2.0.20-1.el5.noarch.rpm

下载依赖包:

#wgethttp://dag.wieers.com/rpm/packages/perl-HTML-Template/perl-HTML-Template-2.8-1.2.el5.rf.noarch.rpm

#wgethttp://pkgs.repoforge.org/rrdtool/perl-rrdtool-1.4.7-1.el6.rfx.x86_64.rpm

#wgethttp://pkgs.repoforge.org/rrdtool/tcl-rrdtool-1.4.7-1.el5.rf.x86_64.rpm

#wgethttp://dag.wieers.com/rpm/packages/perl-Net-SNMP/perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch.rpmmuninnode也用到)

#wgethttp://dag.wieers.com/rpm/packages/perl-Net-Server/perl-Net-Server-0.99-1.el5.rf.noarch.rpmmuninnode也用到)

安装顺序:

1:perl-HTML-Template

2:rrdtool

3:perl-rrdtool

4:perl-Net-SNMP

5:perl-Net-Server

6:munin

以上,munin的客户端和服务端都安装好了。如果安装期间遇到版本不对的地方,请根据自己的系统版本,自行替换为相应的依赖包。

三、配置和启动

无论是Debian下安装,还是RedHat下安装,munin-nodemuninmaster(即munin)都默认安装在路径/etc/munin下。配置文件与插件都是在这里配置的。

1.munin-node.conf(客户端配置)

1.1配置文件

munin-node.conf是客户端(即munin-node)的配置文件。这边的配置比较简单,只需要配置服务器的IP地址就可以了。在allow新增一个服务器的IP配置。默认是配置了本机了,如果你的munin-nodemuninmaster是在同一台机器上面,默认就可以了。这个配置是用来限制那些IP可以访问的。

allow ^127.0.0.1$
allow ^::1$
allow ^192.168.1.2$

另外还可以修改端口、绑定IP地址等。都比较简单,就不多说了。

1.2启动、停止和重启

启动程序是/etc/init.d/下的munin-node可执行文件。也可以直接以服务的形式启动。

# service munin-node start        #启动
# service munin-node stop        #停止
# service munin-node restart     #重启

1.3测试

直接telnet就可以。端口默认是配置为4949的,那么telnet连接,输入help可以查看监控命令。

$ telnet 127.0.0.1 4949
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
# munin node at machinename
help
# Unknown command. Try cap, list, nodes, config, fetch, version or quit

2.munin.conf

2.1配置

munin.conf是服务端(即muninmaster)的配置文件。

首先去掉一下路径配置的注释。除了tmpldir,其它可自行配置。但是tmpldir要配置到muninHTML模板上,默认是在/etc/munin/templates下。基本上都有说明,还是比较容易看得懂的。

dbdir   /var/lib/munin
htmldir /var/cache/munin/www
logdir /var/log/munin
rundir  /var/run/munin
tmpldir /etc/munin/templates

然后找到localhost.localdomain节点。这个是用于配置需要监控的目标机器的。默认会配置本机127.0.0.1。根据需要,可新增需要监控的机器。可以增加多台机器,只要目标机器安装了munin-node就可以。如:

# a simple host tree
[local.127-0-0-1]
    address 127.0.0.1
    use_node_name yes
[mytest.192-168-1-3]
    address 192.168.1.3
    use_node_name yes
[mysql.192-168-1-4]
    address 192.168.1.4
    use_node_name yes

2.2启动

muninmaster安装成功后。会给系统增加一个munin用户。启动服务端(muninmaster)是无法用root权限启动的,只能使用munin用户启动。当然安装的时候,会默认自己启动的。并且会每隔5分钟,会定时执行munin-cron定时任务。基本上,修改完配置表后可以完全不用理会,等待服务端自己去更新即可。

当然如果你一定要马上更新,可以切换到munin用户,执行munin-cron命令。

# su munin -c /etc/init.d/munin-cron

执行无报错的话,是没有打印信息的。

3测试

munin.conf配置文件里面指定了生成的监控的html监控结果“htmldir/var/cache/munin/www”。只需要配置一个web服务器,可访问到目标路径“/var/cache/munin/www”即可。可以使用nginxapacheresin等主流web服务器。html都是静态文件,所以任何web服务器都是可以的。

访问web服务器,就可以查看结果了。

[Linux实用工具]Linux监控工具munin的安装和配置第2张

四、参考资料

官方安装说明:http://munin-monitoring.org/wiki/MuninInstallationLinux

近期研究独立博客,逐渐会与独立博客同步:

原文地址:《munin的安装和配置http://pertest.sinaapp.com/?page_id=16

免责声明:文章转载自《[Linux实用工具]Linux监控工具munin的安装和配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用MS Test做单元测试spring boot swagger-ui.html 404下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MRTG—网络监控工具

  最近一段时间在研究后台服务器测试技术,需要对后台服务器的各项性能指标进行实时监控和统计,也由此让我回想起之前公司曾经接触过的一个服务SNMP,SNMP是一种称之为简单网络管理协议的服务,主要是用于获取系统的流量、I/O、CPU、Memory和Disk等信息,通过自带的统计功能,将信息发送于监控程序上,最后以统计报表的形式展现于管理员,这种方式正是我所要...

linux-基础命令

目录 文件管理 文件查看cat 更改文件权限chmod 改属主属组chown 对比文件diff 文件查看head/tail/more/less实时监控日志 文件移动更名mv 文件删除rm 文件分割split 新建文件touch 文件预设权限umask 文件查找which 文件复制cp 文件查找whereis 远程文件复制scp 文档编辑...

pm2用法详解+ecosystem.config

对于后台进程的管理,常用的工具是crontab,可用于两种场景:定时任务和常驻脚本。关于常驻脚本,今天介绍一款更好用的工具:pm2,基于nodejs开发的进程管理器,适用于后台常驻脚本管理,同时对node网络应用有自建负载均衡功能。官方的说法,pm2是一个带有负载均衡功能的Node应用的进程管理器,个人认为,并不准确,因为pm2支持多种语言,只是对于除no...

【Hadoop】用 Ganglia 监控hadoop集群

随着数据中心的增长和管理人员的缩减,对计算资源使用有效监视工具的需求变得比以往更加迫切。术语监视 在应用到数据中心时可能会让人混淆,因为它的含义会根据具体的说话者和听众而有所不同。例如: 在集群中运行应用程序的人员会思考:“我的作业什么时候运行?它什么时候会完成?以及与上一次相比,它是怎样执行的?” 网络运营中心(NOC)的操作员会思考:“什么时候会出现...

Linux下实现免密码登录(超详细)

1.Linux下生成密钥   ssh-keygen的命令手册,通过”man ssh-keygen“命令:   通过命令”ssh-keygen -t rsa“   生成之后会在用户的根目录生成一个 “.ssh”的文件夹   进入“.ssh”会生成以下几个文件   authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的...

linux安装python3

--linux安装python3 centos系统本身默认安装有python2.x,可通过python --version 查看系统自带的python版本,有一些系统命令需要用到python2,安装python3时不能卸载python2。 1、安装依赖包                                                   ...