更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux教程 > Rocky Linux 9/AlmaLinux 9上安装和配置Observium监控工具

Rocky Linux 9/AlmaLinux 9上安装和配置Observium监控工具

更新时间:2023-01-14 09:43:29浏览次数:968+次

本文介绍如何在Rocky Linux 9/AlmaLinux 9系统上安装和配置Observium监控工具。Observium是一个低维护的网络自动发现监控平台,它在Linux、Windows、HP、Juniper、Dell、FreeBSD、Brocade、Netscaler、NetApp、Cisco等多种设备上受支持。Observium的开发主要目的是为网络运行状况和状态监控提供一个美观、强大、简单、直观的界面。

在Rocky Linux 9/AlmaLinux 9上安装Observium监控工具

在开始之前,请确保系统上已启用远程SSH:

sudo yum install -y openssh tar vim

启动并启用SSH服务器:

sudo systemctl enable sshd

sudo systemctl start sshd

1、安装所需的软件包

我们需要在Rocky Linux 9/AlmaLinux 9上安装几个包含PHP 7.4的软件包。首先,添加所需的存储库:

sudo yum -y install yum-utils epel-release

sudo yum -y install http://yum.opennms.org/repofiles/opennms-repo-stable-rhel8.noarch.rpm

sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-9.rpm

现在启用PHP 7.4:

sudo dnf module enable php:remi-7.4 -y

现在安装所有必需的软件包:

sudo yum -y 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-PyMySQL mariadb-connector-c-devel

如果要监视虚拟实例,还可以安装libvirt:

sudo yum -y install libvirt

2、下载Observium存档

首先为Observium创建一个目录:

sudo mkdir /opt/observium && cd /opt

选项1:下载Observium社区版

下载最新的Observium社区版存档:

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

提取存档:

sudo tar zxvf observium-community-latest.tar.gz

选项2:下载Observium Professional Edition

对于专业版,请获得有效的Observium订阅,地址在https://www.observium.org/subscribe/,并使用下面的一个自动SVN发布库下载Observium。

稳定版:

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

当前版:

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

3、安装和配置MariaDB数据库

Observium需要MySQL 5.7+或MariaDB 10.3+。Rocky Linux 9/AlmaLinux 9存储库中可用的默认MariaDB版本为10.5。我们将使用以下命令安装此版本:

sudo dnf -y install mariadb-server mariadb

安装后,启动并启用服务:

sudo systemctl enable --now mariadb

通过设置根密码加强实例:

$ sudo mysql_secure_installation

遇到询问的,请按y键继续。

现在为Observium创建一个数据库:

$ mysql -u root -p

CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

GRANT ALL ON observium.* TO 'observium'@'%'  IDENTIFIED BY 'Str0ngPassw0rd';

4、配置Observium监控

现在导航到Observium目录:

cd observium

从模板创建配置文件:

sudo cp config.php.default config.php

现在打开文件进行编辑:

sudo vim config.php

如下所示调整数据库详细信息:

// Database config

// --- This MUST be configured

$config['db_host']      = 'localhost';

$config['db_name']      = 'observium';

$config['db_user']      = 'observium';

$config['db_pass']      = 'Str0ngPassw0rd';

此外,为fping添加以下行:

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

要验证fping$PATH,请使用以下命令:

$ which fping

/usr/sbin/fping

通过将SELinux设置为许可模式来配置SELinux:

sudo setenforce 0 && sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

现在使用以下命令将模式导入数据库:

./discovery.php -u

样本输出:

\

5、为Observium配置Apache

我们将在/opt/observium下创建一个rrd目录,用于存储rrd:

sudo mkdir rrd

现在为Observium创建Apache虚拟主机文件:

sudo vim /etc/httpd/conf.d/observium.conf

将以下行添加到文件中:

<VirtualHost *>

   DocumentRoot /opt/observium/html/

   ServerName  observium.computingforgeeks.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>

保存文件并创建日志目录:

