1. Java 环境
要定位 Java 系统文件,应用程序通常使用 $JAVA_HOME
环境变量。
操作系统启动时可以为特定用户或全局设置环境。
-
RHEL:
/usr/java/jdk1.8.0_71
-
Debian:
/usr/lib/jvm/java-8-oracle
-
Microsoft Windows:
C:\Program Files\Java\jre1.8.0_71
1.1. 在 Linux 上设置 JAVA_HOME
vi ~/.bash_profile
export JAVA_HOME=/path/to/java
vi /etc/profile
export JAVA_HOME=/path/to/java
1.2. 在微软 Windows 上设置 JAVA_HOME
setx "JAVA_HOME" "path\to\java"
setx /M "JAVA_HOME" "path\to\java"
2. 安装基础的 OpenNMS Horizon
OpenNMS 平台可以安装在多个OS平台上。 本指南介绍了基于 Red Hat Enterprise Linux (RHEL), _Debian 和 _Microsoft Windows 操作系统平台的安装。
2.1. 目标
-
当单节点安装 OpenNMS Horizon 组件使,可以使用内置的 JRobin 作为时间序列存储
-
在推荐的操作系统上安装 OpenNMS Horizon
-
登录到 Web 用户界面并更改 admin 默认密码
2.2. 准备条件
以下缩写将用于本文档引用。
RHEL |
Red Hat Enterprise Linux 7 或更高, CentOS 7 或更高 |
Debian |
Debian 9 或更高, Ubuntu 16.04 LTS 或更高 |
Windows |
Microsoft Windows Server 2012, Windows 10 |
建议满足以下要求:
最小硬件 |
2 CPU, 2 GB RAM, 20 GB 磁盘 |
操作系统 |
建议使用当前版本的 RHEL 或 Debian。 请注意,OpenNMS Horizon 是在 Linux 系统上开发和运转。 当在 Microsoft Windows 平台上运行时,社区支持是有限的。 在 Microsoft Windows 平台不支持用于时间序列数据统计的 R 集成。 |
互联网 |
在 Microsoft Windows 上通过 https 访问 {yum,debian}.opennms.org 或 SourceForge。 |
DNS 设置 |
请确保 OpenNMS 服务器的 DNS 设置正确,并且可以解析 localhost 主机名。 如果服务器主机名的 资源记录 不正确或丢失,OpenNMS 可能无法正常启动。 Java 安全管理器可能不能初始化,并且会显示一个 RMI 类加载器禁用 的异常信息。 |
根据安装的操作系统,OpenNMS Horizon 的路径是不同的。
对于指令引用 ${OPENNMS_HOME}
,则将路径解析为以下目录:
RHEL |
|
Debian |
|
Windows |
|
2.3. 在 RHEL 上安装
下面将描述安装步骤:
-
安装
opennms
meta 包,来处理所有依赖关系 -
安装 PostgreSQL 数据库,并配置访问权限
-
初始化 OpenNMS Horizon 和应用程序首次启动
-
登录到 Web 用户界面并更改 admin 默认密码
命令行接口上的所有命令都需要用 root 权限执行。
步骤1: 安装 OpenNMS Horizon
yum -y install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel7.noarch.rpm
rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY
yum -y install opennms
下列软件包将自动安装:
-
jicmp6 and jicmp: 允许发送 ICMP 消息 的 Java 桥,来自 OpenNMS Horizon 仓库。
-
opennms-core: OpenNMS Horizon 核心服务,例如,Provisiond, Pollerd 和 Collectd,来自 OpenNMS Horizon 仓库。
-
opennms-webapp-jetty: OpenNMS Horizon web 应用程序,来自 OpenNMS Horizon 仓库。
-
jdk1.8: Oracle Java SE Development Kit 8 环境,来自 OpenNMS Horizon 仓库。
-
postgresql: PostgreSQL 数据库服务器,来自其发布仓库。
-
postgresql-libs: PostgreSQL 数据库,来自其发布仓库。
成功安装的 OpenNMS Horizon 平台,具有如下目录结构:
[root@localhost /opt/opennms]# tree -L 1
.
└── opennms
├── bin
├── contrib
├── data
├── deploy
├── etc
├── jetty-webapps
├── lib
├── logs -> /var/log/opennms
├── share -> /var/opennms
└── system
我们建议在安装后禁用 OpenNMS Horizon 的 apt 存储库,以防止在系统运行时进行更新。 OpenNMS Horizon 在升级时需要一些手动配置,来确保在新版本中数据库和系统配置是一致的,并且在很多设备或大量事件的系统上,可能需要几个小时。 因此,建议将 OpenNMS Horizon 包排除在更新之外,当想要升级时再开启。 |
yum-config-manager --disable opennms-repo-stable-common,opennms-repo-stable-rhel7
步骤2: 初始化并设置 PostgreSQL
postgresql-setup initdb
systemctl enable postgresql
systemctl start postgresql
su - postgres
createuser -P opennms
createdb -O opennms opennms
psql -c "ALTER USER postgres WITH PASSWORD 'YOUR-POSTGRES-PASSWORD';"
exit
在安装和升级时需要超级用户,它能初始化和更改数据库实例。 |
vi /var/lib/pgsql/data/pg_hba.conf
host all all 127.0.0.1/32 md5(1)
host all all ::1/128 md5(1)
1 | 将 localhost 上对应 IPv4 和 IPv6 的认证方式从 ident 改为 md5 。 |
systemctl reload postgresql
vi ${OPENNMS_HOME}/etc/opennms-datasources.xml
<jdbc-data-source name="opennms"
database-name="opennms"(1)
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/opennms"
user-name="** YOUR-OPENNMS-USERNAME **"(2)
password="** YOUR-OPENNMS-PASSWORD **" />(3)
<jdbc-data-source name="opennms-admin"
database-name="template1"
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/template1"
user-name="postgres"(4)
password="** YOUR-POSTGRES-PASSWORD **" />(5)
1 | 设置 OpenNMS Horizon 使用的数据库名称 |
2 | 设置访问 opennms 数据库表的用户名 |
3 | 设置访问 opennms 数据库表的密码 |
4 | 设置访问 PostgreSQL 的管理员用户 postgres |
5 | 设置访问 PostgreSQL 的管理员用户的密码 |
步骤3: 初始化并启动 OpenNMS Horizon
${OPENNMS_HOME}/bin/runjava -s
${OPENNMS_HOME}/bin/install -dis
systemctl enable opennms
systemctl start opennms
步骤4: 首次登录并更改默认密码
OpenNMS 的 web 应用启动之后,可以通过 http://<ip-or-fqdn-of-your-server>:8980/opennms 访问系统。 缺省登录用户是 admin ,初始密码为 admin。
-
用 admin/admin 登录
-
点击主导航菜单上的 "admin → Change Password → Change Password"
-
设置 admin 的当前密码,设置新密码并设置确认密码
-
点击 "Submit"
-
注销并使用新密码登录
下一步
附加信息可在后续文件中找到:
-
入门指南
首先介绍安装、配置和维护 OpenNMS Horizon。
-
参考指南
查找有关 OpenNMS Horizon 平台使用的探测器、监测器、采集器和配置文件的深入信息。
2.4. 在 Debian 上安装
安装过程主要有以下步骤:
-
安装
opennms
meta 包,来处理所有依赖关系 -
安装 PostgreSQL 数据库,并配置访问权限
-
初始化 OpenNMS Horizon 和应用程序首次启动
-
登录到 Web 用户界面并更改 admin 默认密码
命令行接口上的所有命令都需要用 root 权限执行。
步骤1: 安装 OpenNMS Horizon
cat << EOF | sudo tee /etc/apt/sources.list.d/opennms.list
deb https://debian.opennms.org stable main
deb-src https://debian.opennms.org stable main
EOF
wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -
apt update
apt -y install opennms
下列 opennms
依赖的软件包将自动安装:
-
jicmp6 and jicmp: 允许发送 ICMP 消息 的 Java 桥,来自 OpenNMS 仓库。
-
opennms-core: OpenNMS Horizon 核心服务,例如,Provisiond, Pollerd 和 Collectd,来自 OpenNMS 仓库。
-
opennms-webapp-jetty: OpenNMS Horizon web 应用程序,来自 OpenNMS 仓库。
-
jdk1.8: Oracle Java SE Development Kit 8 环境,来自 OpenNMS 仓库。
-
postgresql: PostgreSQL 数据库服务器,来自其发布仓库。
-
postgresql-libs: PostgreSQL 数据库,来自其发布仓库。
成功安装的 OpenNMS Horizon 平台,具有如下目录结构:
[root@localhost /usr/share/opennms]# tree -L 1
.
└── opennms
├── bin
├── data
├── deploy
├── etc -> /etc/opennms
├── instances
├── jetty-webapps
├── lib -> ../java/opennms
├── logs -> /var/log/opennms
├── share -> /var/lib/opennms
└── system
我们建议在安装后禁用 OpenNMS Horizon 的 apt 存储库,以防止在系统运行时进行更新。 OpenNMS Horizon 在升级时需要一些手动配置,来确保在新版本中数据库和系统配置是一致的,并且在很多设备或大量事件的系统上,可能需要几个小时。 因此,建议将 OpenNMS Horizon 包排除在更新之外,当想要升级时再开启。 |
apt-mark hold libopennms-java \
libopennmsdeps-java \
opennms-common \
opennms-db
步骤2: 初始化并设置 PostgreSQL
Debian 包安装了 PostgreSQL 数据库并且已经初始化。 PostgreSQL 服务已经添加到系统启动的运行级别配置中。
systemctl start postgresql
su - postgres
createuser -P opennms
createdb -O opennms opennms
psql -c "ALTER USER postgres WITH PASSWORD 'YOUR-POSTGRES-PASSWORD';"
exit
在安装和升级时需要超级用户,它能初始化和更改数据库实例。 |
vi ${OPENNMS_HOME}/etc/opennms-datasources.xml
<jdbc-data-source name="opennms"
database-name="opennms"(1)
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/opennms"
user-name="** YOUR-OPENNMS-USERNAME **"(2)
password="** YOUR-OPENNMS-PASSWORD **" />(3)
<jdbc-data-source name="opennms-admin"
database-name="template1"
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/template1"
user-name="postgres"(4)
password="** YOUR-POSTGRES-PASSWORD **" />(5)
1 | 设置 OpenNMS Horizon 使用的数据库名称 |
2 | 设置访问 opennms 数据库表的用户名 |
3 | 设置访问 opennms 数据库表的密码 |
4 | 设置访问 PostgreSQL 的管理员用户 postgres |
5 | 设置访问 PostgreSQL 的管理员用户的密码 |
步骤3: 初始化并启动 OpenNMS Horizon
${OPENNMS_HOME}/bin/runjava -s
${OPENNMS_HOME}/bin/install -dis
systemctl enable opennms
systemctl start opennms
步骤4: 首次登录并更改默认密码
OpenNMS 的 web 应用启动之后,可以通过 http://<ip-or-fqdn-of-your-server>:8980/opennms 访问系统。 缺省登录用户是 admin ,初始密码为 admin。
-
用 admin/admin 登录
-
点击主导航菜单上的 "admin → Change Password → Change Password"
-
设置 admin 的当前密码,设置新密码并设置确认密码
-
点击 "Submit"
-
注销并使用新密码登录
下一步
附加信息可在后续文件中找到:
-
入门指南
首先介绍安装、配置和维护 OpenNMS Horizon。
-
参考指南
查找有关 OpenNMS Horizon 平台使用的探测器、监测器、采集器和配置文件的深入信息。
2.5. 在 Windows 上安装
在 Microsoft Windows 的安装,不处理像 Linux 操作系统上的 PostgreSQL 和 Java 依赖关系。
确保您已经安装了 Oracle 页面上可用的 Oracle Java Development Kit 8 (JDK)。 |
安装过程有以下步骤:
-
在 微软 Windows 上安装 PostgreSQL
-
用 GUI 安装程序安装 OpenNMS Horizon
-
初始化 PostgreSQL 数据库并配置访问权限
-
登录到 Web 用户界面并更改 admin 默认密码
安装 OpenNMS Horizon 需要本地 administration 权限。
在 微软 Windows 上编辑 OpenNMS 配置文件可以使用 Notepad++ 工具,它可以处理像 .property 和 .xml 格式的文件。 |
步骤1: 安装 PostgreSQL
微软 Windows 上的可用最新版 PostgreSQL,可以从 下载 PostgreSQL 页面下载。 按照图形界面的提示进行安装。
占位符 {PG-VERSION} 表示 PostgreSQL 的版本号。
|
在 PostgreSQL 的安装过程中,需要提供以下信息:
-
PostgreSQL 的安装目录,例如
C:\Program Files\PostgreSQL{PG-VERSION}
-
数据库超级用户(postgres)的密码,此密码将在 OpenNMS 设置期间使用。
-
PostgreSQL 连接的侦听端口,默认为
5432
,通常可以使用。 -
数据库 Locale,保留
[Default locale]
,如果更改了 locale 设置,OpenNMS 可能无法初始化数据库。
不需要从 PostgreSQL Stack Builder 安装任何附加的内容。 |
步骤2: 用GUI安装程序安装 OpenNMS
对于 Microsoft Windows 环境,先从 OpenNMS SourceForge 库下载一个 standalone-opennms-installer-{ONMS-VERSION}.zip 文件。 提取下载的 ZIP 文件。
要用最新稳定的版本号替换 {ONMS-VERSION} 。
|
启动图形安装程序并按照屏幕上的说明进行操作。 必须提供以下信息:
-
Oracle JDK 路径, 例如
C:\Program Files\Java\jdk1.8.0_51
-
OpenNMS 的安装路径, 例如
C:\Program Files\OpenNMS
-
选择想要安装的包,必选项是 Core 和 Docs
-
PostgreSQL 数据库连接
-
Host: 运行 PostgreSQL 的服务器, 例如
localhost
-
Name: 用于 OpenNMS 的数据库名称, 例如
opennms
-
Port: 连接到 PostgreSQL 服务器的 TCP 端口, 例如
5432
-
Username (具有管理功能的超级用户): PostgreSQL 超级用户, 例如
postgres
-
Password (具有管理功能的超级用户): PostgreSQL 设置的超级用户密码
-
Username (opennms 的运行时用户): 连接到 OpenNMS 数据库的用户名, 例如
opennms
-
Password (opennms 的运行时用户): 连接到 OpenNMS 数据库的密码, 例如
opennms
-
-
为初始设备发现配置发现范围。 如果你不想进行设备发现,可以在开始和结束使用相同的不可达地址。
请为所有数据库用户选择安全密码,不要在实际运行中使用上面的示例密码。 |
步骤3: OpenNMS Horizon 数据库访问配置
<jdbc-data-source name="opennms"
database-name="opennms"(1)
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/opennms"
user-name="** YOUR-OPENNMS-USERNAME **"(2)
password="** YOUR-OPENNMS-PASSWORD **" />(3)
<jdbc-data-source name="opennms-admin"
database-name="template1"
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/template1"
user-name="postgres"(4)
password="** YOUR-POSTGRES-PASSWORD **" />(5)
1 | 设置 OpenNMS Horizon 使用的数据库名称 |
2 | 设置访问 opennms 数据库表的用户名 |
3 | 设置访问 opennms 数据库表的密码 |
4 | 设置访问 PostgreSQL 的管理员用户 postgres |
5 | 设置访问 PostgreSQL 的管理员用户的密码 |
在 opennms-datasources.xml
中设置用户名和密码后,重新运行图形安装程序,并初始化数据库。
OpenNMS 可以使用 %OPENNMS_HOME%\bin
目录中的 start.bat
和 stop.bat
脚本来启动和停止。
Wiki 文章 将 OpenNMS 配置为 Windows 服务 介绍了如何通过 start.bat 文件创建一个 Windows 服务 。
还有就是 Java Wrapper ,可以把 Java 应用程序安装为 Windows 服务 。
|
步骤4: 首次登录并更改默认密码
OpenNMS 的 web 应用启动后,就可以访问 http://<ip-or-fqdn-of-your-server>:8980/opennms。 缺省登录用户是 admin ,初始密码为 admin。
-
用 admin/admin 登录
-
点击主导航菜单上的 "admin → Change Password → Change Password"
-
设置 admin 的当前密码,设置新密码并设置确认密码
-
点击 "Submit"
-
注销并使用新密码登录
下一步
附加信息可在后续文件中找到:
-
入门指南
首先介绍安装、配置和维护 OpenNMS Horizon。
-
参考指南
查找有关 OpenNMS Horizon 平台使用的探测器、监测器、采集器和配置文件的深入信息。
3. 使用 Minion 监控隔离位置
本节描述如何将 Minion 安装到无法从 OpenNMS Horizon 实例到达的位置来监视设备和服务。
3.1. 目标
-
安装一个 Minion 来监视从 OpenNMS Horizon 实例无法访问的设备和服务
-
通过配置身份验证,使用 ActiveMQ 和 REST 在 Minion 和 OpenNMS Horizon 之间实现未加密通信
3.2. 准备条件
安装 OpenNMS Horizon 的 Minions 准备条件:
-
OpenNMS Horizon 的实例需要与 Minion 包使用完全相同的版本
-
RHEL-based 系统的 RPMs 包和 Debian-based 系统的 DEBs 包可用
-
首先需要安装 OpenNMS Horizon,并且使用 REST (8980/tcp) 和 ActiveMQ (616161/tcp) 进行通信
根据安装的操作系统,Minion 的路径是不同的。
对于指令引用 ${MINION_HOME}
,则将路径解析为以下目录:
RHEL |
|
Debian |
|
3.3. 在 RHEL 上安装
-
设置 OpenNMS Horizon 以允许 Minion 通信
-
安装
opennms-minion
meta 包,来处理所有依赖关系 -
启动 Minion 并通过 SSH 访问 Karaf 控制台
-
配置 Minion 与 OpenNMS Horizon 通信
-
验证 Minion 与 OpenNMS Horizon 之间的连通性
命令行接口上的所有命令都需要用 root 权限执行。
步骤1: 设置 OpenNMS Horizon 以允许 Minion 通信
Minion 和 OpenNMS Horizon 之间使用 REST API 进行通信,同时默认 ActiveMQ 作为消息传递系统。 在这些通信信道中需要 OpenNMS Horizon 中的认证用户。 安全角色 ROLE_MINION 包括 Minion 操作所需的最小权限。
我们在这个指南中使用用户名为 minion 密码为 minion。 相应地更改凭据。 |
-
使用具有管理权限的用户登录 web 用户界面
-
导航到 "Login Name → Configure OpenNMS → Configure Users, Groups and On-Call Roles → Configure Users"
-
添加一个新用户,登录名为 minion 并且密码为 minion,然后点击 Ok
-
指定安全角色 ROLE_MINION,在可选注释中填写站点和用途,然后单击 Finish
-
现在 User List 中列出了 minion 用户
vi ${OPENNMS_HOME}/etc/opennms-activemq.xml
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?useJmx=false&maximumConnections=1000&wireformat.maxFrameSize=104857600"/>
systemctl restart opennms
ss -lnpt sport = :61616
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:61616 *:* users:(("java",pid=1,fd=706))
步骤2: 安装仓库和 Minion 包
使用 SSH 连接到远程 RHEL 系统,然后安装 Minion。
yum -y install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel7.noarch.rpm
rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY
yum -y install opennms-minion
列软件包将自动安装:
-
opennms-minion: Minion meta 包
-
opennms-minion-container: Minion 相关功能和附件管理扩展的 Karaf OSGi 容器
-
opennms-minion-features-core: Minion 特性所需的核心公共程序和服务
-
opennms-minion-features-default: 特定服务的特性
Minion 安装成功后是如下目录结构:
[root@localhost /opt/minion]# $ tree -L 1
.
├── bin
├── deploy
├── etc
├── lib
├── repositories
└── system
可以通过编辑 /etc/default/minion
文件来更改 Minion 的启动配置。
这里可以修改启动时的许多默认配置:
-
JDK 的位置
-
使用内存
-
运行的用户
步骤3: 启动 Minion 并测试访问 Karaf Shell
systemctl enable minion
systemctl start minion
ssh -p 8201 admin@localhost
步骤4: 配置 Minion 与 OpenNMS Horizon 通信
ssh -p 8201 admin@localhost
[root@localhost /root]# $ ssh -p 8201 admin@localhost
...
admin@minion()> config:edit org.opennms.minion.controller
admin@minion()> config:property-set location Office-Pittsboro
admin@minion()> config:property-set http-url http://opennms-fqdn:8980/opennms
admin@minion()> config:property-set broker-url failover:tcp://opennms-fqdn:61616
admin@minion()> config:update
在连接 URL 中包括 failover: 部分,可以让 Minion 在失败后重新建立连接。
有关不同 URL 格式的引用,请参考 ActiveMQ URI Protocols。
|
admin@minion()> scv:set opennms.http minion minion
admin@minion()> scv:set opennms.broker minion minion
配置凭证的另一种方法是使用 Minion 的 bin 目录下的 scvcli 工具。
|
scvcli
命令工具配置凭证的示例[root@localhost /root]# $ cd /opt/minion
[root@localhost /opt/minion]# $ ./bin/scvcli set opennms.http minion minion
[root@localhost /opt/minion]# $ ./bin/scvcli set opennms.broker minion minion
[root@localhost /root]# $ systemctl restart minion
凭证要单独配置,因为它们被加密保存在磁盘上。 |
步骤5: 验证连通性
ssh -p 8201 admin@localhost
admin@minion()> minion:ping
Connecting to ReST...
OK
Connecting to Broker...
OK
admin@minion()>
3.4. 在 Debian 上安装
-
设置 OpenNMS Horizon 以允许 Minion 通信
-
安装
opennms-minion
meta 包,来处理所有依赖关系 -
启动 Minion 并通过 SSH 访问 Karaf 控制台
-
配置 Minion 与 OpenNMS Horizon 通信
-
验证 Minion 与 OpenNMS Horizon 之间的连通性
命令行接口上的所有命令都需要用 root 权限执行。
步骤1: 设置 OpenNMS Horizon 以允许 Minion 通信
Minion 和 OpenNMS Horizon 之间使用 REST API 进行通信,同时默认 ActiveMQ 作为消息传递系统。 在这些通信信道中需要 OpenNMS Horizon 中的认证用户。 安全角色 ROLE_MINION 包括 Minion 操作所需的最小权限。
我们在这个指南中使用用户名为 minion 密码为 minion。 相应地更改凭据。 |
-
使用具有管理权限的用户登录 web 用户界面
-
导航到 "Login Name → Configure OpenNMS → Configure Users, Groups and On-Call Roles → Configure Users"
-
添加一个新用户,登录名为 minion 并且密码为 minion,然后点击 Ok
-
指定安全角色 ROLE_MINION,在可选注释中填写站点和用途,然后单击 Finish
-
现在 User List 中列出了 minion 用户
vi ${OPENNMS_HOME}/etc/opennms-activemq.xml
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?useJmx=false&maximumConnections=1000&wireformat.maxFrameSize=104857600"/>
systemctl restart opennms
ss -lnpt sport = :61616
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:61616 *:* users:(("java",pid=1,fd=706))
步骤2: 安装仓库和 Minion 包
echo 'deb https://debian.opennms.org stable main \
deb-src https://debian.opennms.org stable main' > /etc/apt/sources.list.d/opennms.list
wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -
apt update
apt -y install opennms-minion
下列软件包将自动安装:
-
opennms-minion: Minion meta 包
-
opennms-minion-container: Minion 相关功能和附件管理扩展的 Karaf OSGi 容器
-
opennms-minion-features-core: Minion 特性所需的核心公共程序和服务
-
opennms-minion-features-default: 特定服务的特性
Minion 安装后是如下目录结构:
[root@localhost /usr/share/minion]# $ tree -L 1
.
├── bin
├── deploy
├── etc
├── lib
├── repositories
└── system
此外,符号链接设置为指向 /etc/minion
和 /var/log/minion
,已符合 Debian 预期的文件系统布局。
可以通过编辑 /etc/default/minion
文件来更改 Minion 的启动配置。
这里可以修改启动时的许多默认配置:
-
JDK 的位置
-
使用内存
-
运行的用户
步骤3: 启动 Minion 并测试访问 Karaf Shell
systemctl enable minion
systemctl start minion
ssh -p 8201 admin@localhost
步骤4: 配置 Minion 与 OpenNMS Horizon 通信
ssh -p 8201 admin@localhost
[root@localhost /root]# $ ssh -p 8201 admin@localhost
...
admin@minion()> config:edit org.opennms.minion.controller
admin@minion()> config:property-set location Office-Pittsboro
admin@minion()> config:property-set http-url http://opennms-fqdn:8980/opennms
admin@minion()> config:property-set broker-url failover:tcp://opennms-fqdn:61616
admin@minion()> config:update
在连接 URL 中包括 failover: 部分,可以让 Minion 在失败后重新建立连接。
有关不同 URL 格式的引用,请参考 ActiveMQ URI Protocols。
|
admin@minion()> scv:set opennms.http minion minion
admin@minion()> scv:set opennms.broker minion minion
配置凭证的另一种方法是使用 Minion 的 bin 目录下的 scvcli 工具。
|
scvcli
命令工具配置凭证的示例[root@localhost /root]# $ cd /opt/minion
[root@localhost /opt/minion]# $ ./bin/scvcli set opennms.http minion minion
[root@localhost /opt/minion]# $ ./bin/scvcli set opennms.broker minion minion
[root@localhost /root]# $ systemctl restart minion
凭证要单独配置,因为它们被加密保存在磁盘上。 |
步骤5: 验证连通性
ssh -p 8201 admin@localhost
admin@minion()> minion:ping
Connecting to ReST...
OK
Connecting to Broker...
OK
admin@minion()>
4. Sentinel
本节介绍如何安装 Sentinel 以扩展 OpenNMS Horizon 的各个组件
目前,只有使用 Sentinel 才能分发流量。 未来还会有更多的组件。 |
4.1. 准备条件
安装 OpenNMS Horizon 的 Sentinel 准备条件:
-
OpenNMS Horizon 的实例需要与 Sentinel 包使用完全相同的版本
-
RHEL-based 系统的 RPMs 包和 Debian-based 系统的 DEBs 包可用
-
首先需要安装 OpenNMS Horizon,并且使用 REST (8980/tcp) 和 ActiveMQ (616161/tcp) 进行通信
-
至少安装一个 Minion,并且可以和 OpenNMS Horizon 成功通信
根据安装的操作系统,Sentinel 的路径是不同的。
对于指令引用 ${SENTINEL_HOME}
,则将路径解析为以下目录:
RHEL |
|
Debian |
|
4.2. 在 RHEL 上安装
-
设置 OpenNMS Horizon 以允许 Sentinel 通信
-
安装
opennms-sentinel
meta 包,来处理所有依赖关系 -
启动 Sentinel 并通过 SSH 访问 Karaf 控制台
-
配置 Sentinel 与 OpenNMS Horizon 通信
-
验证 Sentinel 与 OpenNMS Horizon 之间的连通性
命令行接口上的所有命令都需要用 root 权限执行。
步骤1: 设置 OpenNMS Horizon 以允许 Sentinel 通信
这一步操作与 Minion 完全相同。
甚至可以使用角色 ROLE_MINION
,因为还没有专门的 ROLE_SENTINEL
角色。
因此,请参阅 设置 OpenNMS Horizon 以允许 Minion 通信。
即使我们和 OpenNMS Horizon 通信的配置与 Minion 完全相同, 但是,不会发出 ReST 请求,并且可能在以后删除。 |
步骤2: 安装仓库和 Sentinel 包
使用 SSH 连接到远程 RHEL 系统,然后安装 Sentinel。
yum install -y https://yum.opennms.org/repofiles/opennms-repo-stable-rhel7.noarch.rpm
rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY
yum -y install opennms-sentinel
Sentinel 安装成功后是如下目录结构:
[root@localhost /opt/sentinel]# $ tree -L 1
.
|-- bin
|-- COPYING
|-- data
|-- deploy
|-- etc
|-- lib
`-- system
可以通过编辑 /etc/sysconfig/sentinel
文件来更改 Sentinel 的启动配置。
这里可以修改启动时的许多默认配置:
-
JDK 的位置
-
使用内存
-
运行的用户
步骤3: 启动 Sentinel 并测试访问 Karaf Shell
systemctl enable sentinel
systemctl start sentinel
ssh -p 8301 admin@localhost
步骤4: 配置 Sentinel 与 OpenNMS Horizon 通信
ssh -p 8301 admin@localhost
[root@localhost /root]# $ ssh -p 8201 admin@localhost
...
admin@sentinel()> config:edit org.opennms.sentinel.controller
admin@sentinel()> config:property-set location Office-Pittsboro
admin@sentinel()> config:property-set http-url http://opennms-fqdn:8980/opennms
admin@sentinel()> config:property-set broker-url failover:tcp://opennms-fqdn:61616
admin@sentinel()> config:update
在连接 URL 中包括 failover: 部分,可以让 Sentinel 在失败后重新建立连接。
有关不同 URL 格式的引用,请参考 ActiveMQ URI Protocols。
|
即使当前可以像 Minion 设置 id, location 和 http-url,但是在 Sentinel 未来版本可能会改变。 |
admin@sentinel()> scv:set opennms.http minion minion
admin@sentinel()> scv:set opennms.broker minion minion
用户名和密码直接设置为 minion
,并且假设它们共享相同的凭证和角色。
配置凭证的另一种方法是使用 Sentinel 的 bin 目录下的 scvcli 工具。
|
scvcli
命令工具配置凭证的示例[root@localhost /root]# $ cd /opt/sentinel
[root@localhost /opt/sentinel]# $ ./bin/scvcli set opennms.http minion minion
[root@localhost /opt/sentinel]# $ ./bin/scvcli set opennms.broker minion minion
[root@localhost /root]# $ systemctl restart sentinel
凭证要单独配置,因为它们被加密保存在磁盘上。 |
步骤5: 验证连通性
ssh -p 8301 admin@localhost
admin@sentinel()> feature:install sentinel-core
admin@sentinel> health:check
Verifying the health of the container
Verifying installed bundles [ Success ]
Connecting to OpenNMS ReST API [ Success ]
=> Everything is awesome
admin@sentinel()>
命令 health:check 是原始的 minion:ping 命令的更新、更灵活的版本。
因此,Sentinel 上没有同等的 sentinel:ping 。
|
4.3. 在 Debian 上安装
-
设置 OpenNMS Horizon 以允许 Sentinel 通信
-
安装
opennms-sentinel
meta 包,来处理所有依赖关系 -
启动 Sentinel 并通过 SSH 访问 Karaf 控制台
-
配置 Sentinel 与 OpenNMS Horizon 通信
-
验证 Sentinel 与 OpenNMS Horizon 之间的连通性
命令行接口上的所有命令都需要用 root 权限执行。
步骤1: 设置 OpenNMS Horizon 以允许 Sentinel 通信
这一步操作与 Minion 完全相同。
甚至可以使用角色 ROLE_MINION
,因为还没有专门的 ROLE_SENTINEL
角色。
因此,请参阅 设置 OpenNMS Horizon 以允许 Minion 通信。
即使我们和 OpenNMS Horizon 通信的配置与 Minion 完全相同, 但是,不会发出 ReST 请求,并且可能在以后删除。 |
步骤2: 安装仓库和 Sentinel 包
echo 'deb https://debian.opennms.org stable main \
deb-src https://debian.opennms.org branches/features-sentinel main' > /etc/apt/sources.list.d/opennms.list
wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -
apt update
apt -y install opennms-sentinel
Sentinel 安装后是以下目录结构:
[root@localhost /usr/share/sentinel]# $ tree -L 1
.
|-- bin
|-- COPYING
|-- data
|-- debian
|-- deploy
|-- etc
|-- lib
`-- system
此外,还要设置指向 /etc/sentinel
和 /var/log/sentinel
的符合链接,来适用 Debian 的文件系统要求。
可以通过编辑 /etc/default/sentinel
文件来改变 Minion 的启动配置。
它可以覆盖启动时使用的默认配置,包括:
-
JDK 的位置
-
使用内存
-
运行的用户
步骤3: 启动 Sentinel 并测试访问 Karaf Shell
systemctl enable sentinel
systemctl start sentinel
ssh -p 8301 admin@localhost
步骤4: 配置 Sentinel 与 OpenNMS Horizon 通信
ssh -p 8301 admin@localhost
[root@localhost /root]# $ ssh -p 8201 admin@localhost
...
admin@sentinel()> config:edit org.opennms.sentinel.controller
admin@sentinel()> config:property-set location Office-Pittsboro
admin@sentinel()> config:property-set http-url http://opennms-fqdn:8980/opennms
admin@sentinel()> config:property-set broker-url failover:tcp://opennms-fqdn:61616
admin@sentinel()> config:update
在连接 URL 中包括 failover: 部分,可以让 Sentinel 在失败后重新建立连接。
有关不同 URL 格式的引用,请参考 ActiveMQ URI Protocols。
|
即使当前可以像 Minion 设置 id, location 和 http-url,但是在 Sentinel 未来版本可能会改变。 |
admin@sentinel()> scv:set opennms.http minion minion
admin@sentinel()> scv:set opennms.broker minion minion
用户名和密码直接设置为 minion
,并且假设它们共享相同的凭证和角色。
配置凭证的另一种方法是使用 Sentinel 的 bin 目录下的 scvcli 工具。
|
scvcli
命令工具配置凭证的示例[root@localhost /root]# $ cd /opt/sentinel
[root@localhost /usr/share/sentinel]# $ ./bin/scvcli set opennms.http minion minion
[root@localhost /usr/share/sentinel]# $ ./bin/scvcli set opennms.broker minion minion
[root@localhost /root]# $ systemctl restart sentinel
凭证要单独配置,因为它们被加密保存在磁盘上。 |
步骤5: 验证连通性
ssh -p 8301 admin@localhost
admin@sentinel()> feature:install sentinel-core
admin@sentinel> health:check
Verifying the health of the container
Verifying installed bundles [ Success ]
Connecting to OpenNMS ReST API [ Success ]
=> Everything is awesome
admin@sentinel()>
命令 health:check 是原始的 minion:ping 命令的更新、更灵活的版本。
因此,Sentinel 上没有同等的 sentinel:ping 。
|
5. 安装非稳定版本
有多个 OpenNMS 发布版本可用。 选择一个你需要运行的版本,然后配置包资源库指向该版本。 配置包资源库后,你就可以通过使用标准的 Linux 软件更新工具,像 yum 和 apt 。
下面的包资源库可用:
发布 | 描述 |
---|---|
|
最新稳定发布。该版本推荐给所有用户。 |
|
下一个稳定发布的候选版本。 |
|
最新开发成功构建,"夜间" 构建。 |
|
从特定分支名称安装,用于测试正在开发的特定功能。 可用分支在 https://yum.opennms.org/branches/ 或 https://debian.opennms.org/dists/branches/ 。 |
要安装不同的版本,必须安装资源库文件并手动修改。
在 Debian 系统中,修改 /etc/apt/sources.list.d/opennms.list
中的存储库文件。
deb https://debian.opennms.org snapshot main(1)
deb-src https://debian.opennms.org snapshot main(1)
EOF
wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -
apt update
1 | 将 stable 改成 snapshot |
在 RHEL 系统上,您可以安装一个 snapshot(快照)存储库:
yum -y install https://yum.opennms.org/repofiles/opennms-repo-snapshot-rhel7.noarch.rpm
对于分支使用 repofiles/opennms-repo-branches-${branch-name}-rhel7.noarch.rpm 。
|
安装过程与稳定版本相同。
6. 安装 Minion 配置文件
除了通过 Karaf CLI 手动配置 Minion 实例之外,还可以通过配置管理工具修改和部署它的配置文件。
配置文件位于 ${MINION_HOME}/etc/org.opennms.minion.controller.cfg
。
在 Karaf CLI 设置的所有配置都将保存在配置文件中,也可以通过配置管理工具来做。
id = 00000000-0000-0000-0000-deadbeef0001
location = MINION
broker-url = tcp://myopennms.example.org:61616
http-url = http://myopennms.example.org:8980/opennms
配置文件被修改后,需要重启 Minion。
通过 CLI 来执行配置管理工具或脚本都是需要凭证,使用 /opt/minion/bin/client 命令也可以通过 Linux shell 来执行 Karaf 命令。
|
7. 在非 root 环境中运行
本节介绍在非 root 环境中运行 OpenNMS Horizon 和 Minions 进程的信息。 与系统用户一起运行有一定限制性。 本节描述如何配置相关的 Linux 系统:
-
发送非特权用户的 ICMP 包
-
在(小于) < 1023 端口接收 Syslog,例如 514/udp
-
在(小于) < 1023 端口接收 SNMP Trap,例如 162/udp
7.1. 作为非 root 发送 ICMP
默认情况下,Linux 不允许常规用户从任意程序(包括 Java 在内)执行 ping
操作。
要使 Minion 或 OpenNMS Horizon 正确地执行 ping,必须设置一个 sysctl
选项。
# run this command as root to allow ping by any user (does not survive reboots)
sysctl net.ipv4.ping_group_range='0 429496729'
如果希望进一步限制范围,则用户可用使用 GID 来运行 Minion 或 OpenNMS Horizon,而不是 429496729
。
若要永久启用此项,请在 /etc/sysctl.d/
目录中创建文件,来设置范围:
# we start this filename with "99-zzz-" to make sure it's last, after anything else that might have set it
net.ipv4.ping_group_range=0 429496729
7.2. 非 root 接收 Trap
如果希望 Minion 或 OpenNMS Horizon 侦听 SNMP Traps,则需要配置防火墙,来让特权 trap 端口(162)转发到 Minion 的默认 trap 侦听端口 1162。
# enable masquerade to allow port-forwards
firewall-cmd --add-masquerade
# forward port 162 TCP and UDP to port 1162 on localhost
firewall-cmd --add-forward-port=port=162:proto=udp:toport=1162:toaddr=127.0.0.1
firewall-cmd --add-forward-port=port=162:proto=tcp:toport=1162:toaddr=127.0.0.1
7.3. 非 root 接收 Syslog
如果您希望您的 Minion or OpenNMS Horizon 侦听 syslog 消息,则需要配置防火墙,来让特权 Syslog 端口(415)转发到 Minion 的默认 syslog 侦听端口 1514。
# enable masquerade to allow port-forwards
firewall-cmd --add-masquerade
# forward port 514 TCP and UDP to port 1514 on localhost
firewall-cmd --add-forward-port=port=514:proto=udp:toport=1514:toaddr=127.0.0.1
firewall-cmd --add-forward-port=port=514:proto=tcp:toport=1514:toaddr=127.0.0.1
8. 使用 R 进行统计计算
R 是免费软件,用来进行统计计算和图形展示。 OpenNMS Horizon 可以利用 R 强大的预测和高级计算功能,处理采集模块的时间序列数据。
OpenNMS 与 R 的接口通过 stdin 和 stdout, 因此, R 必须和 OpenNMS 在同一主机上安装. 注意,安装 R 是可选的,它不是核心组件。
Microsoft Windows 系统目前还不支持 R 。 |
8.1. 在 RHEL 上安装 R
yum install epel-release
yum install R
8.2. 在 Debian 上安装 R
apt -y install r-recommended
9. 使用不同的时间序列存储
OpenNMS Horizon 将性能数据存储在时间序列存储中,默认存储是 JRobin。 对于不同的场景,可以切换到不同的时间序列存储。 支持以下实现:
JRobin |
JRobin 是 RRDTool 的 Java 实现,它没有完全实现 RRDTool 最新特性集,并且是 OpenNMS Horizon 的默认安装。 数据存储在 OpenNMS Horizon 节点的本地文件系统上。 根据 I/O 能力,它适合于中小型设备监控。 |
RRDTool |
RRDTool 是主动维护的,是处理时间序列数据的事实标准。 数据存储在 OpenNMS Horizon 节点的本地文件系统上。 根据 I/O 能力,它适合于中小型设备监控。 |
Newts |
Newts 是 Cassandra 的数据库模式。 时间序列存储在专用的 Cassandra 集群上,这提供了增长的灵活性,并允许大规模地持久化时间序列数据。 |
本节介绍配置 OpenNMS Horizon 以使用 RRDTool 和 Newts。
从一个时间序列存储技术迁移到另一种存储技术是非常困难的。 当切换数据存储时,无法防止数据丢失。 |
9.1. RRDtool
在大多数 开发源码 应用程序中, RRDtool 经常被使用,并且是事实上的 时间序列数据 的开放标准。 默认情况下 OpenNMS Horizon 使用的是 JRobin ,但是切换成用 RRDtool 来存储 时间序列数据 是很简单的。 本节介绍如何安装 RRDtool, OpenNMS Java 接口 jrrd2,以及如何配置 OpenNMS Horizon 来使用它。
9.1.1. 在 RHEL 上安装 RRDTool
这个指南不包括从 JRobin 到 RRDTool 的数据迁移。 |
要安装 jrrd2,请启用 OpenNMS YUM 仓库。
可以使用 yum-config-manager --enable opennms-repo-stable-common,opennms-repo-stable-rhel7 启用它们。
|
更多 RRDTool 的当前版本是在 OpenNMS YUM 仓库。
可以使用 yum info rrdtool 命令,显示所提供的版本。
本指南使用 OpenNMS 仓库提供的 RRDTool。
当使用 CentOS 提供的 RRDTool 包时,请验证 rrdtool 二进制文件的路径。
|
步骤1: 安装 RRDTool 和 jrrd2 接口
yum -y install rrdtool jrrd2
步骤2: 配置 OpenNMS Horizon 使用 RRDTool
cat << EOF | sudo tee /opt/opennms/etc/opennms.properties.d/timeseries.properties
org.opennms.rrd.strategyClass=org.opennms.netmgt.rrd.rrdtool.MultithreadedJniRrdStrategy
org.opennms.rrd.interfaceJar=/usr/share/java/jrrd2.jar
opennms.library.jrrd2=/usr/lib64/libjrrd2.so
org.opennms.web.graphs.engine=rrdtool # optional, unset if you want to keep Backshift as default
EOF
可视化的图形引擎是可选的。
通过不设置 org.opennms.web.graphs.engine 属性并使用系统默认设置,可以使用默认的图形引擎 backshift 。
|
步骤3: 重新启动 OpenNMS Horizon 并验证设置
find /opt/opennms/share/rrd -iname "*.rrd"
在第一次数据采集后,将创建 .rrd 扩展名的 RRDTool 文件。 扩展名 .jrb 的 JRobin 文件不再使用,但不会自动删除。
9.1.2. 参考
下面的配置文件是对 RRDTool 二进制文件的引用,如果定制 RRDTool 安装,则可以进行修改。
配置文件 | 属性 |
---|---|
|
|
|
|
|
|
|
|
|
|
9.1.3. 在 Debian 上安装 RRDTool
这个指南不包括从 JRobin 到 RRDTool 的数据迁移。 |
更多 RRDTool 的当前版本是在 OpenNMS YUM 仓库。
可以使用 apt show rrdtool 命令,显示所提供的版本。
本指南使用 OpenNMS 仓库提供的 RRDTool。
当使用 Debian/Ubuntu 提供的 RRDTool 包时,请验证 rrdtool 二进制文件的路径。
|
步骤1: 安装 RRDTool 和 jrrd2 接口
apt -y install rrdtool jrrd2
步骤2: 配置 OpenNMS Horizon 使用 RRDTool
cat << EOF | sudo tee /usr/share/opennms/etc/opennms.properties.d/timeseries.properties
org.opennms.rrd.strategyClass=org.opennms.netmgt.rrd.rrdtool.MultithreadedJniRrdStrategy
org.opennms.rrd.interfaceJar=/usr/share/java/jrrd2.jar
opennms.library.jrrd2=/usr/lib/jni/libjrrd2.so
org.opennms.web.graphs.engine=rrdtool # optional, unset if you want to keep Backshift as default
EOF
可视化的图形引擎是可选的。
通过不设置 org.opennms.web.graphs.engine 属性并使用系统默认设置,可以使用默认的图形引擎 backshift 。
|
步骤3: 重新启动 OpenNMS Horizon 并验证设置
find /usr/share/opennms/share/rrd -iname "*.rrd"
在第一次数据采集后,将创建 .rrd 扩展名的 RRDTool 文件。 扩展名 .jrb 的 JRobin 文件不再使用,但不会自动删除。
9.1.4. 参考
下面的配置文件是对 RRDTool 二进制文件的引用,如果定制 RRDTool 安装,则可以进行修改。
配置文件 | 属性 |
---|---|
|
|
|
|
|
|
|
|
|
|
9.2. Newts
Newts 是基于 Apache Cassandra 的时间序列数据存储。 Newts 是一种存储策略,可以用来替代 JRobin 或 RRDtool。
目前,不支持在 Microsoft Windows Server 操作系统初始化 Newts keyspace(密钥空间)。 基于 Microsoft Windows 的 Cassandra 服务器可以是集群的一部分,但是 keyspace(密钥空间)初始化只能在 _Linux-_based 系统。 |
9.2.1. 设置 Cassandra
只有在使用 Newts 时,才会需要 Cassandra。 如果你的 OpenNMS Horizon 系统不使用 Newts,则可以跳过这一节。 |
建议将 Cassandra 安装在专用服务器上,但也可以在 OpenNMS Horizon 服务器上运行。 本安装指南描述如何在 OpenNMS Horizon 相同的系统上设置单个 Cassandra 实例,用来评估和测试 Newts。 这些步骤不适用于生产 Cassandra Cluster。如果已经有运行的群集,可以跳过这一节。
有关详细信息,请参阅 Cassandra Getting Started Guide。 在设置生产集群之前,请参阅 Anti-patterns in Cassandra。
RHEL
本节描述如何在一个基于 RHEL 系统上为 Newts 安装新版本 Cassandra 3.0.x。 第一步是添加 DataStax 社区仓库,并安装 GPG Key 来验证 RPM packages 的完整性。 使用 yum 安装完成后,将 Cassandra 服务将由 Systemd 管理。
这个描述是建立在 CentOS 7.2。 |
Cassandra 3.x 需要 Java 8+. |
vi /etc/yum.repos.d/datastax.repo
[datastax]
name = "DataStax Repo for Apache Cassandra"
baseurl = https://rpm.datastax.com/community
enabled = 1
gpgcheck = 1
rpm --import https://rpm.datastax.com/rpm/repo_key
yum install dsc30
chkconfig cassandra on
service cassandra start
服务器重新启动后,验证 Cassandra 服务是否自动启动。 |
Debian
本节描述如何在一个基于 Debian 系统上为 Newts 安装新版本 Cassandra 3.0.x。 第一步是添加 DataStax 社区仓库,并安装 GPG Key 来验证 DEB packages 的完整性。 使用 apt 安装完成后,将 Cassandra 服务添加到运行级配置。
这个描述是建立在 Debian 8.3 和 Ubuntu 16.04 LTS。 |
Cassandra 3.x 需要 Java 8+。 |
vi /etc/apt/sources.list.d/cassandra.sources.list
deb https://debian.datastax.com/community stable main
wget -O - https://debian.datastax.com/debian/repo_key | apt-key add -
apt-get update
apt-get install dsc30
Cassandra 服务添加到运行级配置中,并在安装后自动启动。
服务器重新启动后,验证 Cassandra 服务是否自动启动。 |
Microsoft Windows
本节描述如何在一个基于 Microsoft Windows Server 系统上为 Newts 安装新版本 Cassandra 3.0.x。 第一步是下载图形安装程序,然后将 Cassandra 注册为 Windows Service,来让 Service Manager 管理。
这个描述是建立在 Windows Server 2012。 |
Cassandra 3.x 需要 Java 8+。 |
cd C:\Users\Administrator\Downloads
Invoke-WebRequest https://downloads.datastax.com/community/datastax-community-64bit_3.0.6.msi -Outfile datastax-community-64bit_3.0.6.msi
从 PowerShell 或通过 Windows Explorer 运行 Windows 安装文件,并按照安装向导进行安装。 在安装过程中,选择自动启动服务。 默认情况下,DataStax Server, OpsCenter Server 和 OpsCenter Agent 将自动安装并启动。
只需在每个 Cassandra Cluster 上安装 DataStax OpsCenter Server。 |
如果安装 DataStax OpsCenter,请确认安装了 Chrome 或 Firefox。 |
9.2.2. 配置 OpenNMS Horizon
安装了 Cassandra 之后,就可以配置 OpenNMS Horizon 使用 Newts。
cat << EOF | sudo tee /opt/opennms/etc/opennms.properties.d/timeseries.properties
# Configure storage strategy
org.opennms.rrd.storeByForeignSource=true
org.opennms.timeseries.strategy=newts
# Configure Newts time series storage connection
org.opennms.newts.config.hostname=$ipaddress$
org.opennms.newts.config.keyspace=newts
org.opennms.newts.config.port=9042
EOF
属性 org.opennms.newts.config.hostname 可以接受逗号分隔的主机名或IP地址的列表。
|
启用 Newts 之后,可以使用下列方法在 Cassandra 中初始化 Newts 模式:
${OPENNMS_HOME}/bin/newts init
可选,现在可以连接到 Cassandra 集群,并验证 keyspace(密钥空间)是否已正确初始化:
cqlsh
use newts;
describe table terms;
describe table samples;
重新启动 OpenNMS Horizon 以应用更改。