在 Ubuntu 16.04 上使用 OpenNMS 进行服务器监控
本教程适用于这些操作系统版本
- Ubuntu 20.04(Focal Fossa)
- Ubuntu 16.04(Xenial Xerus)
在此页
- 先决条件
- 开始
- 1 安装 PostgreSQL
- 2 安装Java
- 3 安装 OpenNMS
- 4 访问 OpenNMS
- 结论
OpenNMS 是一个免费和开源的企业级网络监控 Web 应用系统,可用于在单个实例中监控无限设备。 OpenNMS 自动检测和监控网络中的服务或节点。您还可以添加要监控的特定设备或服务。 OpenNMS 是用 Java 编写的,因此它可以在任何平台上运行。
OpenNMS 带有一组特性,其中一些特性如下所列:
- 支持多种操作系统,包括 Windows、Mac、Linux/Unix 和 Solaris。
- 绩效管理和故障管理。
- 通过电子邮件发送通知。
- 提供基于网络的可定制仪表板。
- 能够每分钟连续处理 125,000 条系统日志消息。
- 包含用于将设备添加到管理系统的高级配置系统。
在本教程中,我们将逐步指导在 Ubuntu 16.04 服务器上安装 OpenNMS。
先决条件
- 一台运行 Ubuntu 16.04 的服务器。
- 在您的服务器上设置了 sudo 权限的非根用户。
- 在您的服务器上设置静态 IP 地址 192.168.0.187。
入门
让我们首先将您的系统更新到最新的稳定版本。您可以通过运行以下命令来执行此操作:
sudo apt-get update -y
sudo apt-get upgrade -y
更新系统后,您需要设置正确的完全限定域名。您可以通过编辑 /etc/hosts 文件来执行此操作:
sudo nano /etc/hosts
添加以下行:
192.168.0.187 server.opennms.local server
接下来,打开 /etc/hostname 文件:
sudo nano /etc/hostname
添加以下行:
server.opennms.local
完成后保存文件,然后重新启动系统以应用这些更改。
1 安装 PostgreSQL
OpenNMS 需要 PostgreSQL 用于数据库目的。您可以通过运行以下命令来安装 PostgreSQL:
sudo apt-get install postgresql -y
安装 PostgreSQL 后,您需要允许用户访问数据库。 PostgreSQL 仅在您登录到与 PostgreSQL 用户匹配的本地帐户名时才允许您连接。由于 OpenNMS 以 root 身份运行,因此您需要更改配置以允许 root 用户。
您可以通过编辑 pg_hba.conf 文件来完成此操作。
sudo nano /etc/postgresql/9.5/main/pg_hba.conf
找到以下几行:
local all all local
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
并且,将它们更改为如下所示:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
完成后保存并关闭文件,然后重新启动 PostgreSQL 服务并使用以下命令使其在启动时启动:
sudo systemctl restart postgresql
sudo systemctl enable postgresql
完成后,您可以继续安装 Java。
2 安装Java
OpenNMS 尚不支持 Java 8,强烈建议使用 Java 7。要安装 Java 7,您需要将 PPA 添加到 apt 源列表中。您可以通过运行以下命令来执行此操作:
sudo add-apt-repository ppa:webupd8team/java
接下来,通过运行以下命令更新您的存储库:
sudo apt-get update -y
更新存储库后,只需运行以下命令即可安装 Java 7:
sudo apt-get install oracle-java7-installer -y
您可以使用以下命令检查 Java 版本:
sudo jave -version
您应该看到以下输出:
java version "1.7.0_101"
Java(TM) SE Runtime Environment (build 1.7.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
完成后,您可以继续下一步。
3 安装OpenNMS
默认情况下,OpenNMS 在 Ubuntu 默认存储库中不可用。因此,您需要将 OpenNMS 存储库添加到 /etc/apt/sources.list.d 目录。您可以通过运行以下命令来执行此操作:
sudo nano /etc/apt/sources.list.d/opennms.list
添加以下行:
deb http://debian.opennms.org stable main
deb-src http://debian.opennms.org stable main
完成后保存文件,然后使用以下命令添加 OpenNMS 密钥:
wget -O - http://debian.opennms.org/OPENNMS-GPG-KEY | sudo apt-key add -
现在,使用以下命令更新存储库列表:
sudo apt-get update -y
存储库更新后,通过运行以下命令安装 OpenNMS:
sudo apt-get install default-mta opennms -y
安装 OpenNMS 后,您需要为 OpenNMS 创建一个数据库。您可以通过运行以下命令来执行此操作:
sudo /usr/share/opennms/bin/install -dis
您应该看到以下输出:
OpenNMS Installer
==============================================================================
Configures PostgreSQL tables, users, and other miscellaneous settings.
.
.
.
- Running post-execution phase
Removing backup /usr/share/opennms/etc/discovery-configuration.xml.zip
Finished in 0 seconds
最后,使用以下命令启动 OpenNMS 服务:
sudo systemctl start opennms
4 接入OpenNMS
默认情况下,OpenNMS 在端口 8980 上运行。因此您需要允许端口 8980 通过 UFW 防火墙。默认情况下,UFW 在您的系统上处于禁用状态,因此您需要先启用它。您可以使用以下命令启用它:
sudo ufw enable
启用 UFW 防火墙后,您可以通过运行以下命令来允许端口 8980:
sudo ufw allow 8980
您现在可以通过运行以下命令来检查 UFW 防火墙的状态:
sudo ufw status
配置 UFW 防火墙后,打开 Web 浏览器并输入 URL http://192.168.0.187:8980/opennms,您应该会看到以下屏幕:

现在,使用用户名 \admin\ 和密码 \admin\ 登录,您应该会看到以下屏幕:

如果要添加新的服务器节点进行监控,请单击“管理”>“快速添加节点”按钮,您应该会看到以下屏幕:


在这里,填写所有必需的信息,如申请、IP 地址、节点标签、社区字符串、设备用户名、设备密码,然后单击“配置”按钮。您应该看到以下屏幕:

接下来,单击“确定”继续,然后转到“信息”>“节点”并通过标签名称找到节点。最后,单击标签按钮,您应该会在以下屏幕中看到节点状态、通知和事件:

结论
恭喜!您已经在 Ubuntu 16.04 服务器上成功安装并配置了 OpenNMS。您现在可以轻松添加更多服务器节点以进行监控。如果您有任何问题,请随时给我评论。