一、Monitorix简介
Monitorix是一款功能非常强大的免费开源轻型工具,目的在于监测Linux中的系统和网络资源。它可以定期收集系统和网络数据,并使用自己的Web界面,通过图形显示相关信息。Monitorix让用户可以监测系统整体性能,还有助于检测瓶颈、故障、不必要的超长响应时间及其他异常活动。
Monitorix用Perl语言编写而成,许可证遵循通用公共许可证(GNU)的条款,由自由软件基金会(FSP)发布。它使用RRDtool来生成图形,然后使用Web界面显示这些图形。
该工具是专门为了监测基于红帽、CentOS和Fedora的系统而开发的,但如今它可以在许多不同版本的GNU/Linux发行版上运行,甚至可以在诸如OpenBSD、NetBSD和FreeBSD之类的UNIX系统上运行。
Monitorix目前处于积极开发的状态,增添了新的特性、新的图形、新的更新版,并修复了软件错误,从而为Linux系统/网络管理员们提供了一款出色的工具。
官网:https://www.monitorix.org/
二、Monitorix功能
监测系统负载平均数值、活动进程、每个处理器的内核使用情况、全局内核使用情况和内存分配情况。
监测磁盘驱动器的温度和健康状况。
监测文件系统的使用情况和文件系统的输入/输出活动。
监测多达10个网络设备的网络流量使用情况。
监测众多系统服务,包括SSH、FTP、Vsftpd、ProFTP、SMTP、POP3、IMAP、POP3、VirusMail和Spam。
显示MTA Mail的统计数字,包括输入连接和输出连接。
显示网络端口流量,包括TCP和UDP等。
显示FTP的统计数字,使用FTP服务器的日志文件格式。
显示本地或远程服务器的Apache统计数字。
显示本地或远程服务器的MySQL统计数字。
显示Squid代理Web缓存的统计数字。
显示Fail2ban的统计数字。
监测远程服务器(多主机)。
能够按照每天、每周、每月或每年,通过图形或明文表格查看统计数字。
能够缩放图形,以便更清楚地查看。
能够定义每一行的图形数量。
内置的HTTP服务器。
三、安装
CentOS安装monitorix
1、首先添加yum源,使之能检索到相关依赖的rpm:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
下载rpm。其中包含源信息。
2、安装源rpm
rpm -ivh epel-release-latest-7.noarch.rpm
定位到下载目录下,运行上面命令。将自动把源信息添加到yum配置中。
3、安装monitorix相关依赖
Perl
Perl-libwww
Perl-MailTools
Perl-MIME-Lite
Perl-DBI
Perl-XML-Simple
Perl-Config-General
Perl-HTTP-Server-Simple
perl-IO-Socket-SSL
RRDtool与相应的Perl bindings(perl-rrdtool或者rrdtool-perl)
上面第一个是perl运行环境。perl是Linux生态的重要组成部分,著名的发行版都携带,这里不再安装。上面最后一行是RRDTool和perl的相关module,其他依赖都是perl的module。这些都通过yum安装。运行以下命令:
yum -y install rrdtool rrdtool-perl perl-libwww-perl perl-MailTools perl-MIME-Lite perl-CGI perl-DBI perl-XML-Simple perl-Config-General perl-HTTP-Server-Simple perl-IO-Socket-SSL
这里安装出错的话可以启动EPEL软件包
yum install epel-release
4、安装monitorix
从官方网站下载monitorix,这里我选择version3.9.0,其中选择noarch(不指定架构信息)的rpm。贴一个链接:http://www.monitorix.org/downloads.html。
安装这个monitorix的rpm:
rpm -ivh monitorix-3.9.0-1.noarch.rpm
安装成功后,便可以开始配置和启动了。
5、配置
配置文档默认是在/etc/monitorix/monitorix.conf,根据自身需要配置之。参阅官方文档。服务开启后默认监听的是8080端口,这个端口若已经占用,可以更改配置文件中的http_builtin节中的port属性。另外,高版本的monitorix可以使用内置的perlCGI服务器module,可以不再配置apache httpd这类托管软件。
6、启动
使用如下命令启动:
systemctl start monitorix
注意:若服务器有防火墙之类的服务,请自行设置允许请求从TCP8080端口通过。作为测试可以关闭之。比如我的CentOS服务器防火墙服务:
systemctl stop firewalldsystemctl stop iptables
7、测试访问
通过URL监控各个图例:http://your.server.ip.or.domain:8080/monitorix
其中8080是我们在配置时默认使用的监控服务监听端口。指定自己的server地址(ip或者domain)。在刚安装完成后,监控系统中几乎没有数据,这时候监控界面的图例啥都没有,不用担心,可以等待一两个小时,这样监控图便能很明显了。
Monitorix 主界面
进程、内存使用情况
NVIDIA显卡使用情况
更多监控页面截图,参考https://www.monitorix.org/screenshots.html