Monitorix:一款面向Linux的轻型系统和网络监测工具

Stella981
• 阅读 716

Monitorix是一款功能非常强大的免费开源轻型工具,目的在于监测Linux中的系统和网络资源。它可以定期收集系统和网络数据,并使用自己的Web界面,通过图形显示相关信息。Monitorix让用户可以监测系统整体性能,还有助于检测瓶颈、故障、不必要的超长响应时间及其他异常活动。

Monitorix用Perl语言编写而成,许可证遵循通用公共许可证(GNU)的条款,由自由软件基金会(FSP)发布。它使用RRDtool来生成图形,然后使用Web界面显示这些图形。

该工具是专门为了监测基于红帽、CentOS和Fedora的系统而开发的,但如今它可以在许多不同版本的GNU/Linux发行版上运行,甚至可以在诸如OpenBSD、NetBSD和FreeBSD之类的UNIX系统上运行。

Monitorix目前处于积极开发的状态,增添了新的特性、新的图形、新的更新版,并修复了软件错误,从而为Linux系统/网络管理员们提供了一款出色的工具。

Monitorix功能简介

  • 监测系统负载平均数值、活动进程、每个处理器的内核使用情况、全局内核使用情况和内存分配情况。
  • 监测磁盘驱动器的温度和健康状况。
  • 监测文件系统的使用情况和文件系统的输入/输出活动。
  • 监测多达10个网络设备的网络流量使用情况。
  • 监测众多系统服务,包括SSH、FTP、Vsftpd、ProFTP、SMTP、POP3、IMAP、POP3、VirusMail和Spam。
  • 显示MTA Mail的统计数字,包括输入连接和输出连接。
  • 显示网络端口流量,包括TCP和UDP等。
  • 显示FTP的统计数字,使用FTP服务器的日志文件格式。
  • 显示本地或远程服务器的Apache统计数字。
  • 显示本地或远程服务器的MySQL统计数字。
  • 显示Squid代理Web缓存的统计数字。
  • 显示Fail2ban的统计数字。
  • 监测远程服务器(多主机)。
  • 能够按照每天、每周、每月或每年,通过图形或明文表格查看统计数字。
  • 能够缩放图形,以便更清楚地查看。
  • 能够定义每一行的图形数量。
  • 内置的HTTP服务器。

想了解新功能和更新版的完整列表,请访问官方的功能特性页面

将Monitorix安装到RHEL/CentOS/Fedora Linux上

首先,安装下列所需的程序包。

   # yum 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 wget 

  
  
  

要是万一yum未能成功安装一个或多个上述程序包,那么你可以启用下列额外的软件库来安装它们。

启用EPEL软件库

启用RPMforge软件库

下一步,使用wget命令,下载最新版本的'Monitorix'程序包。

   # wget http://www.monitorix.org/monitorix-3.4.0-1.noarch.rpm 

  
  
  

一旦成功下载,使用rpm命令安装它。

   # rpm -ivh monitorix-3.4.0-1.noarch.rpm 
 
   
   
   Preparing...                ########################################### [100%] 
 
   
   
   1:monitorix              ########################################### [100%] 

  
  
  

一旦成功安装,请查看一下主配置文件'/etc/monitorix.conf',根据你的系统添加一些额外的设置,启用或禁用图形。

最后,将Monitorix服务添加到系统启动项,并使用下面两个命令来开启这项服务。

   # chkconfig --level 35 monitorix on 
 
   
   
   # service monitorix start 

  
  
  

一旦你开启了这项服务,该程序会开始根据'/etc/monitorix.conf'文件里面的配置集,收集系统信息;几分钟过后,你会开始在以下位置,从浏览器看到系统图形:

   http://localhost:8080/monitorix/ 

  
  
  

如果你有处于启用状态的SELinux,那么图形看不见,你会在'/var/log/messages'或'/var/log/audit/audit.log'文件中看到大量的错误信息,这些错误信息显示了访问RRD数据库文件被拒绝。想清除这类错误信息和右见的图形,你就需要禁用SELinux。

想关闭SELinux,只要在'/etc/selinux/config'文件中将"enforcing"这一行改成"disabled"。

   SELINUX=disabled 

  
  
  

上面这一更改会临时禁用SELinux,直到你重启机器为止。如果你希望系统总是在禁用模式下开启,就要重启系统。

将Monitorix安装到Ubuntu/Debian/Linux Mint上

