NGHIÊN CỨU HỆ THỐNG GIÁM SÁT QUẢN TRỊ MẠNG NAGIOS

42 238 0
NGHIÊN CỨU HỆ THỐNG GIÁM SÁT QUẢN TRỊ MẠNG NAGIOS

Đ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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA ĐÀO TẠO SAU ĐẠI HỌC MÔN: AN NINH MẠNG BÁO CÁO Đề tài: NGHIÊN CỨU HỆ THỐNG GIÁM SÁT QUẢN TRỊ MẠNG NAGIOS Lớp: M13CQIS02-B Nhóm thực hiện: Nguyễn Thị Hạt Lê Việt Hải Trần Đăng Doanh Giảng viên: Hoàng Đăng Hải THÁNG 10 - 2014 MỤC LỤC CHƢƠNG TỔNG QUAN VỀ NAGIOS 1.1.Chức Nagios 1.2 Đặc điểm Nagios 1.3 Kiến trúc tổ chức hoạt động 1.3.1 Kiến trúc Nagios 1.3.2 Cách thức tổ chức hoạt động CHƢƠNG TỔNG QUAN CẤU HÌNH 10 2.1 Tổng quan cấu hình 10 2.1.1 Các tệp cấu hình chương trình 10 2.1.2 Các tệp cấu hình đối tượng 10 2.2 Cách thức định nghĩa đối tƣợng tệp cấu hình đối tƣợng 11 2.2.1 Định nghĩa host 11 2.2.2 Định nghĩa dịch vụ 12 2.2.3 Định nghĩa Lệnh 13 2.2.4 Các định nghĩa khác 13 CHƢƠNG CÁC DỊCH VỤ GIÁM SÁT 14 3.1 Giám sát thiết bị mạng 14 3.1.1 Máy in 14 3.1.2 Switch, router 16 3.2 Giám sát máy đầu cuối 20 3.2.1 Giám sát tài nguyên máy đầu cuối 20 3.2.2 Giám sát thông số an toàn phần cứng máy đầu cuối 21 3.3 Giám sát dịch vụ mạng 21 3.3.1 Giám sát web server 22 3.3.2 Giám sát proxy server 23 3.3.3 Giám sát file server 24 3.3.4 Giám sát mail server 25 3.3.5 Giám sát Các dịch vụ khác 28 3.4 Cảnh báo cho ngƣời quản trị 28 3.5 Tổng hợp báo cáo 29 Chƣơng Các vấn đề liên quan 30 4.1 Các khái niệm Nagios 30 4.1.1 Kiểm tra host 30 4.1.2 Kiểm tra dịch vụ 30 4.1.3 Khái niệm trạng thái SORT/HARD 31 4.1.4 Khái niệm FLAP 32 4.1.5 Mối quan hệ cha/con host phân biệt trạng thái down/unrearchable 33 4.1.6 Lập lịch downtime 37 4.2 Bộ xử lý kiện 38 4.2.1 Thời gian chạy xử lý kiện 38 4.2.2 Ví dụ event handler 38 4.2.3 Script xử lý 39 4.3 Giám sát phân tán 40 4.3.1 Kiểm tra chủ động 40 4.3.2 Kiểm tra bị động 41 4.3.3 Giám sát phân tán 41 TÀI LIỆU THAM KHẢO 42 LỜI MỞ ĐẦU Network mornitoring hay tiếng việt hiểu giám sát, theo dõi mạng vấn đề trở lên quan trọng việc quản trị hệ thống mạng Nó hạn chế tối đa việc mạng bị gián đoạn q trình hoạt động Nó đảm bảo việc khai thác tài nguyên có hiệu quả, đảm bảo an toàn, tin cậy cho dịch vụ cung cấp… Hiện có nhiều cơng cụ giám sát mạng hỗ trợ cho công việc người quản trị Chức chúng giám sát thạng thái hoạt động thiết bị mạng, dịch vụ mạng, máy đầu cuối tham gia vào mạng thơng báo cho người quản trị có cố khả sảy cố Có hệ thống thương mại HPopen View… Hay nguồn mở openNMS, Cacti, Nagios… Mỗi hệ thống lại có ưu nhược điểm riêng Tuy nhiên khả chúng lại không nhiều Bài Báo cáo tập trung vào việc nghiên cứu hệ thống giám sát dựa Nagios, sản phẩm nguồn mở sử dụng rộng rãi Từ đời 2002 đến Nagios liên tục phát triển quan tâm Cộng đồng quan tâm sử dụng Nagios theo thống kê http://nagios.org vào khoảng 250.000 người Từ phiên 1.0 đầu tiên, đến Nagios phát triển nên phiên 3.x liên tục cho phiên với tính mạnh mẽ Đặc biệt Nagios có khả phân tán Vì giám sát mạng khổng lồ, đạt cỡ 100.000 node Nội dung Báo cáo: Chương 1: Giới thiệu tổng quan Nagios, đưa nhìn khái quát hệ thống Nagios Chương 2: Giới thiệu đặc điểm cách thức cấu hình Nagios Chương 3: Chi tiết chức hệ thống Nagios Chương 4: Các khái niệm, vấn đề liên quan đến hệ thống Nagios CHƢƠNG TỔNG QUAN VỀ NAGIOS 1.1 Chức Nagios  Giám sát trạng thái hoạt động dịch vụ mạng (SMTP, POP3, IMAP, HTTP, ICMP, FTP, SSH, DHCP, LDAP, DNS, name server, web proxy, TCP port, UDP port, cở sở liệu: mysql, portgreSQL, oracle)  Giám sát tài nguyên máy phục vụ thiết bị đầu cuối (chạy hệ điều hành Unix/Linux, Windows, Novell netware): tình trạng sử dụng CPU, người dùng log on, tình trạng sử dụng ổ đĩa cứng, tình trạng sử dụng nhớ swap, số tiến trình chạy, tệp log hệ thống  Giám sát thơng số an tồn thiết bị phần cứng host như: nhiệt độ CPU, tốc độ quạt, pin, hệ thống…  Giám sát thiết bị mạng có IP router, switch máy in Với Router, Switch, Nagios theo dõi tình trạng hoạt động, trạng thái bật tắt cổng, lưu lượng băng thông qua cổng, thời gian hoạt động liên tục (Uptime) thiết bị Với máy in, Nagios nhận biết nhiều trạng thái, tình sảy kẹt giấy, hết mực…  Cảnh báo cho người quản trị nhiều hình thức email, tin nhắn tức thời (IM), âm …nếu có thiết bị, dịch vụ gặp trục trặc  Tổng hợp, lưu giữ báo cáo định kỳ tình trạng hoạt động mạng 1.2 Đặc điểm Nagios  Các hoạt động kiểm tra thực plugin cho máy phục vụ Nagios mô đun client thiết bị người dùng cuối, Nagios định kỳ nhận thông tin từ plugin xử lý thơng tin (thơng báo cho người quản lý, ghi vào tệp log, hiển thi lên giao diện web…)  Thiết kế plugin đơn giản cho phép người dùng tự định nghĩa phát triển plugin kiểm tra dịch vụ theo nhu cầu riêng cơng cụ lập trình shell scripts, C/C++, Perl, Ruby, Python, PHP, C#  Có khả kiểm tra song song trạng thái hoạt động dịch vụ( đồng thời kiểm tra nhiều dịch vụ)  Hỗ trợ khai báo kiến trúc mạng Nagios khơng có khả nhật dạng topo mạng toàn thiết bị, dịch vụ muốn giám sát phải khai báo định nghĩa cấu hình  Gửi thơng báo đến người/nhóm người định sẵn dịch vụ/host giám sát gặp vấn đề chúng khơi phục hoạt động bình thường.(qua e-mail, pager, SMS, IM…)  Khả định nghĩa xử lý kiện thực thi có kiện sảy với host/ dịch vụ  Giao diện web cho phép xem trạng thái mạng, thông báo, history, tệp log 1.3 Kiến trúc tổ chức hoạt động 1.3.1 Kiến trúc Nagios Hệ thống Nagios gồm hai phần chính: Lõi Nagios Plugin Phần lõi nagios có chức quản lý host/dịch vụ giám sát, thu thập kết kiểm tra (check) host/dịch vụ từ plugin gửi về, biểu diễn giao diện chương trình, lưu trữ thơng báo cho người quản trị Ngồi tổng hợp đưa báo cáo tình hình hoạt động chung host/dịch vụ khoảng thời gian Plugin phận trực tiếp thực kiểm tra host/dịch vụ Mỗi loại dịch vụ có plugin riêng biệt viết để phục vụ riêng cho công việc kiểm tra dịch vụ Plugin script (Perl, C …) hay tệp biên dịch (executable) Khi cần thực kiểm tra host/dịch vụ Nagios việc gọi plugin tương ứng nhật kết kiểm tra từ chúng Với thiết kế này, hệ thống Nagios dễ dàng mở rộng phát triển Bất kì thiết bị hay dịch vụ giám sát viết plugin cho Hình bên cho ta thấy tương quan thành phần Nagios Hình 1.1 Sơ đồ tổ chức Nagios 1.3.2 Cách thức tổ chức hoạt động Nagios có cách thực thi hành động kiểm tra: 1.3.2.1 Kiểm tra dịch vụ trực tiếp Đối với dịch vụ mạng có giao thức giao tiếp qua mạng smtp, http, ftp… Nagios tiến hành kiểm tra trực tiếp dịch vụ xem hoạt động hay khơng cách gửi truy vấn kết nối dịch vụ đến server dịch vụ đợi kết trả Các plugin phục vụ kiểm tra đặt server Nagios 1.3.2.2 Chạy plugin máy xa secure shell Nagios server khơng có cách truy cập trực tiếp client để theo dõi thông tin tình trạng sử dụng ổ đĩa, swap, tiến trình … Để làm việc máy giám sát phải cài plugin cục Nagios điểu khiển plugin cục client qua secure shell ssh plugin check_by_ssh Phương pháp yêu cầu tài khoản truy cập host giám sát thực thi tất plugin cài host 1.3.2.3 Bộ thực thi plugin từ xa (NRPE - Nagios Remote Plugin Executor) NRPE addon kèm với Nagios Nó trợ giúp việc thực thi plugin cài đặt máy/thiết bị giám sát NRPE cài host giám sát Khi nhận truy vấn từ Nagios server gọi plugin cục phù hợp host này, thực kiểm tra trả kết cho Nagios server Phương pháp khơng đòi hỏi tài khoản truy cập host giám sát sử dụng ssh Tuy nhiên ssh plugin phục vụ giám sát phải cài đặt host giám sát NRPE thực thi tất loại plugin giám sát Nagios điều khiển máy cài NRPE kiểm tra thông số phần cứng, tài ngun, tình trạng hoạt động máy sử dụng NRPE để thực thi plugin yêu cầu truy vấn dịch vụ mạng đến máy thứ để kiểm tra hoạt động dịch vụ mạng http, ftp, mail… 1.3.2.4 Giám sát qua SNMP Cốt lõi giao thức SNMP (SimpleNetwork Management Protocol )là tập hợp đơn giản hoạt động giúp nhà quản trị mạng quản lý, thay đổi trạng thái thiết bị Hiện nhiều thiết bị mạng hỗ trợ giao thức SNMP Switch, router, máy in, firewall Nagios có khả sử dụng giao thức SNMP để theo dõi trạng thái client, thiết bị mạng có hỗ trợ SNMP Qua SNMP, Nagios có thơng tin tình trạng thời thiết bị Ví dụ với SNMP, Nagios biết cổng Switch, router có mở hay khơng, thời gian Uptime (chạy liên tục) bao nhiêu… 1.3.2.5 NSCA (Nagios Service Check Acceptor) Nagios coi phần mềm mạnh dễ dàng mở rộng kết hợp với phần mềm khác Nó tổng hợp thơng tin từ phần mềm kiểm tra hãng thứ ba tiến trình Nagios khác trạng thái host/dịch vụ Như Nagios không cần phải lập lịch chạy hành động kiểm tra host/dịch vụ mà ứng dụng khác thực điểu báo cáo thông tin cho Và ứng dụng kiểm tra tận dụng khả mạnh Nagios thông báo tổng hợp báo cáo Nagios sử dụng công cụ NSCA để gửi kết kiểm tra từ ứng dụng bạn server Nagios Công cụ giúp cho thông tin gửi mạng an tồn mã hóa xác thực Hình 1.2 Các cách thức thực kiểm tra Hình cho ta nhìn tổng quan cách thức kiểm tra dịch với nagios Có client giám sát cách thức khác nhau:  client 1: Nagios sử dụng plugin „check_xyz‟ cài đặt server Nagios để gửi truy vấn kiểm tra dịch vụ client( http, ftp, dns, smtp…)  client 2, 3: Nagios sử dụng plugin trung gian để chạy plugin „check_xyz‟ giám sát cài đặt trực tiếp client (bởi có dịch vụ khơng có hỗ trợ giao thức trao đổi qua mạng, ví dụ bạn muốn kiểm tra dung lượng ổ đĩa cứng trống client…)  client 4: Kiểm tra dịch vụ qua giao thức snmp, nagios server sử dụng plugin check_snmp để kiểm tra dịch vụ client có hỗ trợ giao thức SNMP Rất nhiều thiết bị mạng router, switch, máy in… có hỗ trợ giao thức SNMP  Client 5: Đây phương pháp kiểm tra bị động Nagios không chủ động kiểm tra dịch vụ mà client chủ động gửi kết kiểm tra dịch vụ cho Nagios thông qua plugin NSCA Phương pháp áp dụng nhiều giám sát phân tán Với mạng có quy mơ lớn, người ta dùng nhiều server Nagios để giám sát phần mạng Trong có server Nagios trung tâm thực tổng hợp kết từ server Nagios thông qua plugin NSCA CHƢƠNG TỔNG QUAN CẤU HÌNH 2.1 Tổng quan cấu hình 2.1.1 Các tệp cấu hình chương trình Thư mục /usr/local/nagios/etc/ - Tệp cấu hình nagios.cfg Thiết đặt tùy chọn chung Nagios, tác động đến cách thức hoạt động Nagios Trong nagios.cfg bạn khai báo đường dẫn tệp cấu hình lại, tệp log, tệp đệm… bật tắt tùy chọn cấu cho phép thơng báo, sử dụng lệnh ngoại trú, kiểm tra bị động, cách thức log, cập nhật… - Tệp cấu hình tài nguyên resource.cfg Các tệp tài nguyên dùng để lưu trữ nhãn(macro) định nghĩa người dùng, lưu trữ thông tin nhạy cảm( mật khẩu…), ẩn với CGIs Bạn định hay nhiều tùy chọn tệp tài nguyên cách sử dụng thị resource_file tệp cấu hình - Tệp cấu hình CGI cgi.cfg Tệp cấu hình CGI chứa tập thị ảnh hưởng đến hoạt động CGIs cách thức hiển thị thông tin giao diện web 2.1.2 Các tệp cấu hình đối tượng Thư mục /usr/local/nagios/etc/objects - Nơi lưu trữ tệp cấu hình đối tượng giám sát quản lý nagios Các tệp định nghĩa đối tượng sử dụng để định nghĩa host, dịch vụ, liên hệ(contacts), nhóm liên hệ(contactgroups), lệnh… nơi định nghĩa tất thứ mà bạn muốn giám sát cách mà bạn giám sát chúng Bạn định hay nhiều tệp định nghĩa đối tượng sử dụng thị cfg_file cfg_dir tệp cấu hình Các tệp cấu hình sẵn có là:  Localhost.cfg //định nghĩa máy linux  Contact.cfg //đn người dùng  Printer.cfg //đn máy in 10 Khởi động lại Nagios Chú ý lần bạn thêm định nghĩa dịch vụ vào tệpc cấu hình bạn phải kiểm chứng lại tệp đó, khởi động lại Nagios Nếu q trình kiểm chứng có lỗi phải cấu hình lại cho đến khơng lỗi khởi động lại Nagios 3.3.5 Giám sát Các dịch vụ khác Ngoài dịch vụ Nagios sẵn có plugin cung cấp việc giám sát dịch vụ: SSH, LDAP, DHCP, DNS, database, cổng TCP, cổng UDP… Phần cài đặt định nghĩa dịch vụ tham khảo phần phụ lục 3.4 Cảnh báo cho ngƣời quản trị Không phải lúc người quản trị dõi theo nắm bắt hoạt động mạng qua giao diện hệ thống giám sát Bởi hệ thống giám sát mạng cần cung cấp chức thông báo cho người quản trị qua phương tiện truyền tin email, sms, IM… Nagios cung cấp hệ thống thông báo linh hoạt qua nhiều phương tiện truyền tin khác Trong nagios, thông báo sảy host/dịch vụ thay đổi từ trạng thái sang trạng thái khác Tuy nhiên host/dịch vụ nhận thơng báo Thơng báo trước đến liên lạc phải qua nhiều lọc khác Khi kiện sảy với host/dịch vụ trước định thông báo cho người quản trị, Nagios thực kiểm tra: - Cấu hình Nagios có cho phép gửi thơng báo hay khơng.(tùy chọn enable_notifications) - Host/dịch vụ kiểm tra có thời gian lập lịch ngừng hoạt động không (downtime) Nếu host/dịch vụ thời gian downtime cách hành động kiểm tra host/dịch vụ thực thi Kết lưu lại Nagios thơng báo khơng gửi - Host/dịch vụ kiểm tra có bị Flapping khơng (nếu cấu hình bật tùy chọn phát flap) Chi tiết tình trạng Flapping có chương 28 - Từng host/dịch vụ cấu hình để thơng báo cho người quản trị số tình trạng định - Mỗi host/dịch vụ định nghĩa chu kì thời gian cho thơng báo Nếu khoảng thời gian thông báo tạo không nằm giới hạn thơng báo bị loại - Thời gian từ lần thông báo trước đến thời điểm kiểm tra lớn khoảng thời gian khai báo tùy chọn hay chưa Đây tùy chọn cấu hình khoảng thời gian hai lần thông báo kề - Cuối Nagios kiểm tra cấu hình xem người dùng Nagios nhận thơng báo tình trạng host/dịch vụ kiểm tra Chi tiết cấu hình gửi thơng báo có phần phụ lục tài liệu 3.5 Tổng hợp báo cáo Ngoài chức giám sát cảnh báo trạng thái thời thành phần mạng Nagios lập báo cáo tình trạng hoạt động thành phần mạng khoảng thời gian định Báo cáo lập với host/dịch vụ, nhóm tồn mạng với lọc trạng thái(SORT/HARD), tình trạng(OK, WARNING, CRITICAL, UNKNOWN) Từ số liệu báo cáo người quản trị nắm tình trạng hoạt động thành phần mạng khoảng thời gian định, đánh giá độ ổn định thành phần mạng Việc tổng hợp báo cáo thực đơn giản qua giao diện web 29 Chƣơng Các vấn đề liên quan 4.1 Các khái niệm Nagios 4.1.1 Kiểm tra host Host kiểm tra Nagios daemon khi: * Trong khoảng thời gian định nghĩa tùy chọn check_interval (khoảng thời gian hai lần kiểm tra kế tiếp) retry_interval (Khoảng thời gian thực kiểm tra lại để xác nhận phát host thay đổi trạng thái) định nghĩa cấu hình host * Khi dịch vụ mà host cung cấp thay đổi trạng thái Thường dịch vụ thay đổi trạng thái host thay đổi trạng thái Ví dụ Nagios phát dịch vụ HTTP thay đổi trạng thái từ CRITICAL sang OK, host cung cấp dịch vụ vừa khởi động lại chạy * Khi có host host bị đặt vào trạng thái UNREARCHABLE Đó trạng thái mà Nagios khơng liên lạc với host hay hiểu đường truyền đến host Nagios phân loại host ba trạng thái: * UP : hoạt động bình thường * DOWN: tạm dừng hoạt động * UNREACHABLE: khơng tìm thấy 4.1.2 Kiểm tra dịch vụ Dịch vụ kiểm tra Nagios daemon khi: * Trong khoảng thời gian định nghĩa tùy chọn check_interval (khoảng thời gian hai lần kiểm tra kế tiếp) retry_interval (Khoảng thời gian thực kiểm tra lại để xác nhận phát dịch vụ thay đổi trạng thái) định nghĩa cấu hình dịch vụ Nagios phân loại dịch vụ thành bốn trạng thái: 30  OK: Hoạt động bình thường  WARNING: Có thể hoạt động chưa xác khơng hoạt động  UNKNOWN: Không xác định  CRITICAL: Không hoạt động 4.1.3 Khái niệm trạng thái SORT/HARD Ví dụ ta có định nghĩa kiểm tra dịch vụ DNS sau define service{ host_name proxy service_description DNS normal_check_interval retry_check_interval max_check_attempts } Trong normal_check_interval: khoảng thời gian lần kiểm tra bình thường(là phút) retry_check_interval: gặp lỗi, sau phút kiểm tra lại để xác nhận (soft state) max_check_attempts: thực kiểm tra lại lần, lỗi sảy Nagios kết luận chắn dịch vụ thay đổi trạng thái (hard state) 31 - Vậy Nagios chắn trạng thái host/dịch vụ đặt HARD STATE Thông thường bắt đầu phát host/dịch vụ thay đổi trạng thái Nagios thực lại vài lần kiểm tra để xác nhận, tùy vào cấu hình Trong khoảng thời gian host/dịch vụ đặt SOFT STATE Khi host/dịch vụ đặt vào tình trạng SOFT STATE khơi phục lại trạng thái cũ từ tình trạng SOFT STATE khơng có thông báo gửi Tuy nhiên kiện ghi vào tệp log xem qua giao diện chương trình 4.1.4 Khái niệm FLAP Nếu trạng thái host/ dịch vụ không ổn định, thay đổi liên tục Người quản trị nhận nhiều thông báo khoảng thời gian ngắn Nó khơng gây khó chịu mà làm rối loạn việc xác định vấn đề lỗi Nagios phát vấn đề đặt trạng thái flapping Để phát tình trạng flap dịch vụ, Nagios lưu lại 21 kết kiểm tra dịch vụ gần nhất, tức tối đa lưu lại 20 lần thay đổi trạng thái dịch vụ Hình mơ tả thay đổi trạng thái dịch vụ: Từ hình ta thấy 20 lần kiểm tra, dịch vụ thay đổi trạng thái 12 lần Nagios dựa vào số liệu để thông báo dịch vụ rơi vào tình trạng flapping khởi tình trạng flapping Khi flapping sảy ra, Nagios ghi kiện vào tệp log, đặt thông tin flap vào phần comment dịch vụ dừng hành động thông báo trạng thái dịch vụ Phát flap cấu hình vị trí; tệp cấu hình nagios.cfg (cài đặt cấu hình nói chung) định nghĩa dịch vụ cụ thể Trong tệp cấu hình chính: 32 #/etc/nagios/nagios.cfg enable_flap_detection=1 // cho phép phát flap low_service_flap_threshold=5.0 //ngưỡng flap high_service_flap_threshold=20.0 //ngưỡng flap Đoạn cấu hình có nghĩa có từ lần trở lên dịch vụ ghi nhận thay đổi 20 lần kiểm tra dịch vụ đặt vào tình trạng flapping Chúng ta thiết đặt tùy chọn phát flapping đặt ngưỡng flap cho dịch vụ phần định nghĩa đối tượng dịch vụ define service{ host_name linux01 … flap_detection_enabled low_flap_threshold 6.0 high_flap_threshold 20.0 } Tương tự phát flapping host 4.1.5 Mối quan hệ cha/con host phân biệt trạng thái down/unrearchable Nagios phần mềm chưa có khả tự phát node kiến trúc mạng Công việc người dùng tự định nghĩa định theo quy tắc định Nagios coi trung tâm giám sát Các thiết bị(A) có đường kết nối vật lý trực tiếp đến server Nagios có mối quan hệ Nagios Các thiết bị kết nối trực tiếp đến A coi A Cứ kiến trúc mạng định nghĩa mở rộng qua mối quan hệ cha/con này, với Nagios trung tâm 33 Hình 4.1 Mối quan hệ host cha/con Ví dụ mạng có kiến trúc Khi ta có Switch1 coi Nagios Web, FTP, Router1 Switch1, Switch2 coi Router1 … Tất mối quan hệ phải người dùng định nghĩa qua tùy chọn parents định nghĩa đối tượng ví dụ: define host{ host_name … } define host{ host_name Switch1 … parents Nagios 34 } define host{ host_name Web … parents Switch1 } Như ví dụ hình bên dưới, ta tắt host web router1 Một hành động kiểm tra thực trả kết cho Nagios Trường hợp Nagios kết luận host web router1 trạng thái DOWN host cha Switch1 hoạt động bình thường Trong host nằm sau router1 kết luận UNREACHABLE Vì Nagios khơng thể liên lạc với chúng router1 bị tắt kéo theo đường kết nối đến host Router1 down kéo theo host liên lạc với phần lại mạng Hình 4.2 Phân biệt DOWN-UNREACHABLE 35 Việc phân biệt trạng thái DOWN-UNREACHABLE host giúp nhà quản trị dễ dàng việc xác định nguyên nhân vị trí lỗi sảy mạng nhận thông báo cố Ta xét ví dụ sau: Khi giám sát dịch vụ DNS mạng định nghĩa hình 4.2 Giả sử tình Nagios phát DNS khơng trả lời truy vấn Nó thực kiểm tra host cung cấp dịch vụ DNS( proxy) Proxy không trả lời Host cha proxy switch2 kiểm tra Switch2 không trả lời Host cha Switch2 switch1 kiểm tra Switch1 trả lời Từ Nagios kết luận Switch1 UP Con switch2 DOWN Con switch bị DOWN UNREARCHABLE DNS không hoạt động : CRITICAL Kết luận hình 4.3 Hình 4.3 Ví dụ Xác định lỗi 36 Hình 4.4 Ví dụ xác định lỗi Vậy trường hợp khắc phục cố DNS, người quản trị xác định nguyên nhân dẫn đến cố switch2 bị DOWN 4.1.6 Lập lịch downtime Có thiết bị hoạt động vào khoảng thời gian định ngày ngồi khoảng thời gian tắt Hành động tắt bật thực có tính chu kỳ thường xun Ví dụ thiết bị văn phòng, máy in … Hoặc có server cần dừng hoạt động, nâng cấp, sửa chữa Tóm lại thực tế có nhiều trường hợp trạng thái thiết bị mạng thay đổi chủ động từ phía người quản trị người quản trị kiểm sốt Với trường hợp việc gửi cảnh báo cho người quản trị không cần thiết Vì Nagios cho phép người quản trị lập lịch thời gian ngừng kiểm tra cho host/dịch vụ Khoảng thời gian gọi downtime Trong khoảng thời gian khơng có thơng báo host/dịch vụ lập lịch gửi Việc lập lịch downtime cho host/dịch vụ đơn giản thực giao diện web chương trình 37 4.2 Bộ xử lý kiện Khi trạng thái host/dịch vụ thay đổi, nagios chạy chương trình định sẵn với xử lý kiện (event handler) để xử lý tình mà khơng cần can thiệp người quản trị 4.2.1 Thời gian chạy xử lý kiện Khi host/dịch vụ :  trạng thái mềm  bắt đầu vào trạng thái cứng  Bắt đầu khơi phục lại bình thường từ trạng lỗi(mềm cứng) 4.2.2 Ví dụ event handler Ví dụ định nghĩa script khởi động lại máy in máy in bắt đầu rơi vào trạng thái lỗi kiểm tra lại đến lần thứ tình trạng lỗi sảy Sửa định nghĩa dịch vụ giám sát máy in, khai báo lệnh xử lý kiện restart-lpd define service{ host_name printserver service_description LPD event_handler restart-lpd } Định nghĩa tệp lệnh lệnh restart-lpd: define command{ command_name restart-lpd command_line $USER1$/eventhandler/restart-lpd.sh \ $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ } Lệnh gọi script có tên restart-lpd.sh đặt thư mục /usr/local/nagios/libexec/eventhandler (thông thường script đặt thư mục 38 /usr/local/nagios/libexec/) Script nhận macro làm tham số trạng thái thời dịch vụ $SERVICESTATE$ (OK,WARNING, CRITICAL, UNKNOWN), loại trạng thái $SERVICESTATETYPE$ (mềm cứng), số lần kiểm tra lại thời $SERVICEATTEMPT$ ) Đối với host macro $HOSTSTATE$, $HOSTSTATETYPE$, $HOSTATTEMPT$ 4.2.3 Script xử lý #!/bin/bash #/usr/local/nagios/libexec/eventhandlers/restart-lpd.sh #$1= Status, $2 =status type, $3 =attempt case $1 in OK) ;; WARNING) ;; CRITICAL) if [$2=="HARD" ]||[[$2=="SOFT" && $3 -eq 3]]; then echo "Restarting lpd service" /usr/bin/sudo /etc/init.d/lpd restart fi ;; UNKNOWN) ;; esac exit Với script trạng thái dịch vụ critical, loại trạng thái HARD loại trạng thái SOFT kiểm tra lại đến lần thứ dịch vụ lpd gọi với tham số restart Script thực thi với quyền người dùng Nagios (có thể khơng có quyền tạm dừng khởi động lại dịch vụ hệ thống) Vì phải sử dụng lệnh sudo để dùng quyền root khởi động lại dịch vụ lpd Nếu bạn muốn người dùng nagios có quyền với dịch vụ lpd thực sau: 39 linux:˜ # visudo Thêm dòng sau tệp cấu hình nagios nagsrv=(root)NOPASSWD: /etc/init.d/lpd Dòng cho phép người dùng nagios có quyền chạy lệnh /etc/init.d/lpd host nagsrv khơng cần mật Nếu bạn khởi động lại dịch vụ trạng thái mềm người quản trị khơng nhận thơng báo Tuy nhiên kiện ghi lại vào tệp log 4.3 Giám sát phân tán 4.3.1 Kiểm tra chủ động Khi Nagios cần kiểm tra trạng thái host/dịch vụ gọi plugin thực hành động kiểm tra Nagios nhận kết từ plugin gọi Đây cách thức kiểm tra Nagios Trong trường hợp Nagios định hành động kiểm tra thực Kiểm tra chủ động phương thức kiểm tra sử dụng nhiều Tuy nhiên có số nhược điểm ví dụ có thời gian timeout hành động kiểm tra định trước Trong số trường hợp thời gian khơng đủ để có kết xác Hình 4.5 Kiểm tra chủ động 40 4.3.2 Kiểm tra bị động Hành động kiểm tra host/dịch vụ thực ứng dụng/tiến trình bên ngồi Kết kiểm tra gửi cho Nagios xử lý Kiểm tra bị động dùng giám sát vùng mạng khác có tường lửa ngăn cách, dùng giám sát phân tán… Cách thức kiểm tra bị động: Một ứng dụng bên thực hành động kiểm tra host/dịch vụ Kết ghi tệp lệnh ngoại trú Nagios định kỳ lấy kết kiểm tra từ tệp xử lý Hình 4.6 Kiểm tra bị động 4.3.3 Giám sát phân tán Nagios phân tán việc giám sát mạng lớn cách sử dụng server trung tâm nhiều server phân tán mạng con(mạng mạng WAN, vùng mạng ngăn cách tường lửa…) Nagios gọi mạng “cluster” Server trung tâm: nhận xử lý kết kiểm tra từ server phân tán (passive check), kết tự kiểm tra qua plugin (active check) Server phân tán: thực kiểm tra chủ động (active check) host/dịch vụ gửi kết cho server trung tâm Thường với cluster nên đặt server Nagios Server gửi kết kiểm tra server trung tâm plugin có tên NSCA Chi tiết cách thức cài đặt, giao tiếp NSCA tham khảo phần phụ lục cuối tài liệu 41 TÀI LIỆU THAM KHẢO [1] Max Schubert, Nagios Enterprise Network Monitoring Including Plug-Ins and Hardware Devices, May 2008 [2] Wojciech Kocjan, Learning Nagios 3.0, Packt Publishing, October 2008 [3] Wolfgang Barth, Nagios System and Network Monitoring, No Starch Press, 2006 [4] http://nagios.org/ [5] http://community.nagios.org/ [6] http://www.monitoringexchange.org [7] http://www.nagioswiki.org 42

Ngày đăng: 05/09/2019, 20:28

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan