一、
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软件包
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 firewalld
systemctl stop iptables
7、测试访问
通过URL监控各个图例: http://your.server.ip.or.domain:8080/monitorix
其中8080是我们在配置时默认使用的监控服务监听端口。指定自己的server地址(ip或者domain)。在刚安装完成后,监控系统中几乎没有数据,这时候监控界面的图例啥都没有,不用担心,可以等待一两个小时,这样监控图便能很明显了。
一些监控页面截图,参考 https://www.monitorix.org/screenshots.html
Monitorix main page using the default black theme.
System load average, active processes and memory allocation.
Global kernel usage.
Per-processor kernel usage.
Complete LM-Sensors and GPU temperatures.
Generic sensors.
HP ProLiant System Health.
IPMI sensors.
Ambient Sensors.
NVIDIA temperatures and usage.
Disk drive temperatures and health.
Filesystem usage and I/O activity.
ZFS statistics with 1 pool named
zfsbackup
.
Directory usage.
Ethernet interface with traffic, packets and errors activity.
Netstat statistics.
Traffic Control statistics.
Libvirt statistics of 5 virtual machines.
System services demand (in incremental mode).
System services demand (in load mode).
Process statistics.
MTA statistics.
Network port activity.
Users using the system.
FTP statistics.
Apache statistics.
Nginx statistics.
Lighttpd statistics.
MySQL statistics.
MongoDB statistics.
Varnish statistics.
PageSpeed Module statistics.
Squid Proxy Web Cache statistics.
NFS server statistics.
NFS client statistics.
BIND statistics.
Unbound statistics.
NTP statistics.
Chrony statistics.
Fail2ban statistics.
Icecast Streaming Media Server.
Raspberry Pi sensor statistics.
Alternative PHP Cache statistics.
Memcached statistics.
PHP-FPM statistics.
APC UPS statistics.
Network UPS Tools statistics.
Wowza Media Server statistics.
Devices' interrupt activity.
Verlihub statistics.
Monitorix installed on a network gateway server showing Internet activity graphs of 12 devices.
System load average of 20 remote GNU/Linux servers using Multihost view (with one of them down).