**http://www.monitorix.org/doc-debian.html
**

Monitorix的安装可以通过两种方式来完成,一种是使用Izzy软件库完成自动安装/更新,另一种是使用手动下载和安装.deb程序包。

Izzy软件库是一个试验性的软件库,但是来自该软件库的程序包应该适用于所有版本的Ubuntu和Debian等发行版。不过,我们无法保证绝对正确――所以,风险自负。如果你仍然想通过apt-get,添加该软件库以便自动更新,只要遵循下面提供的步骤,就可以实现自动安装。

使用Izzy软件库,自动安装

把下面这一行添加到你的'/etc/apt/sources.list'文件。

   deb http://apt.izzysoft.de/ubuntu generic universe 

  
  
  

获得该软件库的GPG密钥,你可以使用wget命令来获得密钥。

   # wget http://apt.izzysoft.de/izzysoft.asc 

  
  
  

一旦下载完毕,将该GPG密钥添加到apt配置,只需使用'apt-key'这个命令,如下所示。

   # apt-key add izzysoft.asc 

  
  
  

最后,通过该软件库安装程序包。

   # apt-get update 
 
   
   
   # apt-get install monitorix 

  
  
  

使用.Deb程序包,手动安装

手动下载最新版本的.deb程序包,并安装它,并处理好所需的依赖项,如下所示。

   # apt-get update 
 
   
   
   # apt-get install rrdtool perl libwww-perl libmailtools-perl libmime-lite-perl librrds-perl libdbi-perl libxml-simple-perl 
 
   
   
   # wget http://www.monitorix.org/monitorix_3.4.0-izzy1_all.deb 
 
   
   
   # dpkg -i monitorix_3.4.0-izzy1_all.deb 

  
  
  

安装过程中,会进行Web服务器配置。所以,你需要重新装入Apache Web服务器,体现新的配置。

   # service apache2 reload 

  
  
  

Monitorix随带一个默认配置,如果你想更改或调整一些设置,就要看一下'/etc/monitorix.conf'处的这个配置文件。一旦你完成了更改,重新装入服务,让新配置生效。

   # service monitorix restart 

  
  
  

现在,将你的浏览器指向'http://localhost/monitorix/',开始查看显示你系统情况的图形。它只可以从本地主机加以访问;如果你希望允许访问远程IP,只要打开'/etc/apache2/conf.d/monitorix.conf'文件,将IP地址添加到'Allow from'语句。请参阅如下例子。

   <Directory /usr/share/monitorix/cgi-bin/> 
 
   
   
   DirectoryIndex monitorix.cgi 
 
   
   
   Options ExecCGI 
 
   
   
   Order Deny,Allow 
 
   
   
   Deny from all 
 
   
   
   Allow from 172.16.16.25 
 
   
   
   </Directory> 

  
  
  

在你对上述配置进行了更改后,别忘了重启Apache。

   # service apache2 reload 

  
  
  

To fine-tune your installation, take a look at the /etc/monitorix/monitorix.conf file (and optionally the documentation) to adjust some things (like network interfaces, filesystems, disks, etc.).

Monitorix屏幕截图:

下面是一些屏幕截图,请参阅。

Monitorix:一款面向Linux的轻型系统和网络监测工具

Monitorix Web界面

Monitorix:一款面向Linux的轻型系统和网络监测工具

系统负载平均数值、活动进程和内存分配情况。

Monitorix:一款面向Linux的轻型系统和网络监测工具

全局内核使用情况

Monitorix:一款面向Linux的轻型系统和网络监测工具

每个处理器的内核使用情况

Monitorix:一款面向Linux的轻型系统和网络监测工具

磁盘驱动器的温度和健康状况

Monitorix:一款面向Linux的轻型系统和网络监测工具

文件系统的使用情况和输入/输出活动

Monitorix:一款面向Linux的轻型系统和网络监测工具

eth0接口流量

Monitorix:一款面向Linux的轻型系统和网络监测工具

系统服务需求

Monitorix:一款面向Linux的轻型系统和网络监测工具

网络端口流量

Monitorix:一款面向Linux的轻型系统和网络监测工具

Apache的统计数字

Monitorix:一款面向Linux的轻型系统和网络监测工具

MySQL的统计数字

原文链接:http://www.tecmint.com/monitorix-a-lightweight-system-and-network-monitoring-tool-for-linux/

来源: http://os.51cto.com/art/201312/425377.htm

来自为知笔记(Wiz)

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这