方案解决:如何用MUNIN监控LINUX服务器性能?

日期: 2010-07-21 作者:James Turnbull翻译:鬼谷 来源:TechTarget中国 英文

监控LINUX主机的性能是一个很复杂的操作,它有赖于命令行工具和集中数据。分析可能会很困难,需要大量的数据来建立相互关系从而得出结论。好在我们可以用一些现有工具来搭建这个过程的模型,让数据分析变得相对容易一些。接下来我们能看到其中的一个工具,它叫做Munin(代表记忆,是奥丁神的一只乌鸦的名字)。

  Munin是通过客户端-服务器架构收集数据并将其图形化的工具。Munin允许你跟踪你的主机的运行记录,就是所谓的‘节点’,然后将它们发送到中央服务器,随后你就能在这里以图像形式展示它们。以下你可以看到一个用Munin图形界面显示磁盘IO信息的例子:   Munin可以通过安装包快速简易地安装到大……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

监控LINUX主机的性能是一个很复杂的操作,它有赖于命令行工具和集中数据。分析可能会很困难,需要大量的数据来建立相互关系从而得出结论。好在我们可以用一些现有工具来搭建这个过程的模型,让数据分析变得相对容易一些。接下来我们能看到其中的一个工具,它叫做Munin(代表记忆,是奥丁神的一只乌鸦的名字)。

  Munin是通过客户端-服务器架构收集数据并将其图形化的工具。Munin允许你跟踪你的主机的运行记录,就是所谓的‘节点’,然后将它们发送到中央服务器,随后你就能在这里以图像形式展示它们。以下你可以看到一个用Munin图形界面显示磁盘IO信息的例子:

Munin,Linux,监控,服务器性能

  Munin可以通过安装包快速简易地安装到大多数Linux系统上。在红帽和Ubuntu/Debian上你都需要Munin,munin-node和munin-common安装包(这个组合假设你还需要监控服务器的情况),以红帽为例:

$ yum install munin munin-common munin-node

  Munin安装将它的配置文件放在目录/etc/munin下。让我们就从配置munin服务器开始吧。主要的服务器配置文件是munin.conf,它控制服务器的设置和每个节点的配置信息。在大多数情况下用默认设置就可以了,但是其它几个选项你也应该知道:dbdir、htmldir、logdir 和rundir。

  Dbdir设置决定munin把收集到的RRD格式的统计数据放在哪个目录下,在红帽和ubuntu系统中默认的是放在/var/lib/munin这个目录下。

  Htmldir设置控制munin输出数据的位置,它是以html文件来显示图形界面的。在红帽系统中默认的是放在/var/www/html/munin目录下,而在ubuntu中的是放在/var/cache/munin/www目录下。这个目录正是我们一般为网页服务器服务时所采用的目录,例如Apache。最好的操作办法之一就是运用Apache虚拟主机,创建一个虚拟主机可以用来图形化显示我们的节点状态:

<VirtualHost *:80>
     ServerAdmin webmaster@localhost     ServerName   munin.example.com     DocumentRoot /var/www/html/munin     <Directory />         Options FollowSymLinks         AllowOverride None     </Directory>     LogLevel notice     CustomLog /var/log/apache2/munin.access.log combined     ErrorLog /var/log/apache2/munin.error.log     ServerSignature On </VirtualHost>

  Logdir和rundir设置控制munin的日志文件和pid文件放置位置。

  最后,我们也必须在munin.conf文件中定义所有将向服务器发送报告的节点主机,命令是:

 [hostname.example.com]  address 10.0.0.1  use_node_name yes [hostname2.example.com]  address 10.0.0.2  use_node_name yes

  括号中是每个节点的名字,后面是它的IP地址,use_node_name命令控制munin命名节点的方式,如果后面跟的参数为yes就是用括号中的值来命名,如果是no则将执行一个DNS查询。另外,你可以用includedir选项来命名一个单独的目录,munin将在这里加载所有的文件,例如:

includedir /etc/munin/munin-conf.d/

  我经常用puppet导出资源来管理munin配置,首先在每个puppet客户端上创建一个独立的文件,然后用munin在这个文件中加载节点信息。

  到这一步,服务器就已经配置好了,接下来我们需要配置节点。将munin-node包安装在每个节点并且配置/etc/munin目录下的munin-node.conf文件。大多数配置信息都不需要改变,但是你需要更改allow选项,它控制哪一个主机能访问munin和检索统计。我们用IP地址来配置munin服务器,例如:

allow ^10.0.0.100$

  正如你看到的,IP地址必须用perl常用格式来输入。如果你的munin服务器不只一台,那么你可以用多行允许命令来定义它们。

  每个munin节点都用tcp端口4949来和munin服务器通讯,所以你必须确保这个端口在主机防火墙上是打开的,并且在节点和服务器中间环节的任何一个防火墙上都允许数据通过。你可以在munin-node.conf文件中的port选项来定义这个端口号。

  除了基本设置外,我们还需要指示节点哪些数据是需要收集的。Munin采用插件程序的架构方式来定义监控内容。例如,有专门监控CPU的插件,还有监控负载、内存和其它内容的各种插件。Munin的所有插件清单可以在/etc/munin/plugins目录下找到,它们以链接到插件的sym-links形式显示。添加一个插件到munin的过程就是将插件文件的链接写入到/etc/munin/plugins目录下。如果插件需要某个配置,例如定义运行插件要求的用户,你都可以在目录/etc/munin/plugins.conf.d下找到该配置文件。

  munin默认包含很丰富的内容,你可能不需要改变初始的基本设置,因为它们已经提供了足够的采集数据。Munin还提供大量有用的插件,你还能在社区中找到许多别人交流的插件。你可以用你熟悉的语言很容易开发出新的插件来。

  最后,我们通过运行munin-node init脚本来启动munin服务器和节点。

$ sudo /etc/init.d/munin-node start

  这样就能开始munin监控并收集需要的数据,munin控制将周期性地查看每个节点的数据然后将其上传到munin服务器上。接着就可以通过munin控制上的网页服务来查看结果数据了。

  所有的内容就是这些了。现在你可以用图形界面查看你的服务器的行为状态,并且可以探测到性能趋势和可能发生的问题。如果你觉得munin不适合你,也可以考虑使用另一个叫做collected的工具,它和munin比较相似,用C语言编写,它提供的功能可能比munin更加完善。它要求安装额外的软件来获取这些功能,但也是一个不错的可供参考的平台。

作者

James Turnbull
James Turnbull

暂无

翻译

鬼谷
鬼谷

相关推荐