1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu và triển khai Zabbix và Munin trên Ubuntu Server

19 119 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 2,05 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN ---***---MÃ NGUỒN MỞ CHUYÊN NGÀNH MẠNG TÌM HIỂU VÀ TRIỂN KHAI HỆ THỐNG GIÁM SÁT MONITORING TRÊN UBUNTU SERVER SỬ DỤNG ZABBIX

Trang 1

TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

-*** -MÃ NGUỒN MỞ CHUYÊN NGÀNH MẠNG TÌM HIỂU VÀ TRIỂN KHAI HỆ THỐNG GIÁM SÁT (MONITORING)

TRÊN UBUNTU SERVER SỬ DỤNG ZABBIX VÀ MUNIN

HÀ NỘI – 2018 Giáo viên hướng dẫn: GV.ThS Phạm Đình Tân

Sinh viên thực hiện:

Trang 2

Mục Lục

I HỆ THỐNG GIÁM SÁT MẠNG 3

1.1 Giám sát mạng là gì? 3

1.2 Các yếu tố cơ bản của giám sát mạng 3

1.3 Các giải pháp công nghệ giám sát an toàn mạng 3

1.4 Giải pháp quản lý 3

II TÌM HIỂU ZABBIX 5

2.1 Zabbix là gì? 5

2.2 Ưu nhược điểm của Zabbix 5

2.3 Yêu cầu phần cứng 5

2.4 Các thành phần hệ thống giám sát Zabbix 5

2.5 Triển khai cài đặt Zabbix trên ubuntu server 16.04.5 6

III TÌM HIỂU VỀ MUNIN 14

3.2 Giới thiệu 14

3.3 Cài đặt Server Munin 14

3.4 Cài đặt Munin 14

3.5 Cấu hình Munin Master 14

3.6 Kết luận 17

Trang 3

I HỆ THỐNG GIÁM SÁT MẠNG

1.1 Giám sát mạng là gì?

Hệ thống giám sát an toàn mạng đóng vai trò quan trọng, không thể thiếu trong hạ tầng công nghệ thông tin (CNTT) của các cơ quan, đơn vị, tổ chức Hệ thống này cho phép thu thập, chuẩn hóa, lưu trữ và phân tích tương quan toàn bộ các sự kiện an toàn mạng được sinh ra trong hệ thống CNTT của tổ chức

Ngoài ra, hệ thống giám sát an toàn mạng phát hiện kịp thời các tấn công mạng, các điểm yếu, lỗ hổng bảo mật của các thiết bị, ứng dụng và dịch vụ trong hệ thống Phát hiện kịp thời sự bùng nổ virus trong hệ thống mạng, các máy tính bị nhiễm mã độc, các máy tính bị nghi ngờ là thành viên của mạng máy tính ma (botnet)

I.2 Các yếu tố cơ bản của giám sát mạng

Để công tác giám sát an toàn mạng đạt hiệu quả cần phải xác định được các yếu tố cốt lõi, cơ bản nhất của giám sát như:

- Xác định các đơn vị, hệ thống, thiết bị, dịch vụ cần giám sát

- Xác định trang thiết bị, giải pháp phần mềm thương mại phục vụ giám sát

- Xác định phần mềm nội bộ và phần mềm nguồn mở phục vụ giám sát

- Xác định các thiết bị, công cụ, giải pháp hỗ trợ phân tích kết quả giám sát: công cụ NMAP, TCPDUMP, Wireshark, Nessus

Ngoài các trang thiết bị, công cụ, giải pháp hỗ trợ thì yếu tố con người và đặc biệt là quy trình phục vụ giám sát là vô cùng quan trọng

I.3 Các giải pháp công nghệ giám sát an toàn mạng

Hệ thống giám sát an toàn mạng có thể được xây dựng theo một trong ba giải pháp sau:

- Giải pháp quản lý thông tin an ninh: tập trung vào việc thu thập, lưu trữ và biểu diễn nhật ký

- Giải pháp quản lý sự kiện an ninh: tập trung vào việc phân tích và xử lý các nhật

ký đã được thu thập để đưa ra cảnh báo cho người dùng

- Giải pháp quản lý và phân tích sự kiện an ninh: là sự kết hợp của cả hai giải pháp trên nhằm khắc phục những hạn chế vốn có Vì vậy, tài liệu sẽ hướng tới xây dựng giải pháp này

I.4 Giải pháp quản lý

Mô hình giải pháp quản lý gồm 03 thành phần chính:

a Thành phần thu thập nhật ký an toàn mạng

Trang 4

- Thu thập toàn bộ dữ liệu nhật ký từ các nguồn thiết bị, ứng dụng,… gồm cả các thiết bị vật lý và thiết bị ảo hóa

- Kiểm soát băng thông và không gian lưu trữ thông qua khả năng chọn lọc dữ liệu nhật ký

- Phân tách từng sự kiện và chuẩn hóa các sự kiện vào một lược đồ chung

- Tích hợp các sự kiện để giảm thiểu số lượng các sự kiện gửi về thành phần phân tích và lưu trữ

- Chuyển toàn bộ các sự kiện đã thu thập về thành phần phân tích và lưu trữ

b Thành phần phân tích và lưu trữ

- Kết nối với các thành phần thu thập nhật ký để tập hợp nhật ký tập trung và tiến hành phân tích, so sánh tương quan

- Môđun phân tích sẽ được hỗ trợ bởi các luật (được định nghĩa trước) cũng như khả năng tuỳ biến, nhằm đưa ra kết quả phân tích chính xác nhất

- Các nhật ký an toàn mạng được tiến hành phân tích, so sánh tương quan theo thời gian thực nhằm đưa ra cảnh báo tức thời cho người quản trị Đồng thời cũng cho phép phân tích các dữ liệu trong quá khứ, nhằm cung cấp cho người quản trị một bức tranh toàn cảnh về an toàn mạng theo thời gian

- Hỗ trợ kết nối đến các hệ thống lưu trữ dữ liệu (như SAN, NAS) giúp nâng cao khả năng lưu trữ và xây dựng kế hoạch dự phòng, chống mất mát dữ liệu

c Thành phần quản trị tập trung

- Cung cấp giao diện quản trị tập trung cho toàn bộ hệ thống giám sát an toàn mạng Các giao diện được phân quyền theo vai trò của người quản trị

- Hỗ trợ sẵn hàng nghìn mẫu báo cáo, các giao diện theo dõi, điều kiện lọc, Ngoài ra, các công cụ này còn cho phép tùy biến, thay đổi hay tạo mới các báo cáo một cách dễ dàng để phù hợp với hệ thống của mình

- Hỗ trợ các công cụ cho việc xử lý các sự kiện an toàn mạngxảy ra trong hệ thống

d Các thành phần khác: thành phần cảnh báo, hệ thống DashBoard theo dõi thông tin, các báo cáo phong phú đáp ứng các tiêu chuẩn quản lý, thành phần lưu trữ có khả năng lưu trữ dữ liệu lâu dài

Trang 5

II TÌM HIỂU ZABBIX

2.1 Zabbix là gì?

Zabbix là một giải pháp giám sát dịch vụ hệ thống mạng phân tán mã nguồn mở nổi tiếng, có nhiều tính năng độc đáo và khả năng tùy biến cao

Zabbix được sáng lập bởi Alexei Vladishev và hiện tại được phát triển cũng như hỗ trợ bởi tổ chức Zabbix SIA Zabbix được viết và phát hành dưới bản quyền General Public License GPL phiên bản 2 Zabbix sử dụng các cơ chế thông báo vấn đề linh hoạt cho quản trị viên như mail, sms, OTT App, v.v…

2.2 Ưu nhược điểm của Zabbix

a Ưu điểm

- Tự động tìm phát hiện server và hệ thống mạng

- Hỗ trợ cài đặt trên dòng lệnh hệ điều hành Unix/Linux

- Hỗ trợ máy trạm nhiều client nhiều hệ điều hành

- Giao diện web tinh tế đẹp mắt

- Có thông báo sự cố qua mail, app

- Kiểm tra theo dõi việc đăng nhập

- Linh động trong việc phân quyền người dùng

- Mã nguồn mở chi phí đầu tư thấp

- Nhiều plugin hỗ trợ các dịch vụ hệ thống khác nhau

b Nhược điểm

- Không có giao diện web mobile hỗ trợ

- Không phù hợp trong hệ thống mạng lớn hơn 1000 node thiết bị client cần giám sát

- Thiết kế template/alering rule đôi khi khá phức tạp

2.3 Yêu cầu phần cứng

- CPU: 2 core

- Ram: 1GB

- Disk: 50GB

2.4 Các thành phần hệ thống giám sát Zabbix

- Zabbix Server : đây là ứng dụng chương trình dịch vụ chính của Zabbix

Zabbix Server sẽ chịu trách nhiệm cho các hoạt động kiểm tra dịch vụ mạng từ

Trang 6

xa, thu thập thông tin lưu trữ, hiển thị , cảnh báo,…từ đó các quản trị viên có thể thao tác giám sát hệ thống tốt nhất

- Zabbix Proxy: Là máy chủ được dùng cho việc quản lý nhiều nhánh hệ thống ở

xa, hoặc ở các lớp mạng khác nhau Từ Zabbix proxy sẽ thu thập các thông tin thiết bị mạng rồi chuyển tiếp về cho máy chủ dịch vụ chính Zabbbix Server

- Zabbix Agent: Zabbix agent là chương trình Zabbix là các chương trình để cài đặt lên các máy chủ hoặc thiết bị phía client Từ đó hỗ trợ kết nối từ Zabbix Server để lấy các thông tin cần thiết từ client nhằm kiểm tra các tình trạng hệ thống hoặc theo nhu cầu quản trị viên

- Giao diện web: cung cấp giao diện web trên nền tảng mã nguồn PHP cùng phong cách Metro tinh tế Hiện tại có thể xem Zabbix là một trong những ứng dụng có giao diện đệp nhất, thiết kế vị trí tính năng bắt mắt và hợp lý

2.5 Triển khai cài đặt Zabbix trên ubuntu server 16.04.5

Cài đặt LAMP stack trước khi cài Zabbix

Hình 2.1 Cài đặt Apache 2

- Cài đặt apache2 và php: sudo apt-get install -y apache2 php libapache2-mod-php libapache2-mod-php-mcrypt

Sau bước này, khi truy cập http://192.168.10.142 (IP của Ubuntu Server) thành công tức là apache đã hoạt động

- Kiểm tra xem php và apache có tương thích không, ta tạo 1 file info.php

vim /var/www/html/info.php với nội dung: “ <?php phpinfo(); “

Trang 7

truy cập http://192.168.10.142/info.php nếu hiển thị như hình dưới thì coi như đã cài đặt thành công

Hình 2.2 Hiển thị file info.php

Tiếp theo, chúng ta sẽ cài MySQL với câu lệnh:

sudo apt-get install mysql-server php-mysql

Quá trình cài đặt cũng khá đơn giản Hệ thống sẽ yêu cầu bạn đặt mật khẩu cho tài khoản root của mysql

Nếu bạn không quen dùng MySQL bằng CLI thì có thể cài phpmyadmin để quản lý db 1 cách trực quan

sudo apt-get install phpmyadmin

Trong lúc cài đặt sẽ yêu cầu chúng ta chọn webserver apache2 hay lighttpd để cấu hình thì bạn tích vào apache2 và enter

Mở file /etc/apache2/apache2.conf và thêm dòng sau vào cuối file

Include /etc/phpmyadmin/apache.conf

Cuối cùng là khởi động lại apache

service apache2 restart

Trang 8

Các bước cài Zabbix:

Đầu tiên là cần cài repo của zabbix cho apt với câu lệnh sau:

wget

http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb

dpkg -i zabbix*

sudo apt-get update

Sau đó, cài đặt các gói zabbix-server-mysql và zabbix-frontend-php

sudo apt-get install zabbix-server-mysql zabbix-frontend-php

Sau khi cài đặt thành công, các bạn cần phải tạo database và cấu hình để cài đặt server

mysql -u root -p

Enter password:

-> create database zabbix charater set utf8 collate utf8_bin;

-> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';

-> flush privileges;

-> exit

cd /usr/share/doc/zabbix-server-mysql

gunzip create.sql.gz

mysql -u root -p zabbix < create.sql

Enter password:

Đến đây thì cần cấu hình 1 chút để có thể cài đặt zabbix server với 2 file

zabbix_server.conf và php.ini

vim /etc/zabbix/zabbix_server.conf

Tìm các dòng sau và sửa đúng với thông tin mà các bạn vừa tạo ở bước trên

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=password

Sửa lại 1 chút thông số của file php.ini

vim /etc/php/7.0/apache2/php.ini

post_max_size = 16M

Trang 9

max_execution_time = 300

max_input_time = 300

date.timezone = "your timezone" ; Asia/Ho_Chi_Minh

Copy file apache.conf vào conf-available để apache và zabbix có thể làm việc cùng nhau

cp /etc/zabbix/apache.conf /etc/apache2/conf-available/zabbix.conf

Bật cấu hình trong file zabbix.conf

a2enconf zabbix.conf

Đảm bảo mod alias được bật

a2enmod alias ; nếu không được thì bạn cần sử dụng với quyền root

Nếu bạn đang sử dụng firewall thì cần phải mở port 10050/tcp và 10051/tcp và tất nhiên, phải đảm bảo port 80 phải được mở Còn nếu không dùng thì bạn có thể bỏ qua bước này

sudo ufw allow port/protocol

sudo ufw reload

Khởi động lại apache và bật zabbix server

service apache2 restart

service zabbix-server start

Trang 10

Hình 2.3 Cấu hình trong file zabbix.conf

Đến bước này thì cơ bản đã hoàn tất phần back-end Bây giờ sẽ cài đặt phần front-end cho zabbix

Bạn truy cập vào http://192.168.10.142/zabbix để tiến hành cài đặt:

Hình 2.4 Giao diện khi truy cập Zabbix

Trang 11

Hình 2.5 Giao diện thiết lập ban đầu cho Zabbix

Hình 2.6 Kết nối Database cho Zabbix

Trang 12

Hình 2.7 Port cho Zabbix

Hình 2.7 Kiểm tra lại thông tin trước khi hoàn tất cấu hình

Trang 13

Hình 2 8 Màn hình thông báo đã cấu hình thành công Zabbix

- Đăng nhập Zabbix với:

Username: admin

Password: zabbix

Hình 2.9 Giao diện quản lý của zabbix

Trang 14

III TÌM HIỂU VỀ MUNIN

III.2 Giới thiệu

Munin là một hệ thống giám sát qua mạng cho máy chủ cục bộ và máy chủ từ xa Nó giám sát tất cả những điều cơ bản Chúng ta có thể sử dụng nó để theo dõi các máy chủ, xem tất cả những gì đã xảy ra và phát hiện các sự cố Munin sẽ tạo ra các đồ thị thông qua một ứng dụng web Vì vậy, điều đầu tiên chúng ta cần là một máy chủ web Apache

III.3 Cài đặt Server Munin

apt-get update

apt-get install apache2 apache2-utils libcgi nhanh-perl libapache2-mod-fcgid

Bật module fcgid trong apache

a2enmod fcgid

Tại thời điểm này bạn có thể thấy một cảnh báo là:

Could not reliably determine the server's fully qualified domain name

thì khởi động lại Apache, và có thể bỏ qua

III.4 Cài đặt Munin

Ta cài đạt Munin bằng lệnh

Sudo apt-get install -y munin

III.5 Cấu hình Munin Master

Munin đặt tất cả các file cấu hình của nó trong

/etc/Munin

Chúng ta có thể bắt đầu với việc chỉnh sửa tập tin cấu hình Munin

/etc/munin/munin.conf

nano /etc/Munin/munin.conf

Sau đó ở phía trên cùng của tập tin chúng ta có thể bỏ ghi chú các dòng sau

Trang 15

dbdir /var/lib/Munin

htmldir /var/cache/Munin/www

logdir /var/log/Munin

rundir /var/run/Munin

Thay đổi thứ hai chúng ta cần phải thực hiện trong tập tin này là tên của máy chủ Nó

sẽ xuất hiện trên giao diện web Các localhost.localdomain mặc định không mô tả rõ ràng Xuống phía cuối của tập tin bạn sẽ thấy các dòng tương tự như sau;

[Localhost.localdomain]

address 127.0.0.1

use_node_name yes

Thay đổi tên theo mục đích của bạn, vì nó không phải là định dạng host.domain Bạn

có thể sử dụng MailServer, WebServer hay mail.love.vn Nó chỉ là văn bản cho giao diện web

Lưu file và đóng trình soạn thảo

Bây giờ chúng ta có thể chuyển sang các tập tin cấu hình Apache Các tập tin mặc định được cấu hình để chỉ cho phép truy cập từ localhost

nano /etc/Munin/apache.conf

Trong tập tin, ta sẽ thấy các dòng tương tự sau:

Order allow,deny

Allow from localhost 127.0.0.0/8 ::1

Allow from all

Trang 16

Options None

Và ta thay thế như sau:

Require all granted

Options FollowSymLinks SymLinksIfOwnerMatch

Sau đó ta khởi động lại dịch vụ apache2 và Monin-node bằng lệnh:

service apache2 restart

service munin-node restart

Bây giờ chúng ta có thể thấy trang tổng quan Munin tại http://localhost.localdomain/ Munin/

Như vậy là quá trình cài đặt cơ bản cho máy chủ đã xong

Tiếp theo ta cấu hình Munin Nodes

Ở đây chúng ta sẽ cấu hình một Munin node trên một máy chủ từ xa

Cài đặt một Node

Chúng ta có thể cài đặt phần mềm node bằng lệnh:

apt-get install munin-node

Chỉnh sửa tập tin Munin-node.conf

nano /etc/munin/munin-node.conf

Trang 17

Đến giữa tập tin ta thấy một phần nói về một danh sách các địa chỉ được phép kết nối và ta thêm một dòng mới với địa chỉ IP của Munin Master

allow ^10\.10\.10\.5$

Lưu thay đổi và thoát khỏi trình soạn thảo

Khởi động lại dịch vụ Munin-node để sử dụng các thay đổi trên bằng lệnh

service munin-node restart

Bây giờ trở lại trên máy Munin Master, máy Munin đầu tiên Chúng ta cần phải thiết lập tìm kiếm theo dõi trên node đã tạo Bằng cách chỉnh sửa file cấu hình Munin

nano /etc/munin/munin.conf

Sau đó ta thêm một khối mới cho node mới với một tên mô tả trong các định dạng tương tự như lúc sử dụng cho các Munin master Địa chỉ IP là địa chỉ cho node server

[MyNode.vn]

address 10.10.10.6

use_node_name yes

Khởi động lại máy chủ apache trên Munin master bằng lệnh

Trang 18

service apache2 restart

Thời gian chờ để thực hiện quá trình tìm kiếm node là khoảng 5-10 phút Khi node mới sẽ xuất hiện trong trang web và đồ thị sẽ bắt đầu được vẽ

Kiểm tra New Plugins

Chúng ta có thể kiểm tra để xem nếu có plugin mới có thể được sử dụng để giám sát dịch vụ bổ sung trên máy chủ, bằng cách sử dụng lệnh munin-node-configure

munin-node-configure suggest

Một danh sách các plugin có sẵn và có hay không chúng có thể được sử dụng trên máy chủ Một số plugin có thể yêu cầu các module và các gói phụ phải được cài đặt trước khi có thể được sử dụng

Để kích hoạt một plugin bằng tay ta cần tạo ra một liên kết tượng trưng trong

/etc/munin/plugins trỏ trở lại vào file plugin từ /usr/share/munin/plugins/

Plugins MySQL

Để chạy plugin Mysql cho Munin ta sẽ cần phải cài đặt các module bộ nhớ Cache::Cache cho Perl và phải chắc chắn rằng mysql * liên kết tượng trưng được đưa

ra trong /etc/munin/plugins.

apt-get install libcache-cache-perl libipc-sharelite-perl

Nếu ta đang sử dụng bảng InnoDB, thì có thể cần tạo ra các tập tin tập tin /etc/munin/ plugin-conf.d/mysql_innodb

Nó sẽ dừng lại cảnh báo vô nghĩa về kích thước trống của bảng InnoDB

Ngày đăng: 15/06/2020, 11:12

TỪ KHÓA LIÊN QUAN

w