1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án môn học tìm hiểu và triển khai opennms trong ứng dụng server monitoring

21 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Để làm được điều đó người quản trị cần phải có công cụ, nền tảng mạnh để hoàn thành công việc trên 1 cách có năng suất.Do đó, trong đồ án này, nhóm sẽ nghiên cứu 1 nền tảng quản lý mạng

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG

ĐỒ ÁN MÔN HỌCĐỒ ÁN CHUYÊN NGÀNH

119522399Đoàn Tất Minh Triệu219521800Thân Trọng Hoàng Long

Trang 2

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG

Trang 3

3.1 Các component của OpenNMS 5

4.1 Ưu điểm của OpenNMS so với các nền tảng khác 8

II Triển khai và mô hình triển khai 9

1 Các thiết bị liên quan 9

2 Mô hình triển khai 10

III Cài đặt và triển khai 10

1 Cài đặt Database và OpenNMS 10

2 Cài đặt và cấu hình OpenNMS 12

3 Cài đặt và cấu hình Minion 13

4 Giao tiếp với OpenNMS thông qua API 15

IV Kết luận và tự đánh giá 17

V Ảnh và chú thích 17

VI Tài liệu tham khảo 20

Trang 4

I.Tổng quan về đề tài nghiên cứu

1.1 Cơ sở lí thuyết

Cùng với sự phát triển của nền công nghiệp 4.0, chuyển đổi số đang là xu hướng của các công ty, công ty công nghệ và cả chính phủ Cùng với sự phát triển là trên là sự gia tăng đầu tư vào hạ tầng mạng kéo theo nhiều vấn đề như lỗi mạng hoặc mạng quá tải khi hạ tầng mạng được nâng cấp và mở rộng, và do đó vai trò giám sát mạng để phòng tránh, khắc phục các lỗi liên quan đến mạng của các quản trị viên càng được cũng cố Không chỉ thế mà họ cũng cần phải giám sát hiệu suất vận hành của mạng để họ có hướng tối ưu hóa nếu mạng hoạt động không như mong muốn Để làm được điều đó người quản trị cần phải có công cụ, nền tảng mạnh để hoàn thành công việc trên 1 cách có năng suất.

Do đó, trong đồ án này, nhóm sẽ nghiên cứu 1 nền tảng quản lý mạng mã nguồn mở tên là OpenNMS, nền tảng này được phát triển bởi cộng đồng người dùng và các nhàphát triển của OpenNMS Group

OpenNMS là một nền tảng quản lý mạng mã nguồn mở được thiết kế để xây dựng các giải pháp giám sát mạng Dự án OpenNMS được bắt đầu vào tháng 7/1999, đây là nền tảng có khả năng mở rộng cho tất các các khía cạnh của mô hình quản lý FCAPS; có thể quản lý trên 10.000 thiết bị và đáp ứng nhu cầu quản lý mạng quy mô lớn với khả năng nâng cấp, mở rộng, tích hợp linh hoạt Việc thu thập các dữ liệu trong hệ thống mạng được sử dụng thông qua nhiều cách thức như JMX, WMI, SNMP, NRPE, XML HTTP, JDBC, XML, JSON…

Một số thuật ngữ sẽ được nhóm sử dụng trong báo cáo sẽ được liệt kê ở sau:+SNMP: viết tắt của Simple Network Management Protocol là 1 giao thức được sử dụng cho monitoring trong OpenNMS.

Trang 5

+CDP: viết tắt của Cisco Discovery Protocol là 1 giao thức liên kết dữ liệu được phát triển bởi Cisco với ứng dụng chia sẽ thông tin về thiết bị Cisco được kết nối.

+LLDP: viết tắt của Link Layer Discovery Protocol là 1 giao thức liên kết dữ liệu sử dụng chuẩn IEEE 802.1ab để thu thập dữ liệu của các máy, thiết bị và chia sẻ thông tin, dữ liệu của nó cho các máy khác trong hệ thống.

+IS-IS: là giao thức định tuyến nội hay còn gọi với tên đầy đủ là Intermediate System to Intermediate System được thiết kế để định tuyến thông tin 1 cách tối ưu trong mạng.

+LDAP: tên gọi đầy đủ là Lightweight Directory Access Protocol / Active Directory là 1 giao thức truy cập cơ sở dữ liệu phân tán chạy theo mô hình Client – Server

2.1 Các ứng dụng của OpenNMS

