Cài đặt và cấu hình OpenNMS trên Alma Linux 8

theanh

Administrator
Nhân viên
OpenNMS là một nền tảng quản lý và giám sát mạng miễn phí và mã nguồn mở được viết bằng Java. Nền tảng này được tự lưu trữ và phát triển bởi cộng đồng người dùng, nhà phát triển và Nhóm OpenNMS. OpenNMS cho phép bạn giám sát mọi thứ trên mạng cục bộ và từ xa của mình bao gồm hiệu suất, giám sát lưu lượng, cung cấp, giám sát dịch vụ, quản lý sự kiện, hỗ trợ biểu đồ, v.v. OpenNMS sử dụng SNPM và JMX để thu thập thông tin của các máy chủ từ xa.

Bài đăng này sẽ chỉ cho bạn cách cài đặt OpenNMS với Nginx trên Alma Linux 8.

Điều kiện tiên quyết​

  • Một máy chủ đang chạy Alma Linux 8.
  • Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
  • Một mật khẩu gốc được cấu hình trên máy chủ.

Cài đặt Java JDK​

OpenNMS là một ứng dụng dựa trên Java. Vì vậy, Java JDK phải được cài đặt trên máy chủ của bạn. Bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
dnf install java-11-openjdk -y
Sau khi Java được cài đặt, bạn có thể xác minh cài đặt Java bằng lệnh được cung cấp bên dưới:
Mã:
java --version
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
openjdk 11.0.13 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)

Cài đặt OpenNMS trên Alma Linux 8​

Theo mặc định, OpenNMS không được bao gồm trong kho lưu trữ mặc định của Alma Linux. Vì vậy, bạn sẽ cần thêm kho lưu trữ chính thức OpenNMS vào hệ thống của mình.

Bạn có thể thêm kho lưu trữ OpenNMS và khóa GPG bằng cách chạy lệnh sau:
Mã:
dnf install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel8.noarch.rpm
rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY
Tiếp theo, cài đặt OpenNMS bằng cách chạy lệnh sau:
Mã:
dnf install opennms -y
Lệnh này cũng sẽ cài đặt máy chủ PostgreSQL vào máy chủ.

Tiếp theo, hãy thay đổi thư mục thành OpenNMS và khởi tạo cơ sở dữ liệu PostgreSQL bằng lệnh sau:
Mã:
cd /opt/opennms
postgresql-setup initdb
Cuối cùng, hãy khởi động và kích hoạt dịch vụ PostgreSQL bằng lệnh sau:
Mã:
systemctl start postgresql
systemctl enable postgresql
Bây giờ, bạn có thể kiểm tra trạng thái của PostgreSQL bằng lệnh sau lệnh:
Mã:
systemctl status postgresql
Bạn sẽ nhận được kết quả sau:
Mã:
? postgresql.service - PostgreSQL database server Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2022-01-15 13:34:47 UTC; 5s ago Process: 7305 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql (code=exited, status=0/SUCCESS) Main PID: 7307 (postmaster) Tasks: 8 (limit: 11411) Memory: 15.9M CGroup: /system.slice/postgresql.service ??7307 /usr/bin/postmaster -D /var/lib/pgsql/data ??7309 postgres: logger process ??7311 postgres: checkpointer process ??7312 postgres: writer process ??7313 postgres: wal writer process ??7314 postgres: autovacuum launcher process ??7315 postgres: stats collector process ??7316 postgres: bgworker: logical replication launcher
Jan 15 13:34:47 almalinux8 systemd[1]: Starting PostgreSQL database server...
Jan 15 13:34:47 almalinux8 postmaster[7307]: 2022-01-15 13:34:47.618 UTC [7307] LOG: listening on IPv6 address "::1", port 5432
Jan 15 13:34:47 almalinux8 postmaster[7307]: 2022-01-15 13:34:47.618 UTC [7307] LOG: listening on IPv4 address "127.0.0.1", port 5432

Cấu hình PostgreSQL cho OpenNMS​

Tiếp theo, bạn sẽ cần tạo cơ sở dữ liệu và người dùng cho OpenNMS.

