Observium:适用于 RHEL/CentOS 的完整网络管理和监控系统
Observium 是一款 PHP/MySQL 驱动的网络观察和监控应用程序,支持多种操作系统/硬件平台,包括 Linux、Windows、FreeBSD、Cisco、HP、Dell、NetApp 等。它旨在提供一个强大且简单的 Web 界面来监控网络的运行状况和性能。
Observium 借助 SNMP 从设备收集数据,并通过 Web 界面以图形模式显示这些数据。它大量使用了 RRDtool 包。它有许多瘦核心设计目标,其中包括收集尽可能多的设备历史信息,完全自动发现,只需轻微或无需手动中断,以及拥有一个非常简单但功能强大的界面。
天文台演示
请在以下位置快速在线演示开发人员部署的 Observium。
- http://demo.observium.org/
本文将指导您如何在RHEL、CentOS和Scientific Linux上安装Observium,支持的版本是EL(企业 Linux) 6.x。目前,EL 版本 4 和 5 分别不支持 Observium。因此,请不要在这些版本上使用以下说明。
步骤 1:添加 RPM Forge 和 EPEL 存储库
RPMForge 和 EPEL 是一个存储库,为 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 有以下两个版本
- 社区/开源版:该版本可以免费下载,但功能较少,安全修复也很少。
- 订阅版:该版本具有附加功能、快速功能/修复、硬件支持和易于使用的基于 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 来生成网络设备的自定义图形非常重要。
参考链接:
- 天文台主页
- 天文台文档