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.
CHƯƠNG 4 HỆ THỐNG GIÁM SÁT CONTROLNET.XYZ
4.1 Tổng quan hệ thống
Hệ thống giám sát hạ tầng và dịch vụ mạng controlnet.xyz là sản phẩm của luận văn đã được nhóm tác giả thực hiện tại http://www.controlnet.xyz sản phẩm cho phép người quản trị có thể đăng ký tài khoản trực tuyến, đăng nhập và tiến hành thêm các đối tượng mạng cần quản lý. Các tính năng dự có cho hệ thống giám sát của nhóm tác giả hỗ trợ giám sát các đối tượng mạng sau:
Các máy chủ sử dụng hệ điều hành Linux hay Windows. Các thiết bị Router, Switch của hãng CISCO.
Các hạ tầng ảo hóa VMware vSphere bao gồm các ESXi và vCenter. Trong đó các phương thức giám sát được hỗ trợ bao gồm:
SNMP, SSH, AGENT, API
Hạ tầng của hệ thống gồm các thành phần sau:
Máy chủ chạy website PHP với địa chỉ https://controlnet.xyz và hệ quản trị cơ sở dữ liệu MySQL Server.
Máy chủ chạy mợt RESTfull Web Service với vai trị là API của hệ thống tại địa chỉ https://api.controlnet.xyz .
Máy chủ chạy ứng dụng “Master Server” làm nhiệm vụ giám sát các đối tượng mạng.
Trong đó các Web Server sẽ được cấu hình SSL để hỗ trợ website chạy với giao thức https, mã hóa đường truyền nhằm tăng tính bảo mật cho hệ thống; nhất là đối với API RESTful Web Services, làm nhiệm vụ tiếp nhận thông tin từ các Agent được cài đặt từ xa.
Hệ thống giám sát hạ tầng và dịch vụ mạng http://controlnet.xyz được xây dựng dựa trên những phân tích đã đề cập ở chương 4. Vì thế hệ thống hệ thống có đầy đủ những tính năng dự có đã đề ra tại mục 4.1.2. Trong đó, mợt vài ưu điểm của hệ thống hiện đang có là:
Giao diện website http://controlnet.xyz hỗ trợ tính reponsive. Giúp người sử dụng có thể xem website trên nhiều loại kích thước màn hình khác nhau nhưng vẫn đảm bảo về mặt nội dung hiển thị mà hầu hết các website của các sản phẩm giám sát khác không hỗ trợ điều này.
Hình 4.1 Giao diện website khi xem trên điện thoại di động
Master Server được tách biệt như là một ứng dụng chạy riêng rẽ của hệ thống và có thể được cài trên nhiều máy tính khác nhau. Điều này giúp tăng hiệu suất hoạt động của hệ thống giám sát bởi theo thời gian, số lượng đối tượng mạng có thể gia tăng lên con số rất lớn và lúc đó chúng ta cần phải có nhiều Master Server để thực hiện cơng việc giám sát đó. Đồng thời, việc tách biệt này sẽ cho phép cài đặt Master Server ở môi trường mạng cục bợ, phía sau Firewall (tường lửa) giải quyết các vấn đề về bảo mật và NAT. Chi tiết về cách cài đặt cũng như sử dụng Master Server, xin xem thêm tại mục 5.3.2 bên dưới đây.
Kiểu giám sát sử dụng Agent yêu cầu người quản trị hệ thống phải đăng nhập vào máy chủ và cài đặt mợt Agent lên nó, đồng thời cấu hình các thơng số kết nối. Để tạo
sự dễ dàng trong việc quản lý cài đặt này, hệ thống http://controlnet.xyz hỗ trợ người quản trị hệ thống có thể deploy (triển khai) mợt Agent xuống máy chủ một cách nhanh chóng và an tồn ngay trực tiếp tại website với chỉ một cái click chuột. Hệ thống sẽ đảm nhiệm nhiệm vụ cài đặt và cấu hình thơng số kết nối trên Agent.
4.2 Sử dụng hệ thống giám sát controlnet.xyz
4.2.1 Đăng nhập hệ thống
Hệ thống giám sát địa chỉ http://controlnet.xyz
Hình 4.3 Đăng nhập vào hệ thống giám sát
Sau khi đăng nhập thành công, người dùng sẽ được chuyển vào website nợi dung bên trong. Các thành phần chính của Website được bố trí như hình dưới
Giao diện website được chia làm ba phần chính: Thanh trạng thái phái trên cùng, menu phía trái và nợi dung website bên phải
Ở phía trên cùng là thanh trạng thái bao gồm Logo website ở phía bên trái; tên người dùng, ngơn ngữ và các thơng báo mới ở phía bên phải. Tính năng hiển thị các nợi dung thông báo / cảnh báo mới sẽ giúp người dùng có thể xem nhanh được những nội dung quan trọng, đồng thời gây chú ý với người dùng về các sự cố trên thiết bị cần được giải quyết.
Hình 4.5 Tính năng hiển thị những thông báo mới tới người dùng
Ở phía bên trái sẽ là thanh Menu dẫn tới từng trang chức năng khác nhau. Các menu này được thiết kế theo dạng xổ xuống và hỗ trợ tính năng c̣n tự đợng giúp trình duyệt tự đợng c̣n xuống khi người dùng phải sử dụng website trên mợt màn hình có đợ phân giải thấp.
Hình 4.6 Menu điều hướng trang
Sau khi đăng nhập thành công, người dùng sẽ được chuyển tới trang chính là “Dashboard” hay còn gọi là “Bảng điều khiển”
Với “Bảng điều khiển”, người quản trị có thể xem nhanh mợt cách tổng qt về tình hình hiện tại của các thiết bị, máy chủ đang được quản lý bởi hệ thống giám sát này. Bao gồm:
Các thông tin về cảnh báo mới nhất
Số lượng đối tượng mạng được quản lý cùng trạng thái của chúng.
Số lượng về các cảnh bảo ở các cấp độ khác nhau: Critical (nghiêm trọng), Warning (cảnh báo) và Info (thông tin)
Các biểu tượng được thiết kế theo các nhau ứng với các cấp độ cảnh báo khác nhau. Khi nhấn vào từng biểu tượng, người dùng sẽ được chuyển tới các trang chức năng tương ứng cũng như từng thiết bị đang được giám sát tương ứng.
Tồn bợ website được thiết kế theo chuẩn HTM5 và CSS3, hỗ trợ tính năng reponsive (đáp ứng) do vậy nó có khả năng co giãn và hiện thị được trên nhiều độ phân giải màn hình khác nhau.
4.2.2 Thêm và quản lý thiết bị
Để thêm thiết bị mới, từ menu bên trái: Thiết bị → Thêm Thiết bị.
Giao diện của trang “Thêm thiết bị” được thiết kế theo dạng thuật sĩ, được chia làm ba bước chính:
Bước 1: Cung cấp thông tin thiết bị, bao gồm thơng tin nhóm, địa chỉ IP cùng hostname.
Bước 2: Cung cấp thông tin về phương thức giám sát sẽ được sử dụng để giám sát thiết bị đồng thời cung cấp các thông tin mở rộng của từng phương thức giám sát. Bước 3: Xác nhận thông tin thiết bị mới.
Hình 4.9 Chọn loại thiết bị cùng phương thức giám sát. Website hiện hỗ trợ các đối tượng được giám sát bao gồm: Website hiện hỗ trợ các đối tượng được giám sát bao gồm:
Máy chủ: Linux, Windows Thiết bị mạng: Router, Switch
Ảo hóa: Vmware ESXi, VMware vCenter
Sau khi thiết bị mới được thêm vào hệ thống, nó sẽ được liệt kê ở danh sách các thiết bị. Từ menu bên trái : Thiết bị → Danh sách thiết bị
Hình 4.10 Danh sách thiết bị đang được giám sát
Tại trang “Danh sách thiết bị”, tất cả các đối tượng mạng đang được giám sát sẽ được liệt kê dưới dạng bảng và bao gồm các thông tin như: tên, địa chỉ IP, nhóm và loại thiết bị. Bên cạnh đó, chúng ta cũng có thể xem nhanh về số lượng sự kiện hiện có trên thiết bị này với các mức độ là Cirtical (nghiêm trọng), Warning (cảnh báo), và Info (thông tin).
Khi nhấn vào tên của từng thiết bị trên bảng danh sách các thiết bị ở trên, website sẽ chuyển tới trang thông tin của giám sát của thiết bị tương ứng đó. Tùy theo loại thiết bị khác nhau mà nợi dung trang thơng tin có thể khác nhau.
Đối với giám sát máy chủ chạy hệ điều hành Linux, Windows trang nợi dung sẽ có các thông tin về:
Tổng quan: Các thông tin tổng quan về máy chủ như hệ điều hành, trạng thái máy chủ, bộ nhớ, cpu ...
Bộ xử lý: Thông tin tổng quan về bộ xử lý của máy chủ, biểu đồ tải hoạt động của từng lõi của bộ xử lý.
Mạng: Thông tin tổng quan về các giao tiếp mạng của máy chủ, biểu đồ tải hoạt động của từng giao tiếp mạng.
Lưu trữ: Thông tin tổng qua về các ổ đĩa, mount point có trên máy chủ, biểu đồ biểu diễn mức dung lượng đã sử dụng.
Hình 4.11 Trang thơng tin tổng quan giám sát của hệ điều hành Windows
Đối với giám sát thiết bị mạng Cisco, các thông tin chủ yếu tập trung vào trạng thái tồn tại của các thiết bị đó và các giao tiếp mạng. Ngoài ra, đối với Switch sẽ được giám sát thêm về Vlan, trạng thái cũng như cấu hình IP trên các Vlan đó.
Hình 4.13 Trang thơng tin tổng quan của một Switch Cisco
Đối với trang nợi dung của hạ tầng ảo hóa VMware vSphere sẽ có hai đối tượng giám sát chính là ESXi đơn và vCenter đã bao gồm nhiều ESXi host được quản lý bởi nó. vCenter có các thơng tin giám sát về trạng thái, địa chỉ IP và bảng danh sách các ESXi host. Các ESXi sẽ có các thơng tin giám sát về:
Trạng thái
Danh sách các vSwitch Danh sách các PortGroup Danh sách các Interface vật lý Danh sách máy ảo
Hình 4.14 Trang thơng tin về lưu trữ của một ESXi host.
4.2.3 Quản lý giám sát
“Bảng Quy Tắc Giám Sát” là tập hợp các quy tắc được người dùng định nghĩa ra nhằm mục đích áp đặt sự so sánh trong q trình hệ thống giám sát xét duyệt có gửi thông báo cảnh báo cho người dùng về hệ thống của mình. Mặc định người dùng mới đăng ký sẽ được khởi tạo bảng rule mặc định, để thay đổi bảng rule này chúng ta duy chuyển tới Giám Sát
Mặc định người dùng chỉ được phép sửa hai trường trong bảng bên trên là “So Sánh” và “Giá Trị”. Các giá trị khác như “Nợi Dung” đã được lập trình theo dạng khn mẫu (template) nên sẽ thay đổi nội dung theo phù hợp biểu thức mà người dùng đã thay đổi. Ngồi ra, ở trường nợi dung được thiết lập mặt định với hai ngôn ngữ là tiếng Anh và tiếng Việt được ngăn cách bởi dấu “|”. Khi hệ thống gửi bản tin SMS hoặc Email thơng báo tới người dùng thì sẽ chọn loại ngơn ngữ mà người dùng đã thiết lập trong hồ sơ (profile) của họ.
4.2.4 Quản lý người dùng
“Quản lý người dùng” chính là thơng tin liên hệ, được sử dụng khi đăng nhập vào hệ thống giám sát cần gửi bản tin SMS hay Email khi phát hiện có sự lỗi hay sự bất thường trên các đối tượng mạng của người dùng. Các thông tin bao gồm tên người dùng, địa chỉ email, số điện thoại, khi hệ thống giám sát sử dụng bảng quy tắc để so sánh và thấy có sự thỏa điều kiện thì nó sẽ gửi thông báo cảnh báo tới các “người dùng” đã được người dùng chỉ định. Mặc định, khi người dùng đăng ký mới thì sẽ có mợt “người dùng” được tự đợng tạo ra với thơng tin chính là thơng tin mà người dùng đã sử dụng để đăng ký tài khoản.
Để có thể thay đổi nợi dung “người dùng” di chuyển tới Quản lý người dùng → Thêm người dùng.
4.3 Cài đặt hệ thống giám sát giám sát
4.3.1 Cài đặt website giao diện người dùng
Website được viết bằng ngôn ngữ PHP và sử dụng hệ quản trị CSDL MySQL Server, do vậy việc cài đặt là khá dễ dàng chỉ yêu cầu máy chủ cài đặt WebServer có hỗ trợ PHP đồng thời cài đặt MySQL Server phiên bản 5 trở lên. Phần này sẽ hướng dẫn các bước cài đặt Website giao diện người dùng của ứng dụng luận văn trên hệ điều hành CentOS 6
Bước 1: Cài đặt Web Server, MySQL Server và PHP Cài đặt Web Server httpd
$ sudo yum install httpd
Cài đặt MySQL Server
$ sudo yum install mysql
Cài đặt PHP
$ sudo yum install php
Cài đặt các gói PHP khác nếu cần thiết
$ sudo yum install php-mysql php-gd php-imap php-odbc php-pear php-xml php- xmlrpc
Khởi động lại dịch vụ http sau khi đã cài đặt xong
$ sudo service httpd restart
Bước 2: Cài đặt composer
Laravel quản lý việc cài đặt các gói thư viện của nó nhờ vào "composer”. Chúng ta có thể download tệp tin composer.phar về từ địa chỉ https://getcomposer.org và sao chép vào thư mục /usr/local/bin của của hệ điều hành để có thể sử dụng như mợt lệnh hệ thống
$ cd /usr/local/bin
$ wget https://getcomposer.org/download/1.0.0-alpha8/composer.phar $ mv composer.phar composer
Bước 3: Sao chép mã nguồn website
Chúng ta có thể tạo mợt vhost mới cho website, tuy nhiên ở đây có thể sử dụng thưc mục mặc định /var/www/html. Thực hiện sao chép tồn bợ mã nguồn của website luận văn và đặt vào thưc mục trên.
Bước 4: Cài đặt Laravel framework và các thư viện cần thiết
Để website có thể hoạt đợng được, chúng ta cần cài đặt các gói thư viện được sử dụng trong quá trình website thực thi. Việc cài đặt khá dễ dàng nhờ vào lệnh composer đã cài đặt ở trên
$ composer install
Bước 5: Cấu hình kết nối tới CSDL
Tệp tin cấu hình các thơng số kết nối CSDL của website được đặt ở vi app/config/database.php chúng ta cần cấu hình lại cho phù hợp với hệ quản trị CSDL đang sử dụng
$ cd /var/wwư/html/
$ vi app/config/database.php
Tại mục connections chúng ta sẽ cấu hình tham số kết nối tới hệ quản trị CSDL mà chúng ta đang sử dụng. Ở đây là MySQL Server với các tham số sau:
host: địa chỉ IP hoặc hostname của MySQL Server database: tên cơ sở dữ liệu của website
username: tên người dùng đăng nhập hệ quả trị CSDL password: mật khẩu của người dùng trên
4.3.2 Cài đặt master server
Master Server được viết bằng ngôn ngữ Python do vậy nó thể chạy được trên nhiều hệ điều hành khác nhau như Windows, Linux, Mac OS với yêu cầu đã cài đặt Python cùng các thư viện kèm theo. Trong phần hướng dẫn cài đặt này, Master Server sẽ được cài đặt trên hệ điều hành Ubuntu Server 12.04 với các bước như sau:
Cài đặt các thư viện phát triển
Cài đặt các gói thư viện cho Python
$ pip install MySQL-python $ pip install pysnmp
$ pip install pysphere
Sau khi đã cài đặt các thư viện thành công, tiến hành sao chép mã nguồn của Master Server vào thư mục cố định trên máy chủ và tiến hành hiệu chỉnh tệp tin cấu hình config.ini được đặt trong thư mục con fab_config. Mợt số cấu hình quan trọng như sau:
tmp_path: Cấu hình đường dẫn tới thư mục tạm trên hệ thống, dùng cho việc lưu trữ các nội dung tạm được sinh ra trong quá trình Master Server làm việc.
master_log: Nơi chứa log thực thi của Master Server.
db_hostname, db_user, db_passowrd, db_dbname: Cấu hình các thơng số kết nối tới cơ sở dữ liệu dùng bởi Master Server bao gồm tên máy chủ, tên người dùng, mật khẩu và tên cơ sở dữ liệu.
Sau khi đã thiết lập cấu hình xong, ta khởi đợng Master Server $ python master.py -t =all
Trong đó Master Server có thể được khởi đợng ở 6 chế đợ, tương ứng với các kiểu giám sát và đối tượng giám sát khác nhau như sau:
all: Thực thi ở tất cả các phương thức giám sát khác nhau.