Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 9 additions & 13 deletions docs/antora.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,22 @@ asciidoc:
experimental: true
source-language: asciidoc@
xrefstyle: short@
compatible-centos7: '7.x'
compatible-centos-stream: 'CentOS Stream 9.x'
compatible-rhel7: '7.x'
compatible-rhel8: '8.x'
compatible-rhel9: '9.x'
compatible-ubuntu: '20.04 LTS'
compatible-debian: '9 - 11'
compatible-rocky-linux: '9.x'
compatible-centos: '9,10'
compatible-rhel: '8,9,10'
compatible-ubuntu: '24.04 LTS'
compatible-debian: '11, 12'
compatible-opennms-plugin: '9 - 11.2'
compatible-oia: '1.6.1'
compatible-cassandra: '4.17.0'
compatible-elasticsearch: '8.18.2'
compatible-javajdk: 'OpenJDK 17'
compatible-kafka: '1.x - 3.x'
compatible-postgresql: '13.x - 15.x'
compatible-javajdk: '17'
compatible-kafka: '1.x - 4.x'
compatible-postgresql: '14.x - 15.x'
compatible-rrdtool: '1.7.x'
jasperreportsversion: '6.3.0'
latest-meridian-stable: '2023'
latest-meridian-stable: '2025'
postgresql-version: '15'
jmx-prom-exporter-version: '1.3.0'
jmx-prom-exporter-version: '1.4.0'
nav:
- modules/ROOT/nav.adoc
- modules/releasenotes/nav.adoc
Expand Down
18 changes: 18 additions & 0 deletions docs/modules/deployment/pages/core/centos-rhel/adoptium.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
.Add Adoptium repository. See official https://adoptium.net/installation[docs] for more information.
[source, console]
----
sudo bash -c 'cat <<EOF > /etc/yum.repos.d/adoptium.repo
[Adoptium]
name=Adoptium
baseurl=https://packages.adoptium.net/artifactory/rpm/${DISTRIBUTION_NAME:-$(. /etc/os-release; echo $ID)}/\$releasever/\$basearch
enabled=1
gpgcheck=1
gpgkey=https://packages.adoptium.net/artifactory/api/gpg/key/public
EOF'
----

.Install Temurin Java {compatible-javajdk}
[source, console, subs="attributes"]
----
sudo dnf install temurin-{compatible-javajdk}-jdk
----
Original file line number Diff line number Diff line change
Expand Up @@ -3,58 +3,14 @@
You can store your PostgreSQL credentials in the secure credentials vault.
To do this, use the `scvcli` command line utility to add the credentials, and reference these credentials in `opennms-datasources.xml`:

. Create encrypted credentials for the PostgreSQL database connections:
+
.Create encrypted credentials for the PostgreSQL database connections
[source, console]
----
sudo -u opennms ${OPENNMS_HOME}/bin/scvcli set postgres opennms password <1>
sudo -u opennms ${OPENNMS_HOME}/bin/scvcli set postgres-admin postgres password
sudo -u opennms /opt/opennms/bin/scvcli set postgres opennms password <1>
sudo -u opennms /opt/opennms/bin/scvcli set postgres-admin postgres password
----
<1> Replace both `password` instances with the actual passwords for your `opennms` and `postgres` database accounts.

. Edit `opennms-datasources.xml` with `vi`:
+
[source, console]
sudo -u opennms vi /opt/opennms/etc/opennms-datasources.xml

. Set encrypted credentials to access the PostgreSQL database:
+
[source, xml]
----
...
<jdbc-data-source name="opennms"
database-name="opennms" <1>
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/opennms" <2>
user-name="${scv:postgres:username}" <3>
password="${scv:postgres:password}" /> <4>

<jdbc-data-source name="opennms-admin"
database-name="template1"
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/template1" <5>
user-name="${scv:postgres-admin:username}" <6>
password="${scv:postgres-admin:password}" /> <7>
...
<jdbc-data-source name="opennms-monitor"
database-name="postgres"
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/postgres" <8>
user-name="${scv:postgres-admin:username}" <9>
password="${scv:postgres-admin:password}" /> <10>
...
----
<1> Set the database name that {page-component-title} should use.
<2> Set the JDBC connection string to your Postregres server for the instance database.
<3> Set the user name to access the opennms database table.
<4> Set the password to access the opennms database table.
<5> Set the JDBC connection string to your Postregres server for the schema database
<6> Set the postgres user for administrative access to PostgreSQL.
<7> Set the password for administrative access to PostgreSQL.
<8> Set the JDBC connection string to your Postregres server for the system database.
<9> Set the postgres user for administrative access to PostgreSQL.
<10> Set the password for administrative access to PostgreSQL.