OpenNMS sở hữu các tính năng hỗ trợ như:

 Hỗ trợ nhiều giao thức như CDP, LLDP, IS-IS, v.v…

 Hỗ trợ thu thập dữ liệu thông qua nhiều giao thức như SNMP, XML, v.v… Có khả năng truyền dữ liệu từ xa.

 Tương thích trên cả IPv4 và IPv6.

 Hoạt động trên cả hai layer 2 và layer 3 của mạng. Có khả năng tích hợp Elasticsearch.

Trang 6

Vì những tính năng trên cho phép OpenNMS được ứng dụng nhiều trong trong giải pháp giám sát mạng.

3.1 Các component của OpenNMS

Các thành phần trong phiên bản OpenNMS Horizon nếu được hiểu đơn giản có thểđược liệt kê như sau:

 Apache Kafka hoặc ActiveMQ (đóng vai trò là message broker). PostgreSQL làm database.

 Elasticsearch là 1 engine tìm kiếm và phân tích được tích hợp trong OpenNMS.

 Apache Cassandra lưu trữ dữ liệu.

 Grafana and Kibana hỗ trợ tạo dashboard.

 Các thiết bị ngoại vi hay còn gọi là minion (kể cả trực tiếp hoặc kết nối remote).

Nếu phân tích sâu hơn, thì OpenNMS được thiết kế theo kiến trúc hướng sự kiện, các thành phần của OpenNMS sẽ như hình sau:

Trang 7

Nhóm sẽ giải thích qua từng module và các thành phần tiêu biểu của từng module trong hình

● Module Monitoring tổng hợp các dịch vụ và daemon để phục vụ thu thập, giám sátcác dữ liệu trong mạng, trong đó 2 dịch vụ lần lượt là Pollerd để kiểm tra sự hiện diện của thiết bị đầu cuối và Collectd để thu thập dữ liệu, hiệu suất của thiết bị 1 dịch vụ còn lại là SnmpPoller để giám sát trạng thái của SNMP interface, và 1 daemon PassiveStatusd có chức năng tạo trạng thái ngừng dịch vụ dựa trên sự kiệngửi về.

 Module Provisioning là tổng hợp các dịch vụ, daemon có chức năng quản lý các node thông qua chính sách mà quản trị viên đặt ra Trong đó daemon Provisiond có nhiệm vụ quét nodes từ event, file đã được import để thêm vào database 2

Trang 8

Daemon còn lại là Discovery và Linkd có nhiệm vụ là quét node mới và giám sát kết nối giữa các node.

● Core tổng hợp các daemon và dịch vụ được sử dụng để lấy dữ liệu từ database và xử lí các sự kiện trong đó tiêu biểu là Eventd - 1 tiến trình ở core có vai trò như subscribe dữ liệu và lấy dữ liệu Queued quản lí các tiến trình thực hiện

 Các dữ liệu, logs, thư viện được lưu trữ ở Database module, các chính sách được quản lí ở Module configuration và kết quả giám sát được hiển thị thông qua User Interface.

OpenNMS giám sát mạng bằng cách thu thập thông tin về thiết bị đang được giám sát thông qua SNMP, phân tích flow để phân tích và cho ra thông tin nhằm giúp người quản trị biết được tình trạng của mạng thông qua hiển thị dashboard.

Module Provisioning sẽ quét các node hiện có và node mới và quản lí các node Thành phần Monitoring sẽ thu thập thông tin đang có của các node thông qua các giao thức LLDP hoặc CDP, bao gồm thông số, hiệu suất của node Các thay đổi, hoặc những gì được thêm mới sẽ được daemon tạo thành event và gửi về module cores thông qua daemon Eventd sử dụng SNMP trap, module Cores sẽ xử lí dữ liệu và gửi luồng dữ liệu đó về Automation đồng thời lưu trữ log vào database, và cuối cùng là hiển thị ra

dashboard nếu cần.

Trang 9

4.1 Ưu điểm của OpenNMS so với các nền tảng khác

OpenNMS có 2 phiên bản, 1 phiên bản trả phí là Meridian và phiên bản mã nguồn mở miễn phí là Horizon Giữa 2 phiên bản có không có sự khác nhau nhiều về mặt kiến trúc và cách vận hành.

Dưới đây là bảng so sánh giữa OpenNMS và 1 ứng dụng monitoring miễn phí khác là Cacti

Trang 10

II.Triển khai và mô hình triển khai

