网站搜索

Observium:适用于 RHEL/CentOS 的完整网络管理和监控系统


Observium 是一款 PHP/MySQL 驱动的网络观察和监控应用程序,支持多种操作系统/硬件平台,包括 Linux、Windows、FreeBSD、Cisco、HP、Dell、NetApp 等。它旨在提供一个强大且简单的 Web 界面来监控网络的运行状况和性能。

Observium 借助 SNMP 从设备收集数据,并通过 Web 界面以图形模式显示这些数据。它大量使用了 RRDtool 包。它有许多瘦核心设计目标,其中包括收集尽可能多的设备历史信息,完全自动发现,只需轻微或无需手动中断,以及拥有一个非常简单但功能强大的界面。

天文台演示

请在以下位置快速在线演示开发人员部署的 Observium。

  1. http://demo.observium.org/

本文将指导您如何在RHELCentOSScientific Linux上安装Observium,支持的版本是EL企业 Linux) 6.x。目前,EL 版本 45 分别不支持 Observium。因此,请不要在这些版本上使用以下说明。

步骤 1:添加 RPM Forge 和 EPEL 存储库

RPMForgeEPEL 是一个存储库,为 RHEL、CentOS 和 Scientific Linux 提供许多附加 rpm 软件包。让我们使用以下命令来安装并启用这两个基于社区的存储库。

在 i386 系统上
yum install wget
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt
rpm -Uvh rpmforge-release-0.5.3-1.el5.rf.i386.rpm
rpm -Uvh epel-release-6-8.noarch.rpm
在 x86_64 系统上
yum install wget
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.rpm
wget http://epel.mirror.net.in/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt
rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.rpm
rpm -Uvh epel-release-6-8.noarch.rpm

第2步:安装所需的软件包

现在让我们安装 Observium 所需的软件包。

yum install httpd php php-mysql php-gd php-snmp vixie-cron php-mcrypt \
php-pear net-snmp net-snmp-utils graphviz subversion mysql-server mysql rrdtool \
fping ImageMagick jwhois nmap ipmitool php-pear.noarch MySQL-python

如果您想监控虚拟机,请安装“libvirt”软件包。

yum install libvirt

第 3 步:下载 Observium

供您参考,Observium 有以下两个版本

  1. 社区/开源版:该版本可以免费下载,但功能较少,安全修复也很少。
  2. 订阅版:该版本具有附加功能、快速功能/修复、硬件支持和易于使用的基于 SVN 的发布机制。

首先直接导航到/opt,这里我们将默认安装Observium。如果您想安装在其他地方,请相应地修改命令和配置。我们强烈建议您首先部署在 /opt 目录下。一旦确认一切正常,您就可以安装在您想要的位置。

如果您有有效的 Observium 订阅,则可以使用 SVN 存储库下载最新版本。有效的订阅帐户仅对一次安装和两次测试或开发安装有效,并包含每日安全补丁、新功能和错误修复。

要下载 Observium 的最新稳定版本,您需要在系统上安装 svn 软件包,以便从 SVN 存储库中提取文件。

yum install svn
开发版
svn co http://svn.observium.org/svn/observium/trunk observium
稳定版
svn co http://svn.observium.org/svn/observium/branches/stable observium

我们没有有效的订阅,因此我们将使用社区/开源版尝试 Observium。下载最新的“observium-community-latest.tar.gz”稳定版本并解压,如图所示。

cd /opt
wget http://www.observium.org/observium-community-latest.tar.gz
tar zxvf observium-community-latest.tar.gz

第 4 步:创建 Observium MySQL 数据库

这是 MySQL 的全新安装。因此,我们将借助以下命令设置新的 root 密码。

service mysqld start
/usr/bin/mysqladmin -u root password 'yourmysqlpassword'

现在登录 mysql shell 并创建新的 Observium 数据库。

mysql -u root -p

mysql> CREATE DATABASE observium;
mysql> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY 'dbpassword';

第 5 步:配置 Observium

配置 SELinux 以与 Observium 配合使用超出了本文的范围,因此我们禁用了 SELinux。如果您熟悉 SELinux 规则,那么您可以配置它,但不能保证 Observium 与活动的 SELinux 一起工作。因此,最好永久禁用它。为此,请打开“/etc/sysconfig/selinux”文件并将选项从“permissive”更改为“disabled”。

vi /etc/sysconfig/selinux
SELINUX=disabled

将默认配置文件“config.php.default”复制到“config.php”并修改设置,如图所示。

/opt/observium
cp config.php.default config.php

现在打开“config.php”文件并输入 MySQL 详细信息,例如数据库名称、用户名和密码。

vi config.php
// Database config
$config['db_host'] = 'localhost';
$config['db_user'] = 'observium';
$config['db_pass'] = 'dbpassword';
$config['db_name'] = 'observium';

然后将 fping 二进制位置条目添加到 config.php。在 RHEL 发行版中,位置有所不同。

$config['fping'] = "/usr/sbin/fping";

接下来,运行以下命令来设置 MySQL 数据库并插入数据库默认文件架构。

php includes/update/update.php

第 6 步:为 Observium 配置 Apache

现在在‘/opt/observium’目录下创建一个‘rrd’目录来存储RRD。

/opt/observium
mkdir rrd

接下来,将 Apache 所有权授予“rrd”目录,以便在此目录下写入和存储 RRD。

chown apache:apache rrd

在“/etc/httpd/conf/httpd.conf”文件中为 Obervium 创建 Apache 虚拟主机指令。

vi /etc/httpd/conf/httpd.conf

在文件底部添加以下虚拟主机指令并启用虚拟主机部分,如下面的屏幕截图所示。

<VirtualHost *:80>
  DocumentRoot /opt/observium/html/
  ServerName  observium.domain.com
  CustomLog /opt/observium/logs/access_log combined
  ErrorLog /opt/observium/logs/error_log
  <Directory "/opt/observium/html/">
  AllowOverride All
  Options FollowSymLinks MultiViews
  </Directory>
  </VirtualHost>

要维护 observium 日志,请在“/op/observium”下为 Apache 创建一个“logs”目录,并应用 Apache 所有权来写入日志。

mkdir /opt/observium/logs
chown apache:apache /opt/observium/logs

全部设置完成后,重启Apache服务。

service httpd restart

第7步:创建Observium管理员用户

添加第一个用户,为管理员指定 10 级别。确保用您的选择替换用户名和密码。

cd /opt/observium
./adduser.php tecmint tecmint123 10

User tecmint added successfully.

接下来添加新设备并运行以下命令来填充新设备的数据。

./add_device.php <hostname> <community> v2c
./discovery.php -h all
./poller.php -h all

接下来设置一个 cron 作业,创建一个新文件“/etc/cron.d/observium”并添加以下内容。

33  */6   * * *   root    /opt/observium/discovery.php -h all >> /dev/null 2>&1
*/5 *      * * *   root    /opt/observium/discovery.php -h new >> /dev/null 2>&1
*/5 *      * * *   root    /opt/observium/poller-wrapper.py 1 >> /dev/null 2>&1

重新加载 cron 进程以获取新条目。

/etc/init.d/cron reload

最后一步是在系统范围内添加 httpd 和 mysqld 服务,以便在系统启动后自动启动。

chkconfig mysqld on
chkconfig httpd on

最后,打开您最喜欢的浏览器并指向http://Your-Ip-Address

天文台截图之旅

以下是 2013 年中期的屏幕截图,取自 Observium 网站。如需最新视图,请查看现场演示。

结论

Observium 并不意味着完全删除 Nagios 或 Cacti 等其他监控工具,而是通过对某些设备的深入了解来添加它们。因此,将 Observium 与 Naigos 或其他监控系统一起部署以提供警报并使用 Cacti 来生成网络设备的自定义图形非常重要。

参考链接

  1. 天文台主页
  2. 天文台文档