Cách cài đặt hệ thống giám sát mạng OpenNMS Horizon trên Debian 11

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í, mã nguồn mở và mạnh mẽ nhất được sử dụng để giám sát các thiết bị từ xa từ một vị trí trung tâm. Nó hỗ trợ nhiều chức năng bao gồm 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 SNMP và JMX và thu thập thông tin từ các hệ thống từ xa. Nó chạy trên hệ điều hành Linux và Windows và cung cấp giao diện dựa trên web để giám sát dễ dàng.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt OpenNMS trên Debian 11.

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

  • Một máy chủ chạy Debian 11.
  • 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 trên Debian 11​

OpenNMS là một ứng dụng dựa trên Java. Vì vậy, Java phải được cài đặt trên máy chủ của bạn. Nếu chưa cài đặt, bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
apt-get install default-jdk -y
Sau khi Java được cài đặt, hãy xác minh phiên bản Java bằng lệnh bên dưới:
Mã:
java --version
Bạn sẽ nhận được phiên bản Java trong đầu ra sau:
Mã:
openjdk 11.0.13 2021-10-19Môi trường thời gian chạy OpenJDK (bản dựng 11.0.13+8-post-Debian-1deb11u1)OpenJDK Máy ảo máy chủ 64-Bit (bản dựng 11.0.13+8-post-Debian-1deb11u1, chế độ hỗn hợp, chia sẻ)

Cài đặt OpenNMS trên Debian 11​

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

Trước tiên, hãy cài đặt tất cả các phần phụ thuộc cần thiết bằng lệnh sau:
Mã:
apt-get install curl gnupg2 wget -y
Sau khi tất cả các gói được cài đặt, hãy tạo tệp kho lưu trữ OpenNMS bằng lệnh bên dưới:
Mã:
nano /etc/apt/sources.list.d/opennms.list
Thêm các dòng sau:
Mã:
deb https://debian.opennms.org stable maindeb-src https://debian.opennms.org stable main
Lưu và đóng tệp, sau đó nhập khóa GPG bằng lệnh sau:
Mã:
wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -
Bạn sẽ nhận được kết quả sau:
Mã:
Đang kết nối tới debian.opennms.org (debian.opennms.org)|3.214.84.83|:443... đã kết nối.Yêu cầu HTTP đã gửi, đang chờ phản hồi... 200 OKĐộ dài: 1335 (1,3K)Đang lưu vào: ‘STDOUT’- 100%[=======================================================================>] 1,30K --.-KB/giây trong 0 giây2021-11-28 07:58:07 (16,0 MB/giây) - được ghi vào stdout [1335/1335]OK
Tiếp theo, hãy cập nhật bộ đệm kho lưu trữ và cài đặt OpenNMS bằng lệnh sau:
Mã:
apt-get update -y
apt-get install opennms -y
Bạn sẽ nhận được lỗi sau trong quá trình cài đặt:
Mã:
Không cài đặt được iplike vào cơ sở dữ liệu template1 hoặc opennms. Xem /tmp/install_iplike.log để biết chi tiết. Để bỏ qua bước này và cài đặt thủ công, hãy đặtbiến môi trường SKIP_IPLIKE_INSTALL trước khi cài đặt gói này. Để cài đặt iplike vào cơ sở dữ liệu của bạn, hãy sử dụng tập lệnh /usr/sbin/install_iplike.sh. Xem`install_iplike.sh -h` để biết thêm chi tiết.
Để giải quyết lỗi này, bạn sẽ cần tạo cơ sở dữ liệu và người dùng cho OpenNMS trong PostgreSQL.

Tạo cơ sở dữ liệu trong PostgreSQL​

Máy chủ PostgreSQL được cài đặt tự động trong quá trình cài đặt OpenNMS.

Trước tiên, hãy khởi động dịch vụ PostgreSQL bằng lệnh sau:
Mã:
systemctl start postgresql
Tiếp theo, kết nối với phiên bản PostgreSQL bằng lệnh sau:
Mã:
su - postgres
Sau khi kết nối, hãy tạo người dùng cho OpenNMS và đặt mật khẩu bằng lệnh sau:
Mã:
createuser opennms
psql -c "ALTER USER opennms WITH PASSWORD 'opennms';"
Tiếp theo, hãy tạo cơ sở dữ liệu cho OpenNMS và đặt mật khẩu cho người dùng postgres:
Mã:
createdb -O opennms opennms
psql -c "ALTER USER postgres WITH PASSWORD 'securepassword';"
Tiếp theo, thoát khỏi shell PostgreSQL bằng lệnh sau:
Mã:
exit
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cấu hình OpenNMS​

Tiếp theo, bạn sẽ cần chỉnh sửa tệp nguồn dữ liệu OpenNMS và xác định thông tin xác thực cơ sở dữ liệu của mình:
Mã:
nano /usr/share/opennms/etc/opennms-datasources.xml
Xác định thông tin xác thực cơ sở dữ liệu của bạn như hiển thị bên dưới:
Mã:
Lưu và đóng tệp khi bạn hoàn tất, sau đó chạy lệnh sau để phát hiện môi trường Java:
Mã:
sudo -u opennms /usr/share/opennms/bin/runjava -s
Bạn sẽ nhận được kết quả sau:
Mã:
runjava: Đang tìm kiếm một JVM phù hợp...runjava: Đang kiểm tra một JVM phù hợp trong JAVA_HOME...runjava: Đang bỏ qua... JAVA_HOME chưa được đặt.runjava: Đang kiểm tra JVM trong PATH: "/etc/alternatives/java"...runjava: Không tìm thấy một JVM phù hợp trong PATH: "/etc/alternatives/java"runjava: Đang tìm kiếm một JVM tốt...runjava: Đã tìm thấy một JVM tốt trong "/usr/lib/jvm/java-11-openjdk-amd64/bin/java".runjava: Giá trị của "/usr/lib/jvm/java-11-openjdk-amd64/bin/java" được lưu trữ trong tệp cấu hình.
Tiếp theo, chạy lệnh sau để hoàn tất thiết lập OpenNMS:
Mã:
sudo -u opennms /usr/share/opennms/bin/install -dis
Bạn sẽ nhận được kết quả sau:
Mã:
Hoàn tất trong 0 giâyĐang xử lý RemotePollerServiceConfigMigratorOffline: Xóa mục dịch vụ RemotePoller đã lỗi thời khỏi service-configuration.xml, xem NMS-12684- Đang chạy giai đoạn tiền thực thi Tạo bản sao lưu của /usr/share/opennms/etc/service-configuration.xml Nén /usr/share/opennms/etc/service-configuration.xml- Đang chạy giai đoạn thực thi Cấu hình hiện tại: 32 dịch vụ. Một mục dịch vụ có tên 'OpenNMS:Name=PerspectivePoller' đã tồn tại. Cấu hình cuối cùng: 32 dịch vụ.- Lưu trạng thái thực thi- Chạy giai đoạn sau khi thực thi Xóa bản sao lưu /usr/share/opennms/etc/service-configuration.xml.zipHoàn tất trong 0 giâyNâng cấp thành công!

Khởi động Dịch vụ OpenNMS​

