Tải bản đầy đủ (.pdf) (24 trang)

(Tiểu luận) báo cáo môn an toàn hệ thống thông tin đề tài hệ thống giám sát nagios

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.14 MB, 24 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>BỘ GIÁO DỤC VÀ ĐÀO TẠO</b>

<b>TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH</b>

<b>BÁO CÁO MƠN AN TỒN HỆ THỐNG THƠNG TINĐỀ TÀI: HỆ THỐNG GIÁM SÁT NAGIOS</b>

<b>GIẢNG VIÊN: THS. LƯU QUANG PHƯƠNG</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>MỤC LỤC</b>

<b>I.TỔNG QUAN NAGIOS...3</b>

<b>1.Định nghĩa...3</b>

<b>2.Các chức năng của Nagios...3</b>

<b>3.Cách thức hoạt động của Nagios...4</b>

<b>II.CÀI ĐẶT DỊCH VỤ NAGIOS TRÊN CENTOS 7...4</b>

<b>1.Cài đặt các yêu cầu tiền điều kiện:...4</b>

<b>2.Tải Nagios Core và Nagios Plugins:...4</b>

<b>3.Cài đặt Nagios Core:...5</b>

<b>4. Cài đặt và cấu hình Nagios Plugins:...5</b>

<b>5. Tạo người dùng và giao diện truy cập:...6</b>

<b>6. Khởi động dịch vụ:...6</b>

<b>7. Vơ hiệu hóa SELinux...6</b>

<b>8. Truy cập giao diện Nagios:...6</b>

<b>9. Sau mỗi khởi động máy cần khởi động lại nagios...6</b>

<b>10. Giao diện giám sát của Nagios Core...7</b>

<b>III.THÊM MÁY WINDOW VÀO HỆ THỐNG GIÁM SÁT NAGIOS...7</b>

<b>IV.THÊM MÁY CENTOS 7 VÀO HỆ THỐNG GIÁM SÁT NAGIOS...9</b>

<b>V.NAGIOS CẢNH BÁO QUA EMAIL...13</b>

<b>VI.BIỂU ĐỒ THEO DÕI...19</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>I.TỔNG QUAN NAGIOS1. Định nghĩa</b>

- Nagios là một ứng dụng phần mềm mã nguồn mở dành cho các hệ thống máy tính. Nó được sử dụng để giám sát hệ thống, mạng và cơ sở hạ tầng. Tên ban đầu là NetSaint, được phát triển bởi Ethan Galstad và một nhóm các Developer vào năm 1999. Ứng dụng phần mềm này được viết bằng ngôn ngữ C, chủ yếu được thiết kế để chạy trên hệ điều hành Linux, đồng thời nó cũng có thể chạy với hệ điều hành Unix và Windows.

- Nagios được sử dụng để giám sát liên tục các hệ thống, ứng dụng, dịch vụ và quy trình kinh doanh, v.v. trong văn hóa DevOps. Trong trường hợp xảy ra sự cố, Nagios có thể thơng báo cho nhân viên kỹ thuật về sự cố, cho phép họ bắt đầu các quy trình khắc phục trước khi sự cố ngừng hoạt động ảnh hưởng đến quy trình kinh doanh, người dùng cuối hoặc khách hàng.

- Ứng dụng phần mềm này có sẵn trong hai phiên bản sau:

Nagios Core: Nagios còn được gọi là Nagios Core, là một sản phẩm mã nguồn mở được phát hành vào ngày 1 tháng 3 năm 2002.

Nagios XI: Là một phiên bản thương mại của Nagios, cung cấp các thành phần và công cụ tiên tiến để giám sát. Phiên bản này cần có license phần mềm và được sử dụng miễn phí 30 ngày.

<b>2. Các chức năng của Nagios</b>

- Nagios là một cơng cụ giám sát mạnh mẽ giúp tăng tính khả dụng của các dịch vụ, máy chủ, ứng dụng và quy trình.. Cơng cụ này giúp tìm ra các lỗi giao thức, sự cố mạng và sự cố máy chủ để có thể dễ dàng phát hiện và khắc phục sự cố. Cụ thể như:

Nagios xác định tất cả các loại sự cố máy chủ và mạng, giúp người dùng phân tích nguyên nhân gốc rễ của sự cố. Nhờ đó, người dùng có thể đưa ra một giải pháp lâu dài cho các sự cố xảy ra thường xun.

Nagios sàng lọc tồn bộ quy trình kinh doanh và cơ sở hạ tầng end-to-end và cho phép người dùng khắc phục các vấn đề về hiệu suất của máy chủ. Nó cũng giúp người dùng lập kế hoạch cơ sở hạ tầng của mình và cập nhật cho phù hợp để tránh các ứng dụng lỗi thời gây ra một số vấn đề. Nagios sử dụng một single pass để giám sát toàn bộ cơ sở hạ tầng.

Việc bảo trì và bảo mật của máy chủ có thể được chuẩn hóa và quản lý bởi Nagios, đồng thời tự động khắc phục các sự cố, ngay cả trong các tình huống quan trọng. Nếu có bất kỳ biến động nào trong hệ thống, nó sẽ kích hoạt cảnh báo để ngăn chặn các trường hợp xấu xảy ra.

Nagios có cơ sở dữ liệu với độ tin cậy cao và hệ thống theo dõi nhật ký hiệu quả với giao diện web đầy đủ thơng tin.

Nagios giúp người dùng tìm ra sự cố máy chủ và trục trặc mạng. Nó theo dõi định kỳ các vấn đề về hiệu suất của máy chủ. Những vấn đề này có thể được tự động khắc phục và tìm thấy tại thời điểm giám sát. Nagios sử dụng tất cả cấu trúc liên kết để xác định các phần phụ thuộc.

Nagios được sử dụng cho các dịch vụ mạng giám sát định kỳ như SMTP, HTTP, NNTP, ICMP, FTP, POP, SNMP,…. bằng cách sử dụng máy chủ mẹ, Nagios có thể xác định hệ thống phân cấp của máy chủ mạng.

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>3. Cách thức hoạt động của Nagios</b>

- Nagios chạy trên một máy chủ, thường là một daemon hoặc một service. Sau khi được cài đặt và cấu hình, daemon Nagios (phần mềm nền) sẽ liên tục kiểm tra (cứ 5 phút một lần theo mặc định) cho các service mà nó được cấu hình.

- Nó chạy định kỳ các plugin nằm trên cùng một máy chủ, chúng liên hệ với các máy chủ hoặc máy chủ trên mạng của bạn hoặc trên internet. Bạn có thể xem thơng tin trạng thái bằng giao diện web, hoặc nhận thông báo qua email hoặc SMS nếu có vấn đề gì xảy ra. (Plugin: Đây là các tập lệnh hoặc tập lệnh thực thi đã được biên dịch (tập lệnh Perl, tập lệnh shell, v.v.) có thể được chạy từ một dòng lệnh để kiểm tra trạng thái hoặc một máy chủ hoặc service. Nagios sử dụng kết quả từ các plugin để xác định trạng thái hiện tại của các máy chủ và network service).

- Daemon Nagios hoạt động giống như một scheduler chạy các tập lệnh nhất định tại một số thời điểm nhất định. Nó lưu trữ kết quả của các tập lệnh đó và sẽ chạy các tập lệnh khác nếu những kết quả này thay đổi.

- Khi service ngừng hoạt động hoặc chỉ số hiệu suất của nó vượt quá ngưỡng - nó có thể cảnh báo cho bạn về sự gián đoạn để bạn có thể điều tra. Nagios có ba mức cảnh báo:

<b>Success khi service hoạt động tốt</b>

<b>Warning khi đạt đến một số ngưỡng nhưng không nghiêm trọng đối với hoạt động của </b>

service (chẳng hạn như việc sử dụng 80% dung lượng ổ đĩa là một vấn đề, nhưng chưa phải là một vấn đề nghiêm trọng)

<b>Error khi service ngừng hoạt động hoặc đạt đến một ngưỡng nhất định (sử dụng 100% </b>

dung lượng ổ đĩa)

<b>1. Cài đặt các yêu cầu tiền điều kiện:</b>

sudo -su

yum update

Trước khi cài đặt Nagios Core, bạn cần cài đặt các yêu cầu tiền điều kiện như Apache, PHP, GCC và các thư viện liên quan.

yum install httpd php gcc glibc glibc-common gd gd-devel make net-snmp

<b>2. Tải Nagios Core và Nagios Plugins:</b>

Tải Nagios Core và Nagios Plugins từ trang web chính thức của Nagios hoặc sử dụng lệnh wget hoặc curl

<b>Too long to read onyour phone? Save to</b>

read later on your computer

Save to a Studylist

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>3. Cài đặt Nagios Core:</b>

Thêm một group mới nagcmd

Để tạo một nhóm mới trên hệ thống Linux, bạn có thể sử dụng lệnh groupadd. Dưới đây là cách tạo một nhóm mới, ví dụ với tên "nagcmd":

groupadd nagcmd

Lệnh trên sẽ tạo một nhóm có tên "nagcmd" trên hệ thống của bạn. Sau khi bạn đã tạo nhóm, bạn có thể sử dụng nhóm này để gán quyền truy cập cho người dùng hoặc tiến hành các hoạt động quản trị khác. Nếu bạn đã tạo nhóm "nagcmd" và muốn thêm người dùng vào nhóm này, bạn có thể sử dụng lệnh usermod hoặc chỉnh sửa tệp /etc/group:

Tạo người dùng tên “nagios”

useradd nagios Sử dụng usermod: usermod -a -G nagcmd nagios

Di chuyển vào thư mục Nagios Core và thực hiện cài đặt:

<b>4. Cài đặt và cấu hình Nagios Plugins:</b>

Di chuyển vào thư mục Nagios Plugins và thực hiện cài đặt:

cd ../nagios-plugins-2.3.3

./configure --with-nagios-user=nagios --with-nagios-group=nagios

make install

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>5. Tạo người dùng và giao diện truy cập:</b>

Tạo người dùng nagios và gán mật khẩu cho người dùng: htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

<b>6. Khởi động dịch vụ:</b>

Khởi động Apache và dịch vụ Nagios: service httpd start

service nagios start

<b>7. SElinux có thể gây ra một số lỗi trong q trình demo, vậy nên cần vơ hiệu hóa </b>

service nagios restart

<b>8. Truy cập giao diện Nagios:</b>

Mở trình duyệt và truy cập vào địa chỉ IP của máy chủ với /nagios (ví dụ: http://your_server_ip/nagios). Sử dụng tên người dùng nagiosadmin và mật khẩu bạn đã tạo để đăng nhập vào giao diện Nagios. Dùng lệnh hostname -I để kiểm tra địa chỉ ip của host

<b>9. Sau mỗi khởi động máy cần khởi động lại nagios</b>

Systemctl start httpd Systemctl start nagios

Cho phép nagios khởi động cùng với hệ thống: chkconfig nagios on Cho phép dịch vụ web khởi động cùng với hệ thống: systemctl enable httpd

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>10. Giao diện giám sát của Nagios Core</b>

<b>III. THÊM MÁY WINDOW VÀO HỆ THỐNG GIÁM SÁTNAGIOS</b>

<b>1. Tải NSClient++ vào máy window ở: class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

server (check_nt)

Tiến hành cài đặt

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>2. Ở máy nagios, chỉnh file cấu hình Nagios:</b>

use windows-server ; Inherit default values from a template hostname winserver ; The name we're giving to this host alias My Windows Server ; A longer name associated with the host address IP_address_of windows client ; IP address of the host }

Khởi động lại dịch vụ nagios

<b>systemctl restart nagios.service</b>

<b>3. Vào máy window, theo đường dẫn C:\Program Files\NSClient++ vào file nsclient (Configuration settings), chỉnh sửa: </b>

Vào Service, khởi động lại NSCLient

<b>4. Tại máy window, tắt tường lửa5. Dùng máy nagios ping đến window</b>

<b>IV. THÊM MÁY CENTOS 7 VÀO HỆ THỐNG GIÁM SÁTNAGIOS</b>

<b>1. Cài Đặt Các Gói Phụ Thuộc Yêu Cầu</b>

yum install -y gcc glibc glibc-common openssl openssl-devel perl wget

Tải gói plugin NRPE:

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

wget --no-check-certificate -O nrpe.tar.gz

echo >> /etc/services # service file configuration

echo '# Nagios services' >> /etc/services

echo 'nrpe 5666/tcp' >> /etc/services

make install-init

systemctl enable nrpe.service

nano /usr/local/nagios/etc/nrpe.cfg

allowed_hosts=127.0.0.1,host_ip #add host server id address

systemctl start nrpe.service

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

cd /usr/local/nagios/etc/objects

cp localhost.cfg client.cfg

chown nagios:nagios client.cfg

nano client.cfg

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>#Thêm địa chỉ IP và thay đổi tên host của máy linux client ở trong file client.cfg </b>

<b>#Thay thế các localhost trong các service sang hostname của máy client </b>

<b># Comment đoạn filegroup</b>

<b>5. Khởi động lại dịch vụ: service nagios restart </b>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<b>V.NAGIOS CẢNH BÁO QUA EMAIL</b>

<b>1. Chỉnh sửa file contact.cfg </b>

contact_name nagiosadmin ; Short name of user alias Nagios Admin ; Full name of user email ;Thêm email nhận cảnh báo

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>Thêm vào đoạn lệnh sau:</b>

set smtp=smtps://smtp.gmail.com:465 set smtp-auth=login

set smtp-auth-user= #email nhận cảnh báo set smtp-auth-password=secret_token_of_your_mail_server #mật khẩu set ssl-verify=ignore

set nss-config-dir=/etc/pki/nssdb/

<b>Thoát ra, gõ lệnh: </b>

echo "hi, folks" | mail -v -s "hello" #email nhận cảnh báo

<b>3. Chỉnh sửa file commands.cfg</b>

command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type:

$NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\ nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | <b>/usr/bin/mailx</b> -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$ }

define command {

command_name notify-service-by-email

command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | <b>/usr/bin/mailx</b> -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$

}

<b>4. Kiểm tra lỗi</b>

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<b>5. Khởi động lại nagios</b>

systemctl restart nagios

<b>6. Cài đặt các phụ thuộc được đề cập dưới đây trên máy chủ nagios</b>

yum install mailx -y yum install sendmail -y yum install sendmail* -y

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>Ở mỗi host, thêm vào đoạn:</b>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<b>Nagios cảnh báo dịch vụ SSH máy linux-client đang tắt</b>

<b>Nagios cảnh báo máy winserver đang tắt</b>

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b>VI. BIỂU ĐỒ THEO DÕI</b>

<b>1. Cài đặt các gói cần thiết</b>

yum install -y rrdtool perl-rrdtool perl-Time-HiRes php-gd systemctl enable npcd.service systemctl start npcd.service systemctl restart httpd.service

<b>5. Cấu hình Nagios Core để gửi dữ liệu đến PNP4Nagios</b>

5.1. Thay đổi thơng tin cấu hình trong file: nano /usr/local/nagios/etc/nagios.cfg

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

5.3. Khởi động lại dịch vụ: service nagios restart

<b>6. Xác minh PNP4Nagios hoạt động:</b>

ls -la /usr/local/pnp4nagios/var/perfdata/localhost/ Nếu xuất hiện các dòng lệnh sau, tức PNP4Nagios đang hoạt động:

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

Hoặc có thể truy cập web interface của PNP4Nagios: http://nagios_server/pnp4nagios/ Trong đó: <b>nagios_server </b>là địa chỉ IP của máy server của nagios

Your environment passed all requirements. Remove or rename the /usr/local/pnp4nagios/share/install.php file now.

Remove file install.php: rm -f /usr/local/pnp4nagios/share/install.php Sau đó, refresh trang web, các đồ thị Nagios sẽ xuất hiện:

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

Nagios Core sử dụng lệnh <b>action_url</b> trong định nghĩa đối tượng để cung cấp biểu tượng khi xem đối tượng máy chủ hoặc dịch vụ trong giao diện web

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

service nagios restart

Bằng cách click vào biểu tượng đồ thị, sẽ xuất hiện các đồ thị của host hay service trong PNP4Nagios

</div>

×