当前位置: 首页 > 工具软件 > Observium > 使用案例 >

如何在 CentOS/RHEL 系统上执行 Observium 安装

司徒斌
2023-12-01

介绍

本指南将向您展示如何在 CentOS/RHEL/Scientific Linux 系统上执行 Observium 安装。

兼容版本

本指南适用于 RHEL 和 CentOS 版本 7 和 8。我们强烈建议使用版本 8 或更高版本。

远程SSH

如果需要安装SSH远程安装,可以通过YUM安装:

yum install openssh

然后就可以启动SSH服务器并添加到系统启动

systemctl enable sshd
systemctl start sshd

RHEL / CentOS 8

存储库

添加 EPEL、OpenNMS 和 REMI 存储库,并切换到 REMI 的 PHP 7.4 包。

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
yum install http://yum.opennms.org/repofiles/opennms-repo-stable-rhel8.noarch.rpm
yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
yum install yum-utils
dnf module enable php:remi-7.4

套餐

安装 Observium 所需的软件包

yum install wget httpd php php-opcache php-mysqlnd php-gd php-posix php-pear cronie net-snmp \
            net-snmp-utils fping mariadb-server mariadb rrdtool subversion whois ipmitool graphviz \
            ImageMagick php-sodium python3 python3-mysql python3-PyMySQL

将 Python3 设置为默认 Python 版本

alternatives --set python /usr/bin/python3

如果要监控 libvirt 虚拟机,请安装 libvirt

yum install libvirt

RHEL / CentOS 7

推荐版本

我们强烈推荐使用 CentOS 8

存储库

对于更多扩展包列表,我们首先安装 REMI、OpenNMS 和 EPEL 存储库:

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install http://yum.opennms.org/repofiles/opennms-repo-stable-rhel7.noarch.rpm
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

套餐

安装 yum-utils 并切换到 REMI 的 PHP 7.2 包

yum install yum-utils
yum-config-manager --enable remi-php72

更新所有已安装的软件包

yum update

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

yum install wget.x86_64 httpd.x86_64 php.x86_64 php-opcache.x86_64 php-mysql.x86_64 php-gd.x86_64 \
            php-posix php-pear.noarch cronie.x86_64 net-snmp.x86_64 net-snmp-utils.x86_64 \
            fping.x86_64 mariadb-server.x86_64 mariadb.x86_64 MySQL-python.x86_64 rrdtool.x86_64 \
            subversion.x86_64  jwhois.x86_64 ipmitool.x86_64 graphviz.x86_64 ImageMagick.x86_64 \
            php-sodium.x86_64

如果您希望能够监控 libvirt 虚拟机,请安装 libvirt:

yum install libvirt.x86_64

下载天文台

首先,创建一个 Observium 所在的目录:

mkdir -p /opt/observium && cd /opt

天文台版

Observium 有两个版本,一个是每两年发布一次的开源社区版,另一个是订阅版,每天都有附加功能、快速错误修复和功能改进以及易于使用的基于 SVN 的更新机制。

天文台社区版

如果您想安装社区版,请使用最新的 .tar.gz 版本进行安装。

下载 Observium 最新的 .tar.gz 并解压:

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

天文台订阅版

如果您拥有有效的 Observium订阅,请使用自动 SVN 发布存储库之一。

我们向stable打算使用自动更新来保持 Observium 安装最新的人推荐该培训。

对于current火车:

svn co https://svn.observium.org/svn/observium/trunk observium

对于stable火车:

svn co https://svn.observium.org/svn/observium/branches/stable observium

MySQL 数据库

启动 MySQL/MariaDB 并将其配置为在启动时运行。

systemctl enable mariadb
systemctl start mariadb

设置 MySQL 根密码:

/usr/bin/mysqladmin -u root password '<mysql root password>'

创建 MySQL 数据库:

mysql -u root -p
<mysql root password>
mysql> CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY '<observium db password>';
mysql> exit;

天文台配置

切换到新的安装目录:

cd observium

复制默认配置文件并为您的系统编辑它:

cp config.php.default config.php

编辑 config.php。更改选项以反映您的安装。

MySQL 凭据

您必须将包含在db_user和 中的 MySQL 用户名和密码更改为db_pass在上一步中设置的用户名和密码。大多数其他设置可以保留为默认值。

插入 MySQL 架构

使用升级开关运行 discovery.php 脚本-u以插入初始 MySQL 模式

./discovery.php -u

SQL 修订中出现一些错误是可以的

飞平

由于 Fping 位于不同的位置,因此在 config.php 中添加一行以告诉 Observium。

[root@observium-centos observium]# which fping
/sbin/fping

添加以下内容

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

SELinux

解释 SELinux 以及如何使 Observium 在其中工作超出了本指南的范围,因此我们将禁用它。如果您有足够的能力维护 SELinux,那么这也是可能的,但它是一种比 RHEL/CentOS 本身更不受支持的配置。

首先,禁用 SELinux。您可以使用以下命令临时执行此操作:

setenforce 0

我们需要永久禁用SELinux,因此您还需要更改/etc/selinux/config以便将该SELINUX选项设置为permissive

 SELINUX=permissive

系统

创建 rrd 目录以将 RRD 存储在:

 mkdir rrd
 chown apache:apache rrd

如果该服务器将运行Observium,改变/etc/httpd/conf.d/observium.conf并添加以下到结束:

<VirtualHost *>
   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
     Require all granted
   </Directory>
</VirtualHost>

为 apache 创建日志目录

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

添加第一个用户,管理员使用级别 10:

cd /opt/observium
./adduser.php <username> <password> <level>

添加要监控的第一个设备:

./add_device.php <hostname> <community> v2c

执行初始发现和轮询运行以填充新设备的数据:

./discovery.php -h all
./poller.php -h all

定时任务

添加 cron 作业,创建一个/etc/cron.d/observium包含以下内容的新文件:

定时使用

以下示例包含用户名,因此只能在 /etc/crontab 或 /etc/cron.d/observium 中使用。在不删除用户名的情况下,它不会在使用 crontab -e 编辑的用户 crontab 中工作。

# Run a complete discovery of all devices once every 6 hours
33  */6   * * *   root    /opt/observium/discovery.php -h all >> /dev/null 2>&1

# Run automated discovery of newly added devices every 5 minutes
*/5 *     * * *   root    /opt/observium/discovery.php -h new >> /dev/null 2>&1

# Run multithreaded poller wrapper every 5 minutes
*/5 *     * * *   root    /opt/observium/poller-wrapper.py >> /dev/null 2>&1

# Run housekeeping script daily for syslog, eventlog and alert log
13 5 * * * root /opt/observium/housekeeping.php -ysel

# Run housekeeping script daily for rrds, ports, orphaned entries in the database and performance data
47 4 * * * root /opt/observium/housekeeping.php -yrptb

并重新加载 cron 进程:

systemctl reload crond

最终积分

当我们重新启动服务器时,让我们将 httpd 设置为启动:

systemctl enable httpd
systemctl start httpd

允许 HTTP 通过服务器的默认防火墙

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload

您现在应该可以看到 http://<server ip>

更新中

更新 Observium 的目的是尽可能快速和轻松。使用我们的 SVN 交付机制,它甚至可以实现自动化。因为我们有快速的开发和模型,我们建议您经常更新,至少每月一次,但每周一两次更好,许多用户每天通过自动 CRON 作业更新。

有关如何更新 Observium订阅版的简短说明,请参阅更新订阅版

问题

运行时,例如。poller.php 或 discovery.php 有很多关于未定义索引、变量和偏移量的注意事项。要隐藏这些通知,您可以执行以下操作:

nano /etc/php.ini

找到包含以下内容的行:

error_reporting = E_ALL & ~E_DEPRECATED

将此更改为:

error_reporting = E_ALL & ~E_NOTICE

如果本安装教程有问题,请确保您已严格按照安装指南进行操作,查看常见问题解答,然后加入我们的IRC 频道或邮件列表并寻求帮助。

 类似资料: