5. Ý nghĩa thực tiễn của đề tài
3.2 Cơ sở dữ liệu của hệ thống giám sát
Đối với một hệ thống giám sát, dữ liệu quan trọng nhất đó chính là thơng tin về đối tượng được giám sát. Vì vậy cơ sở dữ liệu sử dụng cho hệ thống cần được thiết kế hợp lý để dễ dàng quản lý dữ liệu, cũng như tối ưu việc đọc ghi dữ liệu giám sát khi được cập nhật từ Agent hay các thành phần khác. Trong phạm vi của sản phẩm luận văn, nhóm tác giả chọn hệ quản trị cơ sở dữ liệu MySQL Server để lưu trữ tồn bợ dữ liệu của mình. Với MySQL, việc quản lý và thiết kế cơ sở dữ liệu là khá dễ dàng nhờ vào nhiều cơng cụ khác nhau như phpMyAdmin, MySQL Workbench,... Ngồi ra, việc kết nối giữa website sử dụng ngôn ngữ PHP tới hệ quản trị cơ sỡ dữ liệu MySQL cũng dễ dàng và đơn giản hơn.
Các thông tin được lưu trữ bao gồm: Thông tin người dùng
Thông tin kết nối của thiết bị Thông tin nhóm thiết bị
Thơng tin trạng thái và cấu hình của thiết bị Thơng tin sự kiện của thiết bị
Thông tin về Rule người dùng định nghĩa Thông tin về Log người dùng
...
Về cấu trúc tổng quát, sẽ có các bảng sau: Users: Lưu thông tin người dùng.
DeviceGroups: Lưu thông tin nhóm thiết bị, mỗi nhóm thiết bị tḥc về mợt người dùng nhất định.
Devices: Lưu thông tin các thiết bị, mỗi thiết bị tḥc về mợt nhóm thiết bị nhất định.
ExtraInfos: Lưu các thông tin mở rộng của thiết bị
Rules: Lưu các thông tin về Rule do người dùng định nghĩa, sử dụng trong việc so sánh mức độ lỗi của hệ thống.
Events: Lưu các thông tin về sự kiện diễn ra đối với thiết bị.
Notifications: Lưu các thông tin về thông tin liên hệ của người dùng, được sử dụng để gửi thông báo khi thiết bị gặp sự cố.
Hình 3.8 Sơ đồ CSDL về quản lý người dùng, thiết bị và các sự kiện
Vì hệ thống hỗ trợ việc giám sát nhiều loại đối tượng khác nhau như hệ điều hành, phần cứng mạng, ảo hóa. Do vậy cần có các bảng khác nhau phù hợp với cấu trúc của từng loại dữ liệu của các đối tượng giám sát trên. Đối với giám sát hệ điều hành là
các máy chủ chạy hệ điều hành Linux hoặc Windows, sẽ có các bảng tương ứng lưu trữ các thơng tin về bộ nhớ RAM, bộ nhớ đĩa cứng, số cổng đang lắng nghe, số lượng tiến trình, tải CPU...Sơ đồ về các bảng này được mơ tả như hình bên dưới
Hình 3.9 Sơ đồ CSDL quản lý hệ điều hành Windows và Linux
Tương tự như đối với kiểu giám sát máy chủ chạy các hệ điều hành Linux, Windows ở trên, các bảng của kiểu giám sát các đối tượng mạng là Router, Switch như sau Router_Interfaces: Lưu trữ thông tin về các giao tiếp mạng có trên Router Switch_Interaces: Lưu trữ thơng tin về các giao tiếp mạng có trên Switch Switch_Vlans: Lưu trữ các thông tin về Vlan được cấu hình trên Switch
Ngồi ra, các thơng tin khác của Router, Switch sẽ được lưu trữ ở bảng Extra_Infos là bảng dùng để chứa thông tin mở rộng dùng chung cho tất các các thiết bị đã được mơ tả ở bên trên.
Hình 3.10 Sơ đồ CSDL đối tượng mạng là Router và Switch
Đối với cơ sở dữ liệu sử dụng cho việc lưu trữ thơng tin giám sát của hạ tầng ảo hóa VMware vSphere sẽ phức tạp hơn bởi số lượng đối tượng cũng như phân chia lớp giữa đối tượng là vCenter hoặc ESXi host.
Khi một thiết bị mới được thêm vào cơ sở dữ liệu thuộc loại vCenter hay ESXi_standalone thì thơng tin sẽ được lưu đầu tiên ở bảng Devices. Sau đó nhờ Master Server, hệ thống giám sát sẽ tiến hanh thu thập thông tin và lưu trữ vào bảng VMware_ESXis. Trong đó có hai trường hợp:
Bảng VMware_ESXis dùng để lưu trữ thông tin của một ESXi_standalone host. Bảng VMware_ESXis dùng để lưu trữ thông tin của các ESXi host được quản lý bởi vCenter.
Hình 3.11 Sơ đồ CSDL đối tượng mạng là hạ tầng ảo hóa VMware Ngồi ra, mợt số bảng phụ dùng để lưu thông tin của các ESXi host như: Ngồi ra, mợt số bảng phụ dùng để lưu thông tin của các ESXi host như: VMware_ESXi_Datastore: Lưu thông tin về lưu trữ của ESXi host
VMware_ESXi_Interfaces: Lưu thơng tin về các giao tiếp mạng có trên ESXi host. VMware_ESXi_vSwitchs: Lưu thơng tin về các switch ảo có trên ESXi host. VMware_ESXi_PortGroups: Lưu thông tin về các Port Group được tạo ra trên ESXi host.
VMware_VM: Lưu thơng tin của các máy ảo có trên mợt ESXi host
VMware_VM_Interfaces: Lưu thông tin của các giao tiếp mạng có trên máy ảo của mợt ESXi host.
VMware_VM_HDDs: Lưu thơng tin của các ổ đĩa có trên máy ảo của mợt ESXi host.