在Rocky Linux 9/AlmaLinux 9上安装和配置OpenNMS
本文介绍如何在Rocky Linux 9/AlmaLinux 9系统上安装和配置OpenNMS的方法。
具体操作步骤如下
步骤1、更新系统并安装Java
使用更新的服务器至关重要。要更新Rocky Linux 9/AlmaLinux 9系统,请执行以下命令:
sudo dnf -y update
此外,安装所需的软件包:
sudo dnf install -y vim curl wget
由于OpenNMS是用Java开发的,因此您需要在Rocky Linux 9/AlmaLinux 9上安装它。
sudo dnf install java-11-openjdk-devel -y
验证安装:
$ java -version
openjdk version "11.0.16"
可参考https://www.hmxthome.com/linux/4962.html里面的内容。
步骤2、安装OpenNMS Horizon
默认的Rocky Linux 9/AlmaLinux 9存储库不提供OpenNMS包。为了能够安装软件包,我们需要将存储库添加到系统中。
首先,导入GPG密钥:
sudo rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY
现在使用以下命令添加OpenNMS(Rhel-8)存储库:
sudo dnf install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel8.noarch.rpm
添加存储库后,安装OpenNMS及其所有依赖包:
sudo dnf install opennms
样本输出:
Transaction Summary
Install 9 Packages
Total download size: 632 M
Installed size: 857 M
Is this ok [y/N]: y
已安装的依赖程序包包括:
PostgreSQL和postgresql-libs:来自分发库的PostgreSQL数据库服务器。
opennms-core:提供opennms Horizon核心服务,例如Provisiond、Pollerd和Collected。
opennms-webapp-jetty:它提供了opennms Horizon web应用程序服务。
jicmp6和jicmp:这是允许从OpenNMS Horizon存储库发送ICMP消息的Java桥。
步骤3、为OpenNMS配置PostgreSQL
PostgreSQL作为依赖项安装后,我们需要配置它并为OpenNMS创建所需的数据库。
首先初始化PostgreSQL:
sudo postgresql-setup --initdb --unit postgresql
启动并启用PostgreSQL服务:
sudo systemctl enable postgresql
sudo systemctl start postgresql
验证服务是否正常:
$ systemctl status postgresql
切换到postgres用户:
sudo -i -u postgres
为OpenNMS创建用户,如下所示:
$ createuser -P opennms
Enter password for new role: Passw0rd1
Enter it again: Passw0rd1
现在使用以下命令创建数据库:
createdb -O opennms opennms
此外,使用密码保护默认用户:
$ psql -c "ALTER USER postgres WITH PASSWORD 'StrongPassword';"
ALTER ROLE
退出shell:
[postgres@localhost ~]$ exit
logout
现在修改PostgreSQL访问策略:
sudo vim /var/lib/pgsql/data/pg_hba.conf
如下所示,通过用MD5替换ident来修改以下行
#IPv4本地连接:
host all all 127.0.0.1/32 md5
#IPv6本地连接:
host all all ::1/128 md5
保存文件并重新启动PostgreSQL服务:
sudo systemctl restart postgresql
现在我们需要在OpenNMS配置中定义数据库凭据:
sudo vim /opt/opennms/etc/opennms-datasources.xml
查找并进行以下调整:
<jdbc-data-source name="opennms"
database-name="opennms"
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/opennms"
user-name="opennms"
password="Passw0rd1" />
<jdbc-data-source name="opennms-admin"
database-name="template1"
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/template1"
user-name="postgres"
password="StrongPassword" />
</datasource-configuration>
记住替换创建的所有用户名、数据库和密码。
步骤4、在Rocky Linux 9/AlmaLinux 9上启动OpenNMS
我们将通过添加Java设置进行初始化,如下所示:
sudo /opt/opennms/bin/runjava -s
样本输出:
runjava: Looking for an appropriate JVM...
runjava: Checking for an appropriate JVM in JAVA_HOME...
runjava: Skipping... JAVA_HOME not set.
runjava: Checking JVM in the PATH: "/etc/alternatives/java"...
runjava: Did not find an appropriate JVM in the PATH: "/etc/alternatives/java"
runjava: Searching for a good JVM...
runjava: Found a good JVM in "/usr/lib/jvm/java-11-openjdk-11.0.16.0.8-1.el9_0.x86_64/bin/java".
runjava: Value of "/usr/lib/jvm/java-11-openjdk-11.0.16.0.8-1.el9_0.x86_64/bin/java" stored in configuration file.
接下来,初始化数据库并检测/opt/opennms/etc/libraries.properties中的系统库:
sudo /opt/opennms/bin/install -dis
现在启动并启用OpenNMS服务:
sudo dnf install chkconfig -y
sudo systemctl enable --now opennms
检查服务状态:
$ systemctl status opennms
默认情况下,OpenNMS Horizon侦听端口8980。我们需要使用以下命令允许此端口通过防火墙:
sudo firewall-cmd --permanent --add-port=8980/tcp
sudo firewall-cmd --reload
允许端口通过SELinux:
sudo semanage port -a -t http_port_t -p tcp 8980
步骤5、访问OpenNMS WebUI
使用您喜爱的浏览器,使用URL访问OpenNMS WebUI,地址格式为http://IP_Address:8980/opennms,会出来登陆的界面:
使用默认凭据登录:
用户名:admin
密码:admin
现在,您可以通过导航到admin将密码更改为首选密码-修改密码。
步骤6、在OpenNMS上添加监控目标
为了能够监控系统,我们需要添加到OpenNMS中。首先单击“+”图标,如下所示:
由于此设置是新的,我们需要添加请购单。您将看到下面的弹出窗口:
提供新申请的名称,然后单击确定。现在,您将获得一个要填写的表单:
提供所需的详细信息及添加节点后,它将出现在信息下-节点(Info-Nodes):
现在,您可以查看图形并为设备创建警报。同时,到这里,在Rocky Linux 9/AlmaLinux 9上安装、配置OpenNMS就完成了。