更新时间:2023-01-14 09:43:29浏览次数:193+次
本文介绍如何在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并执行网络健康状态监视。