如何在CentOS8上安装OpenNMS网络监视工具
如何在CentOS8上安装OpenNMS网络监视工具
OpenNMS是一个免费的开源网络监视和网络管理平台,用于管理全球的企业网络。它基于Java,旨在从一个中央位置管理数千个设备。它具有自动检测和监视网络中的服务或节点的能力。
特性
- 支持SNMP,JMX,WMI,NPRE,NSCLient ++和XMP
- 事件驱动架构
- 支持设备和应用程序监视
- 发现类型并停止路径
- 配置和运行服务监视器
- 支持第2层和第3层网络拓扑
本教程显示了如何在CentOS 8服务器上安装和配置OpenNMS。
先决条件
- 运行CentOS的服务器8。
- 根密码是在服务器上设置的。
入门
OpenNMS是基于Java的应用程序。因此,您需要在系统上安装Java。您可以运行以下命令来将其与其他必需的软件包一起安装。
dnf install java-11-openjdk-devel curl unzip -y
安装Java之后,可以使用以下命令检查Java版本:
java -version
您应该获得以下输出:
openjdk version "11.0.9" 2020-10-20 LTS OpenJDK Runtime Environment 18.9 (build 11.0.9+11-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+11-LTS, mixed mode, sharing)
完成后,您可以继续下一步。
安装OpenNMS
默认情况下,CentOS 8默认存储库中不提供OpenNMS。因此,您需要将OpenNMS存储库添加到系统中。
首先,使用以下命令添加GPG密钥。
rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY
添加GPG密钥后,运行以下命令以添加OpenNMS存储库。
dnf install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel8.noarch.rpm
然后,您可以通过运行以下命令来运行OpenNMS:
dnf install opennms -y
这将在您的服务器上安装OpenNMS,PostgreSQL和其他软件包。
配置PostgreSQL
OpenNMS使用PostgreSQL作为数据库后端。您可以使用以下命令初始化PostgreSQL数据库:
postgresql-setup --initdb --unit postgresql
您应该获得以下输出:
* Initializing database in '/var/lib/pgsql/data' * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
然后启动PostgreSQL服务,以便可以使用以下命令在系统重新启动时启动它:
systemctl enable postgresqlsystemctl start postgresql
接下来,您需要为PostgreSQL创建数据库和用户。
首先,使用以下命令登录到PostgreSQL:
su - postgres
登录后,使用以下命令创建用户:
[[email protected] ~]$ createuser -P opennms
系统将提示您设置密码,如下所示。
Enter password for new role: Enter it again:
然后使用以下命令创建数据库:
[[email protected] ~]$ createdb -O opennms opennms
然后使用以下命令为PostgreSQL用户设置密码。
[[email protected] ~]$ psql -c "ALTER USER postgres WITH PASSWORD 'password';"
然后使用以下命令退出PostgreSQL shell:
[[email protected] ~]$ exit;
接下来,您需要更改PostgreSQL访问策略。您可以通过编辑文件/var/lib/pgsql/data/pg_hba.conf来实现。
nano /var/lib/pgsql/data/pg_hba.conf
找到下一行。
# IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident
并将其替换为以下行:广告
host all all 127.0.0.1/32 md5 host all all ::1/128 md5
保存并关闭文件,然后重新启动PostgreSQL服务以应用您的更改。
systemctl restart postgresql
接下来,您需要在/opt/opennms/etc/opennms-datasources.xml文件中定义数据库。
nano /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="opennms" /> <jdbc-data-source name="opennms-admin" database-name="template1" class-name="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/template1" user-name="postgres" password="password" />
完成后,保存文件并关闭它。
初始化并启动OpenNMS
接下来,您需要初始化OpenNMS。首先,使用以下命令添加Java设置:
/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.9.11-0.el8_2.x86_64/bin/java". runjava: Value of "/usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java" stored in configuration file.
然后运行以下命令来初始化数据库:
/opt/opennms/bin/install -dis
然后使用以下命令允许OpenNMS在系统重新启动时启动。
systemctl enable --now opennms
您应该获得以下输出:
Synchronizing state of opennms.service with SysV service script with /usr/lib/systemd/systemd-sysv-install. Executing: /usr/lib/systemd/systemd-sysv-install enable opennms Created symlink /etc/systemd/system/multi-user.target.wants/opennms.service → /usr/lib/systemd/system/opennms.service.
现在,您可以使用以下命令检查OpenNMS服务的状态: 广告
systemctl status opennms
您应该获得以下输出:
? opennms.service - OpenNMS server Loaded: loaded (/usr/lib/systemd/system/opennms.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2020-11-25 09:21:32 EST; 13s ago Process: 26880 ExecStart=/etc/init.d/opennms -s start (code=exited, status=0/SUCCESS) Main PID: 27928 (java) Tasks: 67 (limit: 12523) Memory: 555.6M CGroup: /system.slice/opennms.service ??27927 bash /etc/init.d/opennms -s start ??27928 /usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java> Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so. Attempting to load ji> Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library. Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so. Attempting to load ji> Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library. Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib64/libjicmp6.so. Attempting to load > Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp6 library. Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so. Attempting to load ji> Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library. Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib64/libjicmp6.so. Attempting to load > Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp6 library.
此时,OpenNMS已启动并在端口8980上侦听。您可以使用以下命令进行检查。
ss -antpl | grep :8980
您应该获得以下输出:
LISTEN 0 50 *:8980 *:* users:(("java",pid=27928,fd=988))
完成后,您可以继续下一步。
配置SELinux和防火墙
默认情况下,在CentOS 8服务器上启用SELinux。因此,必须首先禁用它。 您可以通过编辑/ etc / selinux / config文件来禁用它。
nano /etc/selinux/config
找到下一行。
SELINUX=enforcing
然后将其替换为下一行。
SELINUX=permissive
保存并关闭文件,然后重新启动系统以应用更改。
然后使用以下命令通过防火墙d允许端口8980:
firewall-cmd --permanent --add-port=8980/tcp
然后重新加载防火墙以应用您的更改。
firewall-cmd --reload
完成后,您可以继续下一步。
访问OpenNMS Web界面
然后打开Web浏览器,并使用URL访问OpenNMS Web界面。 http://您的服务器IP:8980 / opennms.. 您将被重定向到OpenNMS登录页面。
指定默认的admin用户名admin和密码admin,然后单击。 登录 按钮。显示下一页。
请点击 选择参加 将匿名使用情况统计信息发送到OpenNMS。 OpenNMS仪表板显示在下一页上。
请点击 管理员=>更改密码 更改默认密码。显示下一页。
更改默认密码,然后单击 参加 按钮。显示下一页。
请点击 + 单击该图标以添加新主机。显示下一页:广告
输入新工作的名称,然后单击 好 按钮。显示下一页。
输入远程主机的详细信息,然后单击 供应 按钮。添加主机后,将显示下一页。
然后点击 信息=>节点..您需要在下一页上获取有关远程主机的更多信息。
结论
恭喜!您已在CentOS 8服务器上成功安装了OpenNMS。现在,您可以向OpenNMS添加无限的网络主机和设备,并从中央位置开始监视。