Các thiết bị liên quan được liệt kê sau đây:

 Máy ảo với vai trò monitoring sử dụng hệ điều hành. Các máy ảo khác làm minions.

Trang 11

2 Mô hình triển khai

Đồ án sẽ sử dụng 2 máy ảo, trong đó 1 máy cài OpenNMS và 1 máy còn lạicài agent (hay còn gọi là minion), máy chính sẽ monitor tình trạng máy minion như hình sau

III.Cài đặt và triển khai

Cài đặt Database, trong đồ án này nhóm sẽ sử dụng PosgreSQL làm database Cài đặt bằng câu lệnh sau:

sudo apt -y install postgresql

Nhớ tạo Username và Password cho PosgreSQL bằng lệnh

sudo -u postgres createuser -P opennms

Tạo database trống của username đã tạo và cài đặt mật khẩu username theo ý của bạn

sudo -u postgres createdb -O opennms opennms

sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'YOUR-POSTGRES-PASSWORD';"

Trang 12

với 'YOUR-POSTGRES-PASSWORD' là password cho protgresSQL ứng với cơ sở dữ liệu của opennms

Tiếp theo sẽ là bước cài đặt thành phần core của OpenNMSThêm OpenNMS repository GPG key

sudo dnf -y install stable-rhel9.noarch.rpm

https://yum.opennms.org/repo昀椀les/opennms-repo-sudo rpm import https://yum.opennms.org/OPENNMS-GPG-KEY

Thêm và cập nhật apt repository

echo "deb [signed-by=/usr/share/keyrings/opennms.gpg] https://debian.opennms.org stable main" | sudo tee

/etc/apt/sources.list.d/opennms.listsudo apt update

Cài đặt OpenNMS và dependencies của nó

sudo apt -y install opennms

Hoàn thành cài đặt và kiểm tra lại các file

sudo apt -y install tree

tree /usr/share/opennms -L 1

Nếu như Terminal hiện dòng code sau là đã hoàn thành tải về Core

/usr/share/opennms├── bin

├── data├── deploy

├── etc -> /etc/opennms├── jetty-webapps

├── lib -> /java/opennms├── logs -> /var/log/opennms├── share -> /var/lib/opennms

└── system

Trang 13

sudo -u opennms ${OPENNMS_HOME}/bin/scvcli set postgres opennmspassword

sudo -u opennms ${OPENNMS_HOME}/bin/scvcli set postgres-admin postgres password

Tạo và thêm quyền cho kết nối PostgreSQL

sudo -u opennms vi /usr/share/opennms/etc/opennms-datasources.xml

Tìm và chỉnh sửa file opennms-datasources.xml như sau

<jdbc-data-source name="opennms" database-name="opennms"

class-name="org.postgresql.Driver"

url="jdbc:postgresql://localhost:5432/opennms" user-name="${scv:postgres:username}"

password="${scv:postgres:password}" /> <jdbc-data-source name="opennms-admin"

database-name="template1"

class-name="org.postgresql.Driver"

url="jdbc:postgresql://localhost:5432/template1" user-name="${scv:postgres-admin:username}" password="${scv:postgres-admin:password}" />

Cài đặt môi trường Java sau đó tìm, và chỉnh sửa file java.conf.

sudo /usr/share/opennms/bin/runjava -s

Khởi tạo cơ sở dữ liệu và phát hiện các thư viện hệ thống vẫn tồn tại trong /opt/opennms/etc/libraries.properties

sudo /usr/share/opennms/bin/install -dis

Chạy lệnh systemctl edit opennms.service và thêm dòng code sau.

AmbientCapabilities=CAP_NET_RAW CAP_NET_BIND_SERVICE

Restart dịch vụ opennms bằng 2 câu lệnh

sudo systemctl enable now opennmssudo ufw allow 8980/tcp

Trang 14

Cài đặt message broker, nhóm sử dụng ActiveMQTạo file cài đặt cho ActiveMQ

sudo vi etc/opennms.properties.d/activemq.properties

Tạo quyền truy cập ActiveMQ

Restart OpenNMS

sudo systemctl restart opennms

Sơ qua 1 chút, Minion hoạt động với chức năng giám sát các node Chúng giao tiếp với Cores thông qua ActiveMQ như hình sau trong ngữ cảnh kết nối remote.

Tương tự như cài đặt thành phần core của OpenNMSThêm OpenNMS repository GPG key

curl -fsSL https://debian.opennms.org/OPENNMS-GPG-KEY | sudo gpg

Trang 15

echo "deb [signed-by=/usr/share/keyrings/opennms.gpg] https://debian.opennms.org stable main" | sudo tee

/etc/apt/sources.list.d/opennms.listsudo apt update

Cài minion

sudo apt -y install opennms-minionsudo apt-mark hold opennms-minion

Kiểm tra lại file

sudo apt -y install treetree /usr/share/minion -L 1

Và chạy dịch lệnh dưới để enable minion

sudo systemctl enable now minion

Tiếp theo là các bước config, vì ở trên sử dụng ActiveMQ để kết nối, minion cũng sẽ sử dụng ActiveMQ để kết nối

Đăng nhập vào Karaf shell sử dụng tài khoản admin đã được cài đặt, nếu máy đã có Karaf

ssh -p 8201 admin@localhost

Cấu hình ActiveMQ

ssh -p 8201 admin@localhost

con昀椀g:edit org.opennms.minion.controllercon昀椀g:property-set location my-location

con昀椀g:property-set broker-url failover:tcp://core-instance-ip:61616con昀椀g:update

Restart minion

sudo systemctl restart minion

Và kiểm tra.

opennms:health-check

Trang 16

4 Giao tiếp với OpenNMS thông qua API

Ngoài theo dõi trực quan qua Dashboard mặc định hay của Grafana , OpenNMS còn có bộ REST API với các hướng dẫn nằm ở mục API Documentation trên phần Help.

Dựa theo Header Content-Type mà kết quả có thể trả về dưới dạng JSon hay XML , cũngnhư có thể tự động hoá và giao tiếp giữa máy với máy thông qua RESTAPI Các Request cũng phải cần thông tin user và password được cài đặt trước ở Dashboard để xác thực.

Trang 17

Phản hồi khi GET request đến /test/alarms để có thể nhận thông tin về các thông báo trục trặc của các máy.

IV Kết luận và tự đánh giá.

Như vậy, thông qua nghiên cứu và tìm hiểu, nhóm đã triển khai 1 mô hình

monitoring chạy trên nền tảng OpenNMS phiên bản Horizon Nhóm đã nắm rõ lý thuyết, các thành phần, cấu trúc thiết kế của OpenNMS, cách thức hoạt động của nền tảng đồng thời cài đặt và triển khai thành công

Tuy nhiên trong quá trình thực hiện đồ án, nhóm cũng gặp 1 số sơ suất liên quan đến quản lí thời gian thực hiện đồ án chuyên ngành và 1 số lỗi liên quan đến triển khai Ngoài ra nhóm cũng chưa hoàn toàn mở rộng mô hình của nhóm thành 1 mô hình lớn hơn và cũng chưa triển khai vật lí để thể hiện các tính năng OpenNMS Và qua đó nhóm cũng xin rút kinh nghiệm những đồ án mà nhóm làm sau này

Trang 18

V.Ảnh và chú thích

Cấu hình folder opennms sau khi cài đặt

Màn hình đăng nhập dashboard của OpenNMS

Trang 19

Giao diện dashboard của OpenNMS

Cài đặt kết nối thành công node minion tới máy monitor

Trang 20

Máy minion với trang thái “ Status : Up “ đã kết nối với máy monitor

VI Tài liệu tham khảo.

1 Ứng dụng opennms Trong Giám sát an Ninh Mạng (phần 2) - an toàn thông tin, An ToanThong Tin Available at: https://m.antoanthongtin.gov.vn/gp-atm/ung-dung-opennms-trong-

giam-sat-an-ninh-mang-phan-2-107369#:~:text=OpenNMS%20đáp%20ứng%20yêu%20cầu%20về%20giám%20sát%20an%20ninh%20mạng&text=-%20Thu%20thập%20dữ%20liệu%20thông,mỗi%205%20phút%20%5B4%5D (Accessed: 17 December 2023)

2 Tạp chí An toàn thông tin Ứng dụng opennms Trong Giám sát an Ninh Mạng (phần 1) -

tạp chí an toàn thông tin, An Toan Thong Tin Available at:

https://antoanthongtin.vn/gp-atm/ung-dung-opennms-trong-giam-sat-an-ninh-mang-phan-1-107363 (Accessed: 17

Trang 21

4 Cacti® - the complete rrdtool-based graphing solution (no date) Cacti® - The Complete RRDTool-based Graphing Solution Available at: https://www.cacti.net/ (Accessed: 17

December 2023)

Ngày đăng: 22/07/2024, 17:18

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w