Sau khi thiết lập OpenNMS, hãy khởi động dịch vụ OpenNMS và cho phép dịch vụ này khởi động khi khởi động lại hệ thống bằng lệnh sau:
Mã:
systemctl start opennms
systemctl enable opennms
Bạn có thể xác minh trạng thái OpenNMS bằng lệnh sau:
Mã:
systemctl status opennms
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
? opennms.service - Máy chủ OpenNMS Đã tải: đã tải (/lib/systemd/system/opennms.service; đã tắt; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2021-11-28 08:10:51 UTC; 16 giây trước Tiến trình: 22990 ExecStart=/usr/share/opennms/bin/opennms -s start (code=exited, status=0/SUCCESS) PID chính: 24106 (java) Nhiệm vụ: 68 (giới hạn: 4679) Bộ nhớ: 559,2M CPU: 48,083 giây CGroup: /system.slice/opennms.service ??24105 bash /usr/share/opennms/bin/opennms -s start ??24106 /usr/lib/jvm/java-11-openjdk-amd64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java.desktop,java.in>28/11 08:11:02 debian11 opennms[24106]: [DEBUG] Thuộc tính hệ thống 'opennms.library.jicmp' được đặt thành '/usr/lib/jni/libjicmp.so. Đang cố gắng tải>28/11 08:11:02 debian11 opennms[24106]: [INFO] Đã tải thành công thư viện jicmp.28/11 08:11:02 debian11 opennms[24106]: [DEBUG] Thuộc tính hệ thống 'opennms.library.jicmp6' được đặt thành '/usr/lib/jni/libjicmp6.so. Đang cố gắng tải>28/11 08:11:02 debian11 opennms[24106]: [INFO] Đã tải thành công thư viện jicmp6.28/11 08:11:02 debian11 opennms[24106]: [DEBUG] Thuộc tính hệ thống 'opennms.library.jicmp' được đặt thành '/usr/lib/jni/libjicmp.so. Đang cố gắng tải>28/11 08:11:02 debian11 opennms[24106]: [INFO] Đã tải thành công thư viện jicmp.28/11 08:11:02 debian11 opennms[24106]: [DEBUG] Thuộc tính hệ thống 'opennms.library.jicmp6' được đặt thành '/usr/lib/jni/libjicmp6.so. Đang cố gắng tải>28/11 08:11:02 debian11 opennms[24106]: [INFO] Đã tải thành công thư viện jicmp6.28/11 08:11:07 debian11 opennms[24106]: 28/11/2021 8:11:07 AM org.hibernate.validator.internal.util.Version 28/11 08:11:07 debian11 opennms[24106]: THÔNG TIN: HV000001: Hibernate Validator 4.3.2.Final
Lúc 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 kết quả sau:
Mã:
LISTEN 0 50 *:8980 *:* users:(("java",pid=24106,fd=1046))

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

Tiếp theo, bạn nên cài đặt và cấu hình Nginx làm proxy ngược cho OpenNMS. Trước tiên, hãy cài đặt máy chủ Nginx bằng lệnh sau:
Mã:
apt-get install nginx -y
Sau khi Nginx đượ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 cấu hình sau:
Mã:
máy chủ { lắng nghe 80; tên máy chủ opennms.example.com; nhật ký truy cập /var/log/nginx/opennms.access.log; nhật ký lỗi /var/log/nginx/opennms.error.log; vị trí / { proxy_set_header Máy chủ $http_host; proxy_set_header Máy chủ chuyển tiếp X $host; proxy_set_header Máy chủ chuyển tiếp X $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header URL máy chủ X-OpenNMS https://nms.hacc.edu/; proxy_pass http://server-ip:8980; }}
Lưu và đóng tệp, sau đó kiểm tra Nginx xem có lỗi cấu hình cú pháp nào không:
Mã:
nginx -t
Bạn sẽ nhận được kết quả sau:
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Mã:
systemctl restart nginx
Để kiểm tra trạng thái chạy của Nginx, hãy chạy lệnh sau:
Mã:
systemctl status nginx
Bạn sẽ thấy kết quả sau:
Mã:
? nginx.service - Máy chủ web hiệu suất cao và máy chủ proxy ngược Đã tải: đã tải (/lib/systemd/system/nginx.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2021-11-28 08:17:14 UTC; 6 giây trước Tài liệu: man:nginx(8) Quy trình: 25964 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Quy trình: 25965 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) PID chính: 25967 (nginx) Nhiệm vụ: 3 (giới hạn: 4679) Bộ nhớ: 3,2M CPU: 53ms CGroup: /system.slice/nginx.service ??25967 nginx: tiến trình chính /usr/sbin/nginx -g daemon on; master_process on; ??25968 nginx: tiến trình công nhân ??25969 nginx: tiến trình công nhân28 tháng 11 08:17:14 debian11 systemd[1]: Đang khởi động Một máy chủ web hiệu suất cao và một máy chủ proxy ngược...28 tháng 11 08:17:14 debian11 systemd[1]: Đã khởi động Một máy chủ web hiệu suất cao và một máy chủ proxy ngược.

Truy cập Bảng điều khiển OpenNMS​

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



Cung cấp tên người dùng và mật khẩu mặc định là quản trị viên 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:



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



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ẽ thấy màn hình sau:


Kết luận​

Xin chúc mừng! bạn đã cài đặt thành công OpenNMS với Nginx làm proxy ngược trên máy chủ Debian 11. Bây giờ bạn có thể thêm các thiết bị từ xa vào OpenNMS và bắt đầu giám sát chúng từ trình duyệt web. 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