监控LINUX主机的性能是一个很复杂的操作,它有赖于命令行工具和集中数据。分析可能会很困难,需要大量的数据来建立相互关系从而得出结论。好在我们可以用一些现有工具来搭建这个过程的模型,让数据分析变得相对容易一些。接下来我们能看到其中的一个工具,它叫做Munin(代表记忆,是奥丁神的一只乌鸦的名字)。
Munin是通过客户端-服务器架构收集数据并将其图形化的工具。Munin允许你跟踪你的主机的运行记录,就是所谓的‘节点’,然后将它们发送到中央服务器,随后你就能在这里以图像形式展示它们。以下你可以看到一个用Munin图形界面显示磁盘IO信息的例子:
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文件放置位置。