前言
最近跟了学校的一个项目需要用到opennms,第一次接触这个就上网查了很多资料,碰了了很多壁,经历了几天的奋战,终于干出来,于是赶忙写了一篇博客分享一下心得,有需要的可以参考本文
重要提示:本文使用系统centos 7
安装步骤:
一、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
5.更改 PostgreSQL 的访问策略
sudo vi /var/lib/pgsql/12/data/pg_hba.conf
修改上图中对应最后一列
local all all trust host all all 127.0.0.1/32 trust host all all ::1/128 trust
6.为 PostgreSQL 应用配置更改
sudo systemctl reload postgresql-12
二、OpenNms 安装步骤
1.打包下载opennms
rpm -Uvh https://yum.opennms.org/repofiles/opennms-repo-stable-rhel6.noarch.rpm
这一步基本上会自动处理依赖性关系,一次安装所有的依赖软件包
2.查看是否安装成功
yum list opennms
执行上面命令可能会出现下图错误:
执行下面代码即可解决
yum-config-manager --save --setopt=opennms-repo-bleeding-rhel6.skip_if_unavailable=true
下图是成功执行 yum list opennms的截图
3.安装opennms
yum install opennms
这一步容易出现软件依赖问题可能会出现jicmp6没有安装或版本低执行下面代码即可(若还有其它情况的依赖没有安装,自行百度相关命令哟)或者再次运行1中代码
yum -y install jicmp6.x86_64
4.禁用自动更新
sudo yum -y install yum-utils
5.使用 tree 命令验证目录结构
sudo yum -y install tree
tree /opt/opennms -L 1
安装成功后的目录结构
/opt/opennms
├── bin
├── contrib
├── data
├── deploy
├── etc
├── jetty-webapps
├── lib
├── logs -> /var/log/opennms
├── share -> /var/opennms
└── system
如果能运行 tree /opt/opennms -L 1有以上目录结构,说明opennms安装成功,就成功了60%
6.配置 PostgreSQL 数据库访问
sudo -u opennms vi /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="你自己的密码" /><jdbc-data-source name="opennms-admin"
database-name="template1"
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/template1"
user-name="postgres"
password="你自己的密码" />
7.检测并分配 Java 环境
sudo /opt/opennms/bin/runjava -s
8.初始化数据库
sudo /opt/opennms/bin/install -dis
8.配置 PostgreSQL 数据库访问
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
9.开机自启核心实例
sudo systemctl enable --now opennms
10.允许从您的网络连接到 Web UI
sudo firewall-cmd --permanent --add-port=8980/tcp
sudo systemctl reload firewalld
11.允许端口转发
sudo firewall-cmd --permanent --add-masquerade
12.配将 SNMP端口 162 转发到 10162
sudo firewall-cmd --permanent --add-port=162/udp
sudo firewall-cmd --permanent --add-port=10162/udp
sudo firewall-cmd --permanent --add-forward-port=port=162:proto=udp:toport=10162
sudo systemctl reload firewalld
最后浏览器访问http://core-instance-ip:8980/opennms
.
或者:http://ip:8980(tips:虚拟机内浏览器访问可http://127.0.0.1:8980)
默认登录名和密码是admin