.Detect and assign Java environment and persist in /opt/opennms/etc/java.conf
[source, console]
----
Expand All @@ -70,8 +26,8 @@ sudo /opt/opennms/bin/install -dis
.Define any necessary xref:operation:deep-dive/admin/configuration/startup.adoc[startup configuration], such as open file descriptors or maximum Java heap
[source, console]
----
echo "JAVA_HEAP_SIZE=16384" | sudo tee ${OPENNMS_HOME}/etc/opennms.conf
echo "MAXIMUM_FILE_DESCRIPTORS=512000" | sudo tee -a ${OPENNMS_HOME}/etc/opennms.conf
echo "JAVA_HEAP_SIZE=16384" | sudo tee /opt/opennms/etc/opennms.conf
echo "MAXIMUM_FILE_DESCRIPTORS=512000" | sudo tee -a /opt/opennms/etc/opennms.conf
----
NOTE: These values are provided as examples; ideal values will vary based on your environment and workload

Expand Down
33 changes: 33 additions & 0 deletions docs/modules/deployment/pages/core/centos-rhel10/install-core.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
ifeval::["{page-component-title}" == "Horizon"]
include::../centos-rhel/adoptium.adoc[]
endif::[]

ifeval::["{page-component-title}" == "Horizon"]
include::../../repos/rhel-centos/horizon-rhel10.adoc[]
endif::[]

ifeval::["{page-component-title}" == "Meridian"]
include::../../repos/rhel-centos/meridian-rhel10.adoc[]
endif::[]

.Install {page-component-title} with all built-in dependencies
[source, console, subs="attributes"]
----
sudo dnf -y install {package-prefix}
----

TIP: Disable the OpenNMS {page-component-title} repository after installation to prevent unwanted upgrades when upgrading other packages on the server.
After upgrading, OpenNMS {page-component-title} requires manual steps to upgrade configuration files or migrate database schemas to a new version.
We recommend excluding the {page-component-title} packages from updates except when you plan to perform an upgrade.
If you have a minimal system installed, you may need to install the config manager with `sudo dnf install 'dnf-command(config-manager)'`.

.Disable auto updates for OpenNMS {page-component-title}
[source, console]
----
ifeval::["{page-component-title}" == "Horizon"]
sudo dnf config-manager --disable opennms-repo-stable-*
endif::[]
ifeval::["{page-component-title}" == "Meridian"]
sudo dnf config-manager --disable meridian
endif::[]
----
41 changes: 41 additions & 0 deletions docs/modules/deployment/pages/core/centos-rhel10/postgresql.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
.Install language packs and set language
[source,console]
----
sudo dnf install langpacks-en glibc-all-langpacks -y
sudo localectl set-locale LANG=en_US.UTF-8
sudo localectl
sudo dnf makecache
sudo dnf update -y
----

.Install PostgreSQL
[source, console]
[subs="verbatim,attributes"]
----
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-10-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo dnf -qy module disable postgresql
sudo dnf install -y postgresql{postgresql-version}-server
sudo /usr/pgsql-{postgresql-version}/bin/postgresql-{postgresql-version}-setup initdb
sudo systemctl enable postgresql-{postgresql-version}
sudo systemctl start postgresql-{postgresql-version}
----

IMPORTANT: You must provide a secure password for the `opennms` database user account.
This guide uses `YOUR-OPENNMS-PASSWORD` as a placeholder.

.Create an opennms database user and password
[source, console]
sudo -i -u postgres createuser -P opennms

.Create an empty database and set the owner to the opennms user
[source, console]
sudo -i -u postgres createdb -O opennms opennms

IMPORTANT: Change `YOUR-POSTGRES-PASSWORD` to a secure one and use the prefixed space to avoid storing the password in the history.
The superuser is required to be able to initialize and change the database schema for installation and updates.

.Set a password for PostgreSQL superuser
[source, console]
----
sudo -i -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'YOUR-POSTGRES-PASSWORD';"
----
23 changes: 0 additions & 23 deletions docs/modules/deployment/pages/core/centos-rhel9/install-core.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -26,26 +26,3 @@ ifeval::["{page-component-title}" == "Meridian"]
sudo dnf config-manager --disable meridian
endif::[]
----

.Verify directory structure with the tree command
[source, console]
----
sudo dnf -y install tree
tree /opt/opennms -L 1
----

.Directory structure after successful installation
[source, output]
----
/opt/opennms
├── bin
├── contrib
├── data
├── deploy
├── etc
├── jetty-webapps
├── lib
├── logs -> /var/log/opennms
├── share -> /var/opennms
└── system
----
Original file line number Diff line number Diff line change
Expand Up @@ -3,58 +3,14 @@
You can store your PostgreSQL credentials in the secure credentials vault.
To do this, use the `scvcli` command line utility to add the credentials, and reference these credentials in `opennms-datasources.xml`:

. Create encrypted credentials for the PostgreSQL database connections:
+
.Create encrypted credentials for the PostgreSQL database connections
[source, console]
----
sudo -u opennms ${OPENNMS_HOME}/bin/scvcli set postgres opennms password <1>
sudo -u opennms ${OPENNMS_HOME}/bin/scvcli set postgres-admin postgres password
sudo -u opennms /usr/share/opennms/bin/scvcli set postgres opennms password <1>
sudo -u opennms /usr/share/opennms/bin/scvcli set postgres-admin postgres password
----
<1> Replace both `password` instances with the actual passwords for your `opennms` and `postgres` database accounts.

. Edit `opennms-datasources.xml` with `vi`:
+
[source, console]
sudo -u opennms vi /usr/share/opennms/etc/opennms-datasources.xml