sudo mkdir /opt/observium/logs

sudo chown -R apache: /opt/observium

重新启动Apache服务:

sudo systemctl restart httpd

允许端口80通过防火墙:

sudo firewall-cmd --add-port=80/tcp --permanent

sudo firewall-cmd --reload

6、创建Observium管理员用户

添加用户级别为10的Observium管理员用户:

cd /opt/observium

请记住提供适当的用户名和密码:

$ ./adduser.php admin Str0ngAdminPassw0rd 10

Observium CE 22.5.12042

Add User

User admin added successfully.

为Observium创建Cron作业:

sudo vim /etc/cron.d/observium

将以下行添加到文件中:

# 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进程:

sudo systemctl reload crond

重新启动httpd服务:

sudo rm /etc/httpd/conf.d/welcome.conf

sudo systemctl restart httpd

7、访问Observium WebUI

要访问Observium web界面,请使用URL,地址格式为http://IP_Address或者http://domain_name:

\

使用创建的管理员用户登录。认证后,您将看到下面的仪表板:

\

8、将设备添加到Observium

为了让Observium监视您的环境/设备,您需要安装和配置SNMP。

A、安装和配置SNMP

确保客户端系统具有SNMP包:

##在Debian/Ubuntu上

sudo apt-get -y install snmpd

##在CentOS/Rocky/Alma Linux上

sudo yum -y install net-snmp

安装后,将可用文件复制到备份文件:

sudo mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak

现在配置SNMP:

sudo vim /etc/snmp/snmpd.conf

使用SNMP社区字符串创建配置文件,如下所示:

# Listen to all interface

agentAddress udp:161

# Change "observium" to your preferred SNMP community string

com2sec readonly default observium

group MyROGroup v2c readonly

view all included .1 80

access MyROGroup "" any noauth exact all none none

# Update your location here

syslocation [40.705311,-74.2581883]

syslocation Asia, Shanghai

syscontact computinforgeeks Admin <admin@computingforgeeks.com>

# Distro Detection

extend .1.3.6.1.4.1.2021.7890.1 distro /usr/bin/distro

我们将在/usr/bin/distriro获取客户端发行版信息。所以我们需要从Observium主机获取这个文件。

从运行Observium的主机,使用SCP复制到客户端,如下所示:

sudo scp /opt/observium/scripts/distro remote_user@remotehost_IP:~/

在上面的命令中,用客户机上的用户替换remote_user,用其IP地址替换remotehost_IP。

获取配置后,将其复制到$PATH:

##从客户的机器终端

sudo cp distro /usr/bin/distro

sudo chmod +x /usr/bin/distro

现在启动并启用SNMP:

sudo systemctl enable --now snmpd

此外,允许端口通过防火墙:

##对于UFW

sudo ufw allow 161

##对于Firewalld

sudo firewall-cmd --permanent --add-port=161/udp

sudo firewall-cmd --reload

B、将设备添加到Observium

在客户端计算机上配置SNMP后。有两种方法可以在Observium上添加设备。

第一种也是最简单的方法是通过命令行:

##从Observium主机:

cd /opt/observium

要添加主机,请使用具有以下语法的命令:

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

只要配置了SNMP,就可以添加设备。例如:

##本地主机

$ ./add_device.php localhost observium v2c

##远程设备

$ ./add_device.php 192.168.205.13 observium v2c

记住observium是SNMP配置文件中配置的SNMP社区。

样本输出:

\

现在执行初始发现和轮询以获取新设备的数据:

./discovery.php -h all

./poller.php -h all

另一种添加设备的方法是通过web Ui导航到设备->添加设备:

\

提供如上所示的设备详细信息,然后单击添加设备。如果要查看添加的设备,请导航到“所有设备”,然后就可以查看各种指标了:

\

至此,已成功的在Rocky Linux 9/AlmaLinux 9上安装和配置Observium监控工具,用户可随时使用Observium并执行网络健康状态监视。