Thành phần, kiến trúc của OpenNMS

Một phần của tài liệu Hệ thống giám sát OpenNMS (Trang 37 - 42)

OpenNMS có khả năng nhận biết các sự kiện, bất thường trong mạng và đưa ra cảnh báo tức thì cho quản trị viên dựa vào các thông điệp được gửi từ agent đến trung tâm quản lý (SNMP Trap) nhận được từ các thiết bị trong mạng. Đơn vị quản

(element) trong mạng, các Interface được phân biệt bằng địa chỉ IP nên chúng sẽ là duy nhất. Trong trường hợp có nhiều Interface được phát hiện trên cùng một thiết bị, các Interface này sẽ được gom thành nhóm và gọi là các nút (node).

Việc thu thập các sự kiện trong OpenNMS gồm 2 q trình thăm dị là tìm và thu thập IP của thiết bị, sau đó là nhận biết các dịch vụ được hỗ trợ bởi thiết bị đó. OpenNMS sử dụng giao thức SNMP để thăm dị và thu thập thơng tin của các thiết bị trong hệ thống mạng. Một trong các đặc tính quan trọng của giải pháp là nó có thể hoạt động theo cách phân cấp và có thể giám sát nhiều dịch vụ như ICMP, SNMP, FTP, HTTP, SMTP, DNS, MySQL, IMAP, POP3, DHCP… Trong thực tế, giải pháp thường được triển khai phân tán như hình dưới đây:

Hình 2.11: OpenNMS dưới dạng kiến trúc của SNMP

OpenNMS chứa một tập các tiến trình chạy nền cho các trường hợp sử dụng cụ thể trong quản lý mạng. Kiến trúc OpenNMS được mơ tả chi tiết bao gồm:

Hình 2.12: Kiến trúc của OpenNMS

Chức năng các khối trong kiến trúc:

- Pollerd (Đảm bảo dịch vụ): Là một tiến trình Java chạy nền giúp thực thi các trình giám sát để kiểm tra tính khả dụng của dịch vụ và cung cấp các chức năng quản lý lỗi. Mỗi trình giám sát được thực thi trong một nhóm luồng (thread pool). Người sử dụng có thể tuỳ chỉnh mở rộng Pollerd. Pollerd là nơi tập trung các dịch vụ cung cấp cho chương trình bao gồm ICMP, DNS, FTP, HTTP, HTTPS, SSH, MySQL…

- Collectd (Thu thập số liệu hiệu suất): Là một trình nền Java có chức năng thu thập và lưu trữ dữ liệu từ nhiều nguồn khác nhau như SNMP, JMX, HTTP, NSClinet. Đối với các số liệu hiệu suất, các chỉ số thu thập được sử dụng để đo lường việc sử dụng hoặc độ trễ của các thiết bị và dịch vụ, cung cấp khả năng quản lý hiệu suất.

- CAPSD: Thơng báo bởi q trình khám phá khi một nút mới được phát hiện, các cuộc thăm dò cho tất cả khả năng cho nút này và tải dữ liệu được thu thập

- Provisiond (Cung cấp các nút trong quản lý mạng): Cung cấp một tiến trình nền để đồng bộ hố các nguồn dữ liệu bên ngồi chứa thông tin nút mạng với cơ sở dữ liệu quản lý nội bộ của OpenNMS.

- External Event (Sự kiện bên ngoài): Các sự kiện được thu thập từ file nhật ký của hệ thống (Syslog), các dịch vụ hoạt động đã vượt ngưỡng cho phép, các bộ thu thập thông tin hiệu năng, SNMP Trap (Trapd)... Sau khi được xử lý, nó sẽ được chia thành các thông tin.

- User Notification (Thông báo người dùng): Dùng để thơng báo đến quản trị.

- Event Translator (Trình dịch sự kiện): Dùng chuyển đổi các thuộc tính của các sự kiện trong cơ sở dữ liệu của OpenNMS (PostgreSQL) thành các dạng phù hợp để có thể .

- XML-RPC: Cho phép các sự kiện được chuyển từ OpenNMS đến một máy chủ khác thông qua một giao thức gọi phương thức từ xa dùng XML để mã hoá và truyền tải sử dụng HTTP.

- Eventd (Xử lý sự kiện chương trình chạy nền): OpenNMS có thể thu thập, lắng nghe hơn 500 sự kiện và các bất thường xảy ra trên hệ thống mạng, phân loại chúng theo các cấp độ và đưa ra thông tin cảnh báo chi tiết cho quản trị viên. Mỗi sự kiện đều có cảnh báo sự kiện chung (Universal Event Indicator - UEI) là một chuỗi URI sử dụng để nhận diện sự kiện đó. Người dùng có thể cấu hình việc thiết lập cấp độ của sự kiện, thay đổi ghi chú của sự kiện cho phù hợp với từng hệ thống. Các sự kiện được phân loại theo các cấp độ.

- RTC: Trình thu thập thời gian thực. RTC khởi tạo dữ liệu của mình từ cơ sở dữ liệu khi xuất hiện sau đó đăng ký vào hệ thống con sự kiện để nhận các sự kiện quan tâm để giữ cho dữ liệu được cập nhật tức thì

Bảng 2.5: Phân loại cấp độ các sự kiện

Loại sự kiện Cơ sở phân loại Màu hiển thị trên giao diện

Không xác định (Indeterminate)

Sự kiện không nằm trong mức độ

nguy hiểm nào Xanh nhạt

Đã loại bỏ (Cleared)

Sự kiện đã hết thời hạn xử lý hoặc đã được xử lý và dịch vụ đã được phản hồi sau sự kiện

Xám Bình thường

(Normal)

Các sự kiện hoạt động bình thường khơng đưa ra yêu cầu hành động nào cho quản trị viên

Xanh nhạt Cảnh bảo

(Warning)

Sự kiện đã xảy ra và có thể yêu cầu hành động cụ thể từ quản trị viên hoặc chỉ là cảnh báo

Vàng

Ít nghiêm trọng (Minor)

Một phần của thiết bị (dịch vụ, khả năng hoạt động …) đã khơng hoạt động bình thường và cần xem xét bởi quản trị viên

Cam

Nghiêm trọng (Major)

Một thiết bị sắp bị ngừng hoạt động hoặc có nguy cơ ngừng hoạt động cần có hành động cụ thể ngay lập tức từ quản trị viên Đỏ Đặc biệt nghiêm trọng (Critical)

Nhiều thiết bị trên mạng đã bị ảnh hưởng bởi một sự kiện nào đó và cần khắc phục ngay lập tức

Tím

- PostgreSQL: Là hệ quản trị cơ sở dữ liệu được hệ thống sử dụng để quản lý. Cơ sở dữ liệu là nơi lưu trữ dữ liệu mạng thu thập được. Cấu trúc IPLIKE được sử dụng để chứa danh sách các octec được đọc từ văn bản đối sánh.

- XLM API: Thành phần chứa các file cấu hình cho các tiến trình nền, cấu hình các sự kiện, ứng dụng web.

- User Interface (Giao diện người dùng): Đây là thành phần cung cấp giao diện cho người dùng. Người dùng có thể thực hiện giám sát, kiểm sốt các nút, theo dõi thơng tin báo cáo sự kiện, báo cáo dữ liệu và nhiều tác vụ khác.

Một phần của tài liệu Hệ thống giám sát OpenNMS (Trang 37 - 42)