最近在进行一个新的项目,在上线的时候需要监控单台rhel 5.4的机器,以前一直使用nagios与cacti进行监控,但最近朋友推荐monitorix这个软件,所以我在测试的环境里部署了并进行测试,发现能监控的内容很多,很全面,而且安装简单,但monitorix这个还是比较适合单机的linux进行监控,所以是否使用monitorix来监控主机还是需要我们自己来根据实际情况进行选择,以下是monitorix的介绍。
Monitorix并不包含插件系统但是内置支持监控CPU、进程、内存、文本切换、温度、风扇速度、磁盘IO、网络流量、需求服务如POP3和HTTP、中断行为和连接到SSH和Samba的用户数量。
1、安装依赖库
先安装依赖的库与组件
- [root@master soft]#yum -y install httpd rrdtool rrdtool-perl perl-libwww-perl perl-MailTools perl-MIME-Lite perl-CGI perl-DBI
如果yum安装不成功,换下面的yum源重新安装
- [root@master soft]# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
- [root@master soft]# rpm -Uvh rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
然后在yum安装依赖库
2、安装monitorix
下载
- [root@master soft]# wget http://www.monitorix.org/monitorix-2.5.1-1.noarch.rpm
安装
- [root@master soft]# rpm -Uvh monitorix-2.5.1-1.noarch.rpm
启动
- [root@master soft]# /etc/init.d/monitorix start
- Starting monitorix: [ OK ]
3、修改http.conf
为了打开montiorix的网页,需要在httpd.conf里添加以下参数
- Alias /monitorix/ "/usr/share/monitorix/"
- <Directory "/usr/share/monitorix">
- DirectoryIndex index.php index.html index.htm
- Options Indexes FollowSymLinks
- AllowOverride None
- Order allow,deny
- Allow from all
- Directory>
- <Directory /usr/share/monitorix/cgi-bin/>
- DirectoryIndex monitorix.cgi
- Options ExecCGI
- order deny,allow
- deny from all
- allow from all
- Directory>
然后重启httpd
- [root@master soft]# service httpd restart
4、查看页面
通过http://localhost/monitorix来查看
刚开始打开的页面为
选择本机(local host),所有的都进行监控并产生拓扑,然后选择以日的方式进行展现
5、监控多台主机
先修改配置文件
- [root@master soft]# vim /etc/monitorix.conf
然后大约在613行
- 613 our $MULTIHOST = "N";
- 614 our $MULTIHOST_FOOTER = "Y";
- 615 our $MULTIHOST_IMGS_PER_ROW = "2";
- 616 our @REMOTEHOST_LIST = (
- 617 "server 1", "http://www.example.com",
- 618 "server 2", "http://10.0.0.1",
- 619 "server 3", "http://192.168.0.100:8080",
- 620 );
加入有4个机器监控,需要把multihost修改为y,在remotehost_list建立远程的主机列表,那么可以这样写
- 613 our $MULTIHOST = "Y";
- 614 our $MULTIHOST_FOOTER = "Y";
- 615 our $MULTIHOST_IMGS_PER_ROW = "2";
- 616 our @REMOTEHOST_LIST = (
- 617 "server 1", "http://10.1.88.188",
- 618 "server 2", "http://10.1.88.189",
- 619 "server 3", "http://10.1.88.20",
- 620 "server 4", "http://10.1.88.27",
- 621 );
然后保存并重启monitorix
- [root@master soft]# service monitorix restart
- Stopping monitorix: [ OK ]
- Starting monitorix: [ OK ]
这样就能监控多台主机了
效果图如下
比如我们监控server3
那么就能看的server 3的以下内容
只能看系统的负载,如果想看其他的也可以,但需要在首页里进行选择,比如查看磁盘的io
那么就能显示以下内容
对于多个监控来说,被监控机器也必须按照monitorix与httpd,并且启动才能在主监控机里监控到相应的信息;但如果查看远程的主机的监控信息的时候,一次只能查看单一的信息表,很麻烦,但软件就是这样设置,也没用办法进行修改,所以如果使用monitorix,而且需要监控远程主机的话,建议直接在每台主机里安装monitorix,同时通过每台主机的web来浏览本机的监控,这样能一次性查看所有的信息图;
下面是单机的效果图:
下图为系统的使用率
使用uptime来进行检测
下图为CPU使用率
里面包括user、nice、i/o等待等,非常的全面
下图为文件系统使用率与i/o活动
可以展现根分区、交换分区与boot分区的使用率,还有硬盘活动使用率
下图为网络的使用率
可以看得eth0网卡的使用率、报数与网络错误
下图也为网络的流量图
下图为系统的服务请求
可以看得ssh、ftp、telnet、samba等
下图为用户登录的数量图
下图为查看设备的使用
可以查看每个设备的使用
以上就是Monitorix的安装、配置,我个人感觉,Monitorix在进行单机监控的时候,比cacti跟全面、监控的内容更多,但如果监控多台机器的时候,还是cacti的更好,最后如何的选择,还是需要根据我们自己的实际环境、要求来进行选择。