OpenNMS là một nền tảng giám sát mạng và quản lý mạng miễn phí và mã nguồn mở được sử dụng để quản lý mạng doanh nghiệp trên toàn thế giới. Nền tảng này dựa trên Java và được thiết kế để quản lý hàng nghìn thiết bị từ một vị trí trung tâm. Nó có khả năng tự động khám phá và giám sát các dịch vụ hoặc nút trong mạng của bạn.
Tính năng
Sau khi cài đặt Java, bạn có thể xác minh phiên bản java bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Đầu tiên, thêm khóa GPG bằng lệnh sau:
Sau khi thêm khóa GPG, hãy chạy lệnh sau để thêm kho lưu trữ OpenNMS.
Tiếp theo, bạn có thể cài đặt OpenNMS bằng cách chạy lệnh sau:
Lệnh này sẽ cài đặt OpenNMS, PostgreSQL và các gói khác trên máy chủ của bạn.
Bạn sẽ nhận được kết quả sau:
Tiếp theo, khởi động dịch vụ PostgreSQL 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:
Tiếp theo, bạn sẽ cần tạo cơ sở dữ liệu và người dùng cho PostgreSQL.
Đầu tiên, hãy đăng nhập vào PostgreSQL bằng lệnh sau:
Sau khi đăng nhập, hãy tạo người dùng bằng lệnh sau:
Bạn sẽ được yêu cầu đặt mật khẩu như hiển thị bên dưới:
Tiếp theo, tạo cơ sở dữ liệu bằng lệnh sau:
Tiếp theo, đặt mật khẩu cho người dùng PostgreSQL bằng lệnh sau;
Tiếp theo, thoát khỏi shell PostgreSQL bằng lệnh sau:
Tiếp theo, bạn sẽ cần sửa đổi chính sách truy cập cho PostgreSQL. Bạn có thể thực hiện bằng cách chỉnh sửa tệp /var/lib/pgsql/data/pg_hba.conf:
Tìm các dòng sau:
Và thay thế chúng bằng các dòng sau:
Lưu và đóng tệp, sau đó khởi động lại dịch vụ PostgreSQL để áp dụng các thay đổi:
Tiếp theo, bạn sẽ cần định nghĩa cơ sở dữ liệu của mình trong /opt/opennms/etc/opennms-datasources.xml file.
Thay đổi các dòng sau cho phù hợp với cơ sở dữ liệu của bạn:
Lưu và đóng tệp khi bạn hoàn tất.
Bạn sẽ nhận được kết quả sau:
Tiếp theo, khởi tạo cơ sở dữ liệu bằng cách chạy lệnh sau:
Tiếp theo, bật OpenNMS để khởi động khi khởi động lại hệ thống bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Bây giờ, bạn có thể kiểm tra trạng thái của dịch vụ OpenNMS bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Tại thời điểm này, OpenNMS đã được khởi động và đang 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 kết quả sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Tìm dòng sau:
Và thay thế bằng dòng sau:
Lưu và đóng tệp rồi khởi động lại hệ thống để áp dụng các thay đổi.
Tiếp theo, cho phép cổng 8980 thông qua firewalld bằng lệnh sau:
Tiếp theo, tải lại firewalld để á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.
Cung cấp tên người dùng quản trị mặc định là admin và mật khẩu là admin, sau đó nhấp vào nút Đăng nhập. Bạn sẽ thấy trang sau:
Nhấp vào Chọn tham gia để gửi số liệu thống kê sử dụng ẩn danh đến OpenNMS. Bạn sẽ thấy bảng điều khiển OpenNMS trong trang sau:
Nhấp vào Quản trị => Đổi mật khẩu để thay đổi mật khẩu mặc định. Bạn sẽ thấy trang sau:
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 trang sau:
Nhấp vào biểu tượng + để thêm máy chủ mới. Bạn sẽ thấy trang sau:
Cung cấp tên yêu cầu mới và nhấp vào nút OK. Bạn sẽ thấy trang sau:
Cung cấp thông tin chi tiết về máy chủ từ xa của bạn và nhấp vào nút Cung cấp. Sau khi máy chủ được thêm vào, bạn sẽ thấy trang sau:
Bây giờ, hãy nhấp vào Thông tin => Nút. Bạn sẽ nhận được thông tin chi tiết về máy chủ từ xa trong trang sau:
Tính năng
- Hỗ trợ SNMP, JMX, WMI, NPRE, NSCLient++ và XMP
- Kiến trúc hướng sự kiện
- Hỗ trợ giám sát thiết bị và ứng dụng
- Khám phá kiểu và sự cố đường dẫn
- Cấu hình và thực thi Trình giám sát dịch vụ
- Hỗ trợ các cấu trúc mạng Lớp 2 và Lớp 3
Điều kiện tiên quyết
- Máy chủ chạy CentOS 8.
- Mật khẩu gốc được cấu hình cho máy chủ.
Bắt đầu
OpenNMS là ứng dụng dựa trên Java. Vì vậy, bạn sẽ cần cài đặt Java vào hệ thống của mình. Bạn có thể cài đặt nó với các gói cần thiết khác bằng cách chạy lệnh sau:
Mã:
dnf install java-11-openjdk-devel curl unzip -y
Mã:
java -version
Mã:
openjdk version "11.0.9" 2020-10-20 LTSOpenJDK Runtime Environment 18.9 (bản dựng 11.0.9+11-LTS)OpenJDK 64-Bit Server VM 18.9 (bản dựng 11.0.9+11-LTS, chế độ hỗn hợp, chia sẻ)
Cài đặt OpenNMS
Theo mặc định, OpenNMS không có trong kho lưu trữ mặc định của CentOS 8. Vì vậy, bạn sẽ cần thêm kho lưu trữ OpenNMS vào hệ thống của mình.Đầu tiên, thêm khóa GPG bằng lệnh sau:
Mã:
rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY
Mã:
dnf install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel8.noarch.rpm
Mã:
dnf install opennms -y
Cấu hình PostgreSQL
OpenNMS sử dụng PostgreSQL làm cơ sở dữ liệu phụ trợ. Bạn có thể khởi tạo cơ sở dữ liệu PostgreSQL bằng lệnh sau:
Mã:
postgresql-setup --initdb --unit postgresql
Mã:
* Đang khởi tạo cơ sở dữ liệu trong '/var/lib/pgsql/data' * Đã khởi tạo, nhật ký nằm trong /var/lib/pgsql/initdb_postgresql.log
Mã:
systemctl enable postgresql
systemctl start postgresql
Đầu tiên, hãy đăng nhập vào PostgreSQL bằng lệnh sau:
Mã:
su - postgres
Mã:
[postgres@centos8 ~]$ createuser -P opennms
Mã:
Nhập mật khẩu cho vai trò mới:Nhập lại lần nữa:
Mã:
[postgres@centos8 ~]$ createdb -O opennms opennms
Mã:
[postgres@centos8 ~]$ psql -c "ALTER USER postgres WITH PASSWORD 'password';"
Mã:
[postgres@centos8 ~]$ exit;
Mã:
nano /var/lib/pgsql/data/pg_hba.conf
Mã:
# IPv4 local connections:host all all 127.0.0.1/32 ident# IPv6 local connections:host all all ::1/128 ident
Mã:
host all all 127.0.0.1/32 md5host all all ::1/128 md5
Mã:
systemctl restart postgresql
Mã:
nano /opt/opennms/etc/opennms-datasources.xml
Mã:
Khởi tạo và khởi động OpenNMS
Tiếp theo, bạn sẽ cần khởi tạo OpenNMS. Trước tiên, thêm các thiết lập Java bằng lệnh sau:
Mã:
/opt/opennms/bin/runjava -s
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 thiết lập.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-11.0.9.11-0.el8_2.x86_64/bin/java".runjava: Giá trị của "/usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java" được lưu trữ trong tệp cấu hình.
Mã:
/opt/opennms/bin/install -dis
Mã:
systemctl enable --now opennms
Mã:
Đồng bộ hóa trạng thái của opennms.service với tập lệnh dịch vụ SysV với /usr/lib/systemd/systemd-sysv-install.Đang thực thi: /usr/lib/systemd/systemd-sysv-install enable opennmsĐã tạo liên kết tượng trưng /etc/systemd/system/multi-user.target.wants/opennms.service → /usr/lib/systemd/system/opennms.service.
Mã:
systemctl status opennms
Mã:
? opennms.service - Máy chủ OpenNMS Đã tải: đã tải (/usr/lib/systemd/system/opennms.service; đã bật; cài đặt trước của nhà cung cấp: đã tắt) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ 4, ngày 25 tháng 11 năm 2020 lúc 09:21:32 EST; 13 giây trước Tiến trình: 26880 ExecStart=/etc/init.d/opennms -s start (code=exited, status=0/SUCCESS) PID chính: 27928 (java) Nhiệm vụ: 67 (giới hạn: 12523) Bộ nhớ: 555,6M CGroup: /system.slice/opennms.service ??27927 bash /etc/init.d/opennms -s start ??27928 /usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java>25/11 09:21:42 centos8 opennms[26880]: [DEBUG] Thuộc tính hệ thống 'opennms.library.jicmp' được đặt thành '/usr/lib64/libjicmp.so. Đang cố gắng tải ji>25/11 09:21:42 centos8 opennms[26880]: [INFO] Đã tải thành công thư viện jicmp.25/11 09:21:42 centos8 opennms[26880]: [DEBUG] Thuộc tính hệ thống 'opennms.library.jicmp' được đặt thành '/usr/lib64/libjicmp.so. Đang cố gắng tải ji>25/11 09:21:42 centos8 opennms[26880]: [INFO] Đã tải thành công thư viện jicmp.25/11 09:21:42 centos8 opennms[26880]: [DEBUG] Thuộc tính hệ thống 'opennms.library.jicmp6' được đặt thành '/usr/lib64/libjicmp6.so. Đang cố gắng tải >25/11 09:21:42 centos8 opennms[26880]: [INFO] Đã tải thành công thư viện jicmp6.25/11 09:21:42 centos8 opennms[26880]: [DEBUG] Thuộc tính hệ thống 'opennms.library.jicmp' được đặt thành '/usr/lib64/libjicmp.so. Đang cố gắng tải ji>25/11 09:21:42 centos8 opennms[26880]: [INFO] Đã tải thành công thư viện jicmp.25/11 09:21:42 centos8 opennms[26880]: [DEBUG] Thuộc tính hệ thống 'opennms.library.jicmp6' được đặt thành '/usr/lib64/libjicmp6.so. Đang cố gắng tải >25/11 09:21:42 centos8 opennms[26880]: [INFO] Đã tải thành công thư viện jicmp6.
Mã:
ss -antpl | grep :8980
Mã:
LISTEN 0 50 *:8980 *:* users:(("java",pid=27928,fd=988))
Cấu hình SELinux và Tường lửa
Theo mặc định, SELinux được bật trong máy chủ CentOS 8. Vì vậy, trước tiên bạn sẽ cần phải tắt nó. Bạn có thể vô hiệu hóa nó bằng cách chỉnh sửa tệp /etc/selinux/config:
Mã:
nano /etc/selinux/config
Mã:
SELINUX=enforcing
Mã:
SELINUX=permissive
Tiếp theo, cho phép cổng 8980 thông qua firewalld bằng lệnh sau:
Mã:
firewall-cmd --permanent --add-port=8980/tcp
Mã:
firewall-cmd --reload
Truy cập Giao diện Web 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 . Bạn sẽ được chuyển hướng đến trang đăng nhập OpenNMS:Cung cấp tên người dùng quản trị mặc định là admin và mật khẩu là admin, sau đó nhấp vào nút Đăng nhập. Bạn sẽ thấy trang sau:
Nhấp vào Chọn tham gia để gửi số liệu thống kê sử dụng ẩn danh đến OpenNMS. Bạn sẽ thấy bảng điều khiển OpenNMS trong trang sau:
Nhấp vào Quản trị => Đổi mật khẩu để thay đổi mật khẩu mặc định. Bạn sẽ thấy trang sau:
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 trang sau:
Nhấp vào biểu tượng + để thêm máy chủ mới. Bạn sẽ thấy trang sau:
Cung cấp tên yêu cầu mới và nhấp vào nút OK. Bạn sẽ thấy trang sau:
Cung cấp thông tin chi tiết về máy chủ từ xa của bạn và nhấp vào nút Cung cấp. Sau khi máy chủ được thêm vào, bạn sẽ thấy trang sau:
Bây giờ, hãy nhấp vào Thông tin => Nút. Bạn sẽ nhận được thông tin chi tiết về máy chủ từ xa trong trang sau: