一、monitorix

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

二、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安装

(1)Monitorix安装到RHEL/CentOS/Fedora Linux上

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

  1. # 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'程序包。

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

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

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

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

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

  1. # chkconfig --level 35 monitorix on
  2. # service monitorix start

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

  1. http://localhost:8080/monitorix/

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

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

  1. SELINUX=disabled

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

(2)将Monitorix安装到Ubuntu/Debian/Linux Mint上

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

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

使用Izzy软件库,自动安装

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

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

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

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

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

  1. # apt-key add izzysoft.asc

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

  1. # apt-get update
  2. # apt-get install monitorix

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

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

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

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

  1. # service apache2 reload

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

  1. # service monitorix restart

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

  1. <Directory /usr/share/monitorix/cgi-bin/>
  2. DirectoryIndex monitorix.cgi
  3. Options ExecCGI
  4. Order Deny,Allow
  5. Deny from all
  6. Allow from 172.16.16.25
  7. </Directory>

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

  1. # service apache2 reload

四、Monitorix屏幕截图:

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

Monitorix Web界面

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

全局内核使用情况

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

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

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

eth0接口流量

系统服务需求

网络端口流量

Apache的统计数字

MySQL的统计数字

monitorix(linux)系统和网络监控公工具的更多相关文章

  1. 【转载】Linux系统与性能监控

    原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...

  2. Linux系统与性能监控

    原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...

  3. Linux系统和性能监控之CPU篇

    Linux系统和性能监控之CPU篇 性能优化就是找到系统处理中的瓶颈以及去除这些的过程.本文由sanotes.net站长tonnyom在2009年8月翻译自Linux System and Perfo ...

  4. 如何配置Linux系统的网络IP地址

    一台安装了Linux系统的电脑如果想要联网,首先要做的就是进行网络配置.今天小编就以CentOS6.4系统为例为大家介绍整个网络配置的过程,虽然只是以CentOS6.4系统为例,但是其它的Linux系 ...

  5. Linux系统NFS网络文件系统

    Linux系统NFS网络文件系统 NFS(network file system)网络文件系统,就是通过网络让不同的主机系统之间可以共享文件或目录,此种方法NFS客户端使用挂载的方式让共享文件或目录到 ...

  6. CentOS(六)--Linux系统的网络环境配置

    Linux系统下的网络环境配置,Linux.Unix就是网络的世界,所以在Linux系统中如何配置网络环境变量是至关重要的,这里将会给出3种Linux系统下网络环境配置的方法! 在配置网络环境之前,首 ...

  7. LINUX系统下MySQL 压力测试工具super smack

    摘要:1.源文件下载地址:http://vegan.net/tony/supersmack/2.安装:注意在编译时,可以先把对应的libmysqlclient.so.*拷贝到/usr/lib3.测试: ...

  8. Linux 系统的网络基础_【all】

    网络基础 1.网线:568B: 白橙 橙色 白绿 蓝色 白蓝 绿色 白棕 棕色 2.交换机:电信号转发的网络设备,它可以为接入交换机的任2个网络节点设备提供电信号通信 3.路由器:连接局域网,广域网的 ...

  9. Linux系统基本网络配置之ifconfig命令

    Linux系统基本网络配置之ifconfig命令 一.Linux系统的网络配置基本包括:网络IP的配置.网关路由的配置.主机DNS的配置.主机名的配置等,本篇注重介绍网络IP的配置. 二.Linux系 ...

随机推荐

  1. ORM--Entity Framework 学习(01)

    关键词:Entity Framework:微软官方提供的ORM工具,ORM让开发人员节省数据库访问的代码时间,将更多的时间放到业务逻辑层代码上.EF提供变更跟踪.唯一性约束.惰性加载.查询事物等.开发 ...

  2. Nginx的站点目录及文件URL的访问控制

    1.根据扩展名限制程序和文件访问: web2.0时代,绝大多数网站都是以用户为中心的,这些产品有一些共同点,就是不允许用户发布内容到服务器,还允许用户发图片甚至附件上传到服务器上,给用户开启了上传的功 ...

  3. SQLServer 学习笔记之超详细基础SQL语句 Part 10

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 9------------------- 删除约束的语法 ALTER T ...

  4. flutter 调用原生(获取当前设备电池电量)

    代码: import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'dart:asy ...

  5. Android ConstraintLayout详解(from jianshu)

    Android ConstraintLayout详解 https://www.jianshu.com/p/a8b49ff64cd3 1. 概述     在本篇文章中,你会学习到有关Constraint ...

  6. [Java][读书笔记]多线程编程

    前言:最近复习java,发现一本很好的资料,<J​a​v​a​2​参​考​大​全​ ​(​第​五​版​)​> ​ ​H​e​r​b​e​r​t​.Schildt.书比较老了,06年的,一些 ...

  7. 创建Filter类

    1.Filter可认为是servlet的一种“加强版”,它主要用于对用户请求进行预处理,也可以对HttpServletresponse进行后处理,是个典型的处理链.Filter也可对用户请求生成响应, ...

  8. PHP多进程编之pcntl_fork

    其实PHP是支持并发的,只是平时很少使用而已.平时使用最多的应该是使用PHP-FMP调度php进程了吧. 但是,PHP的使用并不局限于做Web,我们完全也可以使用PHP来进行系统工具类的编程,做监控或 ...

  9. AWS CSAA -- 04 AWS Object Storage and CDN - S3 Glacier and CloudFront(三)

    021 Storage Gateway 022 Snowball 023 Snowball - Lab 024 S3 Transfer Acceleration

  10. LeetCode 题解之 Two Sum

    1.题目描述 2.问题分析 使用hashTable 寻找,target  -  num[i] ,将时间复杂度降低到 O(n): 3.代码 vector<int> twoSum(vector ...