. Set encrypted credentials to access the PostgreSQL database:
+
[source, xml]
----
...
<jdbc-data-source name="opennms"
database-name="opennms" <1>
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/opennms" <2>
user-name="${scv:postgres:username}" <3>
password="${scv:postgres:password}" /> <4>

<jdbc-data-source name="opennms-admin"
database-name="template1"
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/template1" <5>
user-name="${scv:postgres-admin:username}" <6>
password="${scv:postgres-admin:password}" /> <7>
...
<jdbc-data-source name="opennms-monitor"
database-name="postgres"
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/postgres" <8>
user-name="${scv:postgres-admin:username}" <9>
password="${scv:postgres-admin:password}" /> <10>
...
----
<1> Set the database name that {page-component-title} should use.
<2> Set the JDBC connection string to your Postregres server for the instance database.
<3> Set the user name to access the opennms database table.
<4> Set the password to access the opennms database table.
<5> Set the JDBC connection string to your Postregres server for the schema database
<6> Set the postgres user for administrative access to PostgreSQL.
<7> Set the password for administrative access to PostgreSQL.
<8> Set the JDBC connection string to your Postregres server for the system database.
<9> Set the postgres user for administrative access to PostgreSQL.
<10> Set the password for administrative access to PostgreSQL.

.Detect Java environment and persist in /usr/share/opennms/etc/java.conf
[source, console]
----
Expand All @@ -70,8 +26,8 @@ sudo /usr/share/opennms/bin/install -dis
.Define any necessary xref:operation:deep-dive/admin/configuration/startup.adoc[startup configuration], such as open file descriptors or maximum Java heap
[source, console]
----
echo "JAVA_HEAP_SIZE=16384" | sudo tee ${OPENNMS_HOME}/etc/opennms.conf
echo "MAXIMUM_FILE_DESCRIPTORS=512000" | sudo tee ${OPENNMS_HOME}/etc/opennms.conf
echo "JAVA_HEAP_SIZE=16384" | sudo tee /usr/share/opennms/etc/opennms.conf
echo "MAXIMUM_FILE_DESCRIPTORS=512000" | sudo tee /usr/share/opennms/etc/opennms.conf
----
NOTE: These values are provided as examples; ideal values will vary based on your environment and workload

Expand Down
22 changes: 0 additions & 22 deletions docs/modules/deployment/pages/core/debian/install-core.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -31,25 +31,3 @@ sudo apt-mark hold libopennms-java \
opennms-common \
opennms-db
----

.Verify directory structure with the tree command
[source, console]
----
sudo apt -y install tree
tree /usr/share/opennms -L 1
----

.Directory structure after successful installation
[source, output]
----
/usr/share/opennms
├── bin
├── data
├── deploy
├── etc -> /etc/opennms
├── jetty-webapps
├── lib -> ../java/opennms
├── logs -> /var/log/opennms
├── share -> /var/lib/opennms
└── system
----
15 changes: 14 additions & 1 deletion docs/modules/deployment/pages/core/install.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,12 @@ CentOS/RHEL 9::
--
include::centos-rhel9/postgresql.adoc[]
--

CentOS/RHEL 10::
+
--
include::centos-rhel10/postgresql.adoc[]
--
ifeval::["{page-component-title}" == "Horizon"]

Debian/Ubuntu::
Expand Down Expand Up @@ -122,6 +128,13 @@ CentOS/RHEL 9::
--
include::centos-rhel9/install-core.adoc[]
--

CentOS/RHEL 10::
+
--
include::centos-rhel10/install-core.adoc[]
--

ifeval::["{page-component-title}" == "Horizon"]

Ubuntu::
Expand Down Expand Up @@ -149,7 +162,7 @@ endif::[]

[{tabs}]
====
CentOS/RHEL 9::
CentOS/RHEL::
+
--
include::centos-rhel/initialize-core.adoc[]
Expand Down
9 changes: 3 additions & 6 deletions docs/modules/deployment/pages/core/system-requirements.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ OpenNMS {page-component-title} requires one of the following operating systems:
| Operating System | Compatible Versions (64-bit)

| RHEL
| {compatible-rhel9}
| {compatible-rhel}

| CentOS
| {compatible-centos-stream}
| {compatible-centos}

ifeval::["{page-component-title}" == "Horizon"]
| Debian
Expand All @@ -47,9 +47,6 @@ ifeval::["{page-component-title}" == "Horizon"]
| Ubuntu
| {compatible-ubuntu}
endif::[]

| Rocky Linux
| {compatible-rocky-linux}
|===

See the xref:releasenotes:whatsnew.adoc[release notes] for information about platform support changes, including deprecated platforms.
Expand Down Expand Up @@ -92,4 +89,4 @@ Components marked with an asterisk are required:
|===

== Containerized environments
See xref:deployment:core/containers.adoc[containerized deployment] for information on deploying {page-component-title} via Kubernetes or OpenShift.
See xref:deployment:core/containers.adoc[containerized deployment] for information on deploying {page-component-title} via Kubernetes or OpenShift.
Loading