Đầu tiên, hãy đăng nhập vào PostgreSQL bằng lệnh sau:
Mã:
su - postgres -c "psql -U postgres"
Tiếp theo, thay đổi mật khẩu Postgres bằng lệnh sau:
Mã:
alter user postgres with password 'mypassword';
Tiếp theo, tạo cơ sở dữ liệu và người dùng cho OpenNMS bằng lệnh sau lệnh:
Mã:
createuser -P opennms
createdb -O opennms opennms
Tiếp theo, thoát khỏi shell PostgreSQL bằng lệnh sau:
Mã:
\q
Tiếp theo, chỉnh sửa tệp cấu hình PostgreSQL bằng lệnh sau lệnh:
Mã:
nano /var/lib/pgsql/data/pg_hba.conf
Tìm các dòng sau:
Mã:
host all all 127.0.0.1/32 ident
host all all ::1/128 ident
Và thay thế chúng bằng dòng sau dòng:
Mã:
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
Cuối cùng, tải lại dịch vụ PostgreSQL để áp dụng các thay đổi cấu hình:
Mã:
systemctl reload postgresql

Cấu hình OpenNMS​

Tiếp theo, bạn sẽ cần chỉnh sửa tệp cấu hình nguồn dữ liệu OpenNMS và xác định cơ sở dữ liệu của mình:
Mã:
nano /opt/opennms/etc/opennms-datasources.xml
Thay đổi các dòng sau cho khớp với thông tin xác thực cơ sở dữ liệu của bạn:
Mã:
Lưu và đóng tệp, sau đó chạy lệnh sau để phát hiện Java đường dẫn:
Mã:
/opt/opennms/bin/runjava -s
Bạn sẽ nhận được kết quả sau:
Mã:
runjava: Looking for an appropriate JVM...
runjava: Checking for an appropriate JVM in JAVA_HOME...
runjava: Skipping... JAVA_HOME not set.
runjava: Checking JVM in the PATH: "/etc/alternatives/java"...
runjava: Did not find an appropriate JVM in the PATH: "/etc/alternatives/java"
runjava: Searching for a good JVM...
runjava: Found a good JVM in "/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-4.el8_5.x86_64/bin/java".
runjava: Value of "/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-4.el8_5.x86_64/bin/java" stored in configuration file.
Tiếp theo, chạy lệnh sau để khởi tạo cơ sở dữ liệu và phát hiện hệ thống thư viện:
Mã:
/opt/opennms/bin/install -dis
Bạn sẽ nhận được kết quả sau:
Mã:
- Running pre-execution phase Creating backup of /opt/opennms/etc/service-configuration.xml Zipping /opt/opennms/etc/service-configuration.xml
- Running execution phase Current configuration: 32 services. A service entry named 'OpenNMS:Name=PerspectivePoller' already exists. Final configuration: 32 services.
- Saving the execution state
- Running post-execution phase Removing backup /opt/opennms/etc/service-configuration.xml.zip
Finished in 0 seconds
Upgrade completed successfully!
Cuối cùng, hãy khởi động và kích hoạt dịch vụ OpenNMS bằng lệnh sau lệnh:
Mã:
systemctl start opennms
systemctl enable opennms
Bạn có thể kiểm tra trạng thái của OpenNMS bằng lệnh sau:
Mã:
systemctl status opennms
Bạn sẽ nhận được thông tin sau đầu ra:
Mã:
? opennms.service - OpenNMS server Loaded: loaded (/usr/lib/systemd/system/opennms.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2022-01-15 13:39:33 UTC; 6s ago Process: 8638 ExecStart=/etc/init.d/opennms -s start (code=exited, status=0/SUCCESS) Main PID: 9722 (java) Tasks: 36 (limit: 11411) Memory: 181.2M CGroup: /system.slice/opennms.service ??9721 bash /etc/init.d/opennms -s start ??9722 /usr/lib/jvm/java-11-openjdk-11.0.13.0.8-4.el8_5.x86_64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,ja>
Jan 15 13:39:22 almalinux8 systemd[1]: Starting OpenNMS server...
Jan 15 13:39:32 almalinux8 systemd[1]: opennms.service: Can't open PID file /opt/opennms/logs/opennms.pid (yet?) after start: No such file or>
Jan 15 13:39:33 almalinux8 systemd[1]: opennms.service: Supervising process 9722 which is not our child. We'll most likely not notice when it>
Jan 15 13:39:33 almalinux8 systemd[1]: Started OpenNMS server.
Tại thời điểm này, OpenNMS được khởi động và lắng nghe trên cổng 8980. Bạn có thể kiểm tra bằng lệnh sau:
Mã:
ss -antpl | grep 8980
Bạn sẽ nhận được thông tin sau đầu ra:
Mã:
LISTEN 0 50 *:8980 *:* users:(("java",pid=9722,fd=1031))
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cấu hình Nginx làm Proxy ngược cho OpenNMS​

Tiếp theo, bạn sẽ cần cài đặt Nginx và cấu hình nó làm proxy ngược cho OpenNMS. Để thực hiện, hãy cài đặt máy chủ Nginx bằng lệnh sau:
Mã:
dnf install nginx -y
Sau khi Nginxx được cài đặt, hãy tạo tệp cấu hình máy chủ ảo Nginx:
Mã:
nano /etc/nginx/conf.d/opennms.conf
Thêm nội dung sau dòng:
Mã:
upstream opennms { server 127.0.0.1:8980;
}
server { listen 80; server_name opennms.example.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { proxy_pass http://opennms/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto http; proxy_set_header X-Nginx-Proxy true; proxy_redirect off; }
}
Lưu và đóng tệp sau đó xác minh cấu hình Nginx bằng lệnh sau:
Mã:
nginx -t
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Tiếp theo, khởi động và kích hoạt dịch vụ Nginx để bắt đầu khi khởi động lại hệ thống:
Mã:
systemctl start nginx
systemctl enable nginx
Bây giờ bạn có thể kiểm tra trạng thái của Nginx bằng lệnh sau lệnh:
Mã:
systemctl status nginx
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
? nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2022-01-15 13:44:05 UTC; 6s ago Process: 13489 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 13488 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 13486 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 13491 (nginx) Tasks: 2 (limit: 11411) Memory: 3.7M CGroup: /system.slice/nginx.service ??13491 nginx: master process /usr/sbin/nginx ??13492 nginx: worker process
Jan 15 13:44:05 almalinux8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jan 15 13:44:05 almalinux8 nginx[13488]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jan 15 13:44:05 almalinux8 nginx[13488]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jan 15 13:44:05 almalinux8 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Jan 15 13:44:05 almalinux8 systemd[1]: Started The nginx HTTP and reverse proxy server.

Cấu hình Tường lửa​

Tiếp theo, bạn sẽ cần cho phép cổng 80 đi qua tường lửa. Bạn có thể cho phép bằng cách chạy lệnh sau:
Mã:
firewall-cmd --add-service=http --permanent
Tiếp theo, tải lại tường lửa để áp dụng các thay đổi:
Mã:
firewall-cmd --reload
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Truy cập Giao diện Web OpenNMS​

Bây giờ, hãy mở trình duyệt web và truy cập giao diện web OpenNMS bằng URL http://opennms.example.com. Bạn sẽ nhận được màn hình đăng nhập OpenNMS:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22388%22%3E%3C/svg%3E


Cung cấp tên người dùng và mật khẩu quản trị viên mặc định là admin/admin và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển OpenNMS trên màn hình sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22390%22%3E%3C/svg%3E


Bây giờ, hãy nhấp vào admin => Nút Đổi mật khẩu để thay đổi mật khẩu mặc định như hiển thị bên dưới:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22353%22%3E%3C/svg%3E


Thay đổi mật khẩu mặc định của bạn và nhấp vào nút Gửi. Bạn sẽ nhận được màn hình sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22336%22%3E%3C/svg%3E

Kết luận​

Xin chúc mừng! Bạn đã cài đặt thành công OpenNMS với Nginx trên Alma Linux 8. Bây giờ bạn có thể thêm các máy chủ từ xa từ bảng điều khiển OpenNMS và bắt đầu giám sát chúng từ vị trí trung tâm. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên