OpenNMS安装

环境要求

硬件要求


Just Testing 1
Minimum Server Specification 2 Minimum Server Specification 2
CPU 2GHz dual core x86_64 3GHz quad core x86_64 and above
RAM 4GB (physical) 16GB (physical) and above
Storage (disk space) 50-GB HDD, SSD 1TB with SSD and above
  1. You can install the packages, and the Horizon services start.

  2. Your intended workload (network size, number of monitored metrics, flows, events, and data retention requirements) affects these requirements.

软件要求

系统 :centOs 7 +

Horizon 33.0.3 is compatible with the following components.

  • 标记*是必须组件

Component Version Compatibility
OpenNMS plugin for Grafana 7+
OpenNMS Plugin API 0.6.x
Cassandra 3.11.x
Elasticsearch 6.7.0 - 7.17.9
Java Development Kit * OpenJDK 11 or 17
Kafka 1.x - 3.x
PostgreSQL * 10.x - 15.x
RRDTool * 1.7.x
Browser * Latest Mozilla Firefox or Google Chrome

安装步骤

安装java

下载链接


  

https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

  1. 解压


  

tar -xzvf jdk-17_linux-x64_bin.tar.gz -C /usr/java

  1. 简单确认


  

/usr/java/jdk-17.0.11/bin/java -version

安装PostgreSQL

1.添加 PostgreSQL 12 软件包存储库


   

sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2.安装 PostgreSQL 12 客户端和服务器


  

sudo yum -y install postgresql12-server postgresql12

3.初始化 PostgreSQL 数据库


  

sudo /usr/pgsql-12/bin/postgresql-12-setup initdb

4.在系统启动时启用 PostgreSQL 并立即启动


  

sudo systemctl enable --now postgresql-12

为数据库创建用户名和密码

创建opennms数据库用户和密码

  

## 创建一个新的数据库用户,-P 表示需要密码 sudo -i -u postgres createuser -P opennms

系统会提示要求输入密码

这个密码在后面会用到

创建一个空数据库并将所有者设置为opennms用户

  

sudo -i -u postgres createdb -O opennms opennms

为 PostgreSQL 超级用户设置密码

  

sudo -i -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'star2024'; "

5.更改 PostgreSQL 的访问策略


  

vi /var/lib/pgsql/12/data/pg_hba.conf

pg_hba.conf 文件中,每条记录都是一行,定义了一种连接类型、连接来源、目标数据库、用户和使用的认证方法。常见的认证方法包括:

  • trust不需要密码即可连接。

  • reject拒绝所有连接。

  • md5要求输入密码,并通过 MD5 加密进行验证。

  • password要求输入密码,但是密码以明文形式发送。

  • peer使用操作系统的用户身份进行认证(通常用于本地连接)。

  • ident使用基于映射的系统用户身份进行认证(适用于某些类型的网络连接)。

  • gss使用通用安全服务进行认证。

  • sspi使用 Windows SSPI 认证。

note: 该手册用的是trust策略,仅用于演示环境搭建

将最后一列修改trust

6.让 PostgreSQL 应用配置生效


  

systemctl reload postgresql-12

安装openNms

1.添加官方yum源


  

sudo yum -y install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel7.noarch.rpm sudo rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY

2.查看是否安装成功


  

yum list opennms

3.安装opennms


  

yum install -y opennms

安装时间取决于网络环境.

安装大致部分截图

4.禁用OpenNMS自动更新


  

sudo yum -y install yum-utils sudo yum-config-manager --disable opennms-repo-stable-*

5.使用 tree 命令验证目录结构


  

sudo yum -y install tree tree /opt/opennms -L 1

安装成功后的目录结构

6.配置 PostgreSQL 数据库访问


  

sudo -u opennms vi /opt/opennms/etc/opennms-datasources.xml

7.检测并分配 Java 环境

/opt/opennms/etc/java.conf

sudo /opt/opennms/bin/runjava -s 

8.初始化数据库并检测系统库

/opt/opennms/etc/libraries.properties


  

sudo /opt/opennms/bin/install -dis

9.配置 PostgreSQL 数据库访问

Horizon 以非 root 用户身份运行,这需要具有高于 3.10 的 Linux 内核。如果您在较旧的内核上运行并且无法升级操作系统,则需要分配 CAP_NET_RAW 功能


  

systemctl edit --full opennms.service

在[Service]下加入下列代码


  

AmbientCapabilities=CAP_NET_RAW CAP_NET_BIND_SERVICE

  • 保存离开nano命令

ctrl + x 
y
enter
  • 重新加载和重新启动服务


  

systemctl daemon-reload systemctl restart opennms

10.开机自启核心实例


  

sudo systemctl enable --now opennms

查看是否添加成功添加开机自启动

systemctl is-enabled opennms.service

11.设置防火墙,打通opennms访问权限

# 允许 8980 端口访问 sudo firewall-cmd --permanent --add-port=8980/tcp # 重新加载防火墙规则 sudo systemctl reload firewalld

12.访问opennms

默认端口是8980

访问地址: http://ip:8980

默认登录名和密码是admin

相关推荐

  1. 安装】Linux安装ffmpeg

    2024-04-29 06:28:04       66 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-29 06:28:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-29 06:28:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-29 06:28:04       87 阅读
  4. Python语言-面向对象

    2024-04-29 06:28:04       96 阅读

热门阅读

  1. golang调用钉钉发送群机器人消息

    2024-04-29 06:28:04       37 阅读
  2. RediSearch:Redis强大的搜索引擎

    2024-04-29 06:28:04       34 阅读
  3. GO语言核心30讲 进阶技术

    2024-04-29 06:28:04       34 阅读
  4. C、C++的联合体:union关键字含义

    2024-04-29 06:28:04       27 阅读
  5. python:map()函数用法

    2024-04-29 06:28:04       30 阅读
  6. docker pull失败:x509: certificate has expired or is not yet

    2024-04-29 06:28:04       30 阅读
  7. electron 数据持久化方案

    2024-04-29 06:28:04       30 阅读
  8. 搜索引擎的发展历史

    2024-04-29 06:28:04       27 阅读
  9. ElasticSearch

    2024-04-29 06:28:04       31 阅读
  10. React的基础概念

    2024-04-29 06:28:04       32 阅读