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.
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:
Bạn sẽ nhận được kết quả đầu ra sau:
Bạn có thể thêm kho lưu trữ OpenNMS và khóa GPG bằng cách chạy lệnh sau:
Tiếp theo, cài đặt OpenNMS bằng cách chạy lệnh sau:
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:
Cuối cùng, hãy khởi động và kích hoạt dịch vụ PostgreSQL bằng lệnh sau:
Bây giờ, bạn có thể kiểm tra trạng thái của PostgreSQL bằng lệnh sau lệnh:
Bạn sẽ nhận được kết quả sau:
Đầu tiên, hãy đăng nhập vào PostgreSQL bằng lệnh sau:
Tiếp theo, thay đổi mật khẩu Postgres bằng lệnh sau:
Tiếp theo, tạo cơ sở dữ liệu và người dùng cho OpenNMS bằng lệnh sau lệnh:
Tiếp theo, thoát khỏi shell PostgreSQL bằng lệnh sau:
Tiếp theo, chỉnh sửa tệp cấu hình PostgreSQL bằng lệnh sau lệnh:
Tìm các dòng sau:
Và thay thế chúng bằng dòng sau dòng:
Cuối cùng, tải lại dịch vụ PostgreSQL để áp dụng các thay đổi cấu hình:
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:
Lưu và đóng tệp, sau đó chạy lệnh sau để phát hiện Java đường dẫn:
Bạn sẽ nhận được kết quả sau:
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:
Bạn sẽ nhận được kết quả sau:
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:
Bạn có thể kiểm tra trạng thái của OpenNMS bằng lệnh sau:
Bạn sẽ nhận được thông tin sau đầu ra:
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:
Bạn sẽ nhận được thông tin sau đầu ra:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Sau khi Nginxx được cài đặt, hãy tạo tệp cấu hình máy chủ ảo Nginx:
Thêm nội dung sau dòng:
Lưu và đóng tệp sau đó xác minh cấu hình Nginx bằng lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
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:
Bây giờ bạn có thể kiểm tra trạng thái của Nginx bằng lệnh sau lệnh:
Bạn sẽ nhận được kết quả đầu ra sau:
Tiếp theo, tải lại tường lửa để áp dụng các thay đổi:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
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
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
Mã:
java --version
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
Mã:
dnf install opennms -y
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
Mã:
systemctl start postgresql
systemctl enable postgresql
Mã:
systemctl status postgresql
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"
Mã:
alter user postgres with password 'mypassword';
Mã:
createuser -P opennms
createdb -O opennms opennms
Mã:
\q
Mã:
nano /var/lib/pgsql/data/pg_hba.conf
Mã:
host all all 127.0.0.1/32 ident
host all all ::1/128 ident
Mã:
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
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
Mã:
Mã:
/opt/opennms/bin/runjava -s
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.
Mã:
/opt/opennms/bin/install -dis
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!
Mã:
systemctl start opennms
systemctl enable opennms
Mã:
systemctl status opennms
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.
Mã:
ss -antpl | grep 8980
Mã:
LISTEN 0 50 *:8980 *:* users:(("java",pid=9722,fd=1031))
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
Mã:
nano /etc/nginx/conf.d/opennms.conf
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; }
}
Mã:
nginx -t
Mã:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Mã:
systemctl start nginx
systemctl enable nginx
Mã:
systemctl status nginx
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
Mã:
firewall-cmd --reload
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