Hướng dẫn Nagios - Giám sát liên tục với Nagios

Hướng dẫn về Nagios: Nagios giám sát toàn bộ cơ sở hạ tầng CNTT của bạn để đảm bảo các hệ thống, ứng dụng, dịch vụ và quy trình kinh doanh đang hoạt động bình thường.

Hướng dẫn Nagios:

Tôi tin rằng có rất ít bài đăng trên Nagios và không có nhiều thông tin liên quan có sẵn trên internet. Vì vậy, tôi nghĩ rằng bài đăng này sẽ cung cấp cho bạn một sự rõ ràng về công cụ Giám sát này. Nagios giám sát toàn bộ cơ sở hạ tầng CNTT của bạn để đảm bảo hệ thống, ứng dụng, dịch vụ và quy trình kinh doanh đang hoạt động bình thường.Nó là không thể thiếu trong vòng đời DevOps và là yếu tố bắt buộc .Trong hướng dẫn Nagios này, tôi sẽ đề cập đến các chủ đề dưới đây:



  1. Tại sao chúng ta cần giám sát liên tục?
  2. Giám sát liên tục là gì?
  3. Nagios là gì?
  4. Làm thế nào để cài đặt Nagios?
  5. Cách thêm máy chủ từ xa bằng NRPE (Trình thực thi plugin từ xa của Nagios).

Hãy bắt đầu hướng dẫn Nagios này, bằng cách hiểu tại sao chúng ta cần Giám sát liên tục vì mọi thứ tồn tại đều có lý do. Vì vậy, chúng ta hãy thử tìm hiểu lý do đó.



Tại sao chúng ta cần giám sát liên tục?

Công cụ Giám sát Liên tục giải quyết mọi lỗi hệ thống (bộ nhớ thấp, máy chủ không thể truy cập, v.v.) trước khi chúng có bất kỳ tác động tiêu cực nào đến năng suất kinh doanh của bạn.

Các lý do quan trọng để sử dụng công cụ giám sát là:



  • Nó phát hiện bất kỳ sự cố mạng hoặc máy chủ nào
  • Nó xác định nguyên nhân gốc rễ của mọi vấn đề
  • Nó duy trì tính bảo mật và tính khả dụng của dịch vụ
  • Nó giám sát và khắc phục sự cố hiệu suất máy chủ
  • Nó cho phép chúng tôi lập kế hoạch nâng cấp cơ sở hạ tầng trước khi các hệ thống lỗi thời gây ra lỗi
  • Nó có thể phản hồi các vấn đề ở dấu hiệu đầu tiên của một vấn đề
  • Nó có thể được sử dụng để tự động khắc phục sự cố khi chúng được phát hiện
  • Nó đảm bảo sự cố cơ sở hạ tầng CNTT sẽ ảnh hưởng tối thiểu đến lợi nhuận của tổ chức bạn
  • Nó có thể giám sát toàn bộ cơ sở hạ tầng và quy trình kinh doanh của bạn

Vâng, nó làm rất nhiều việc hay, nhưng nó là gì?

Giám sát liên tục là gì?

Trước tiên, hãy để tôi cho bạn biết Giám sát liên tục nằm ở đâu trong vòng đời DevOps, hãy xem xét sơ đồ dưới đây:

DevOps Life-Cyce - Nagios Tutorial - Edureka



Nhìn vào sơ đồ chắc hẳn bạn đang nghĩ đây là giai đoạn cuối cùng trong vòng đời DevOps, nhưng thực tế không phải vậy. Vòng đời DevOps không có hồi kết và đó là lý do cho biểu tượng vô cực. Giám sát liên tục đi vào hình ảnh, khi ứng dụng được triển khai trên các máy chủ sản xuất.

Giám sát liên tục là tất cả về khả năng của một tổ chức để phát hiện, báo cáo, phản hồi, ngăn chặn và giảm thiểu các cuộc tấn công xảy ra trong cơ sở hạ tầng của tổ chức đó.

Giám sát liên tục thực ra không phải là mới, nó đã có từ lâu. Trong nhiều năm, các chuyên gia bảo mật của chúng tôi đang thực hiện phân tích tĩnh từ - nhật ký hệ thống, nhật ký tường lửa, nhật ký IDS, nhật ký IPS, v.v. Nhưng, nó không cung cấp phân tích và phản hồi thích hợp. Phương pháp phê duyệt Giám sát liên tục của ngày hôm nay cho chúng tôi khả năng tổng hợp tất cả các sự kiện mà tôi đã thảo luận ở trên, đồng liên hệ chúng, so sánh chúng và sau đó ước tính tình hình rủi ro của tổ chức.

Nếu chúng ta lấy tất cả các mảnh này và đảm bảo sự liên kết giữa chúng. Đây là điểm mấu chốt của Giám sát liên tục.

Hãy để tôi giải thích điều này với một ca sử dụng.Hãy xem xét sơ đồ dưới đây:

Bây giờ, hãy để tôi giải thích cho bạn sơ đồ trên:

  1. Chúng tôi có các công cụ bảo mật khác nhau, như Tường lửa, IDS, Bảo vệ điểm cuối, v.v. chúng được kết nối với hệ thống ‘Quản lý sự kiện và thông tin bảo mật.
  2. Để đạt được Giám sát liên tục, chúng ta cần có tất cả các bộ phận nói chuyện với nhau, hãy để tôi giải thích điều đó cho bạn.
  3. Vì vậy, chúng tôi có các công cụ bảo mật và chuỗi 'Điểm cuối', có thể bao gồm máy khách và máy chủ, bộ định tuyến, thiết bị chuyển mạch, thiết bị di động, v.v.
  4. Hai nhóm này sau đó có thể nói chuyện với một hệ thống Quản lý Sự kiện và Thông tin Bảo mật (SIEM), thông qua một ngôn ngữ chung và theo kiểu tự động hơn.
  5. Kết nối với SIEM này có hai thành phần quan trọng, thứ nhất là Kho dữ liệu. Bây giờ với Kho dữ liệu này, chúng tôi sẽ kết nối ‘Analytics’ và ‘Security Intelligence’.
  6. Trí thông minh bảo mật (SI) là thông tin liên quan đến việc bảo vệ tổ chức khỏi các mối đe dọa từ bên ngoài và bên trong cũng như các quy trình, chính sách và công cụ được thiết kế để thu thập và phân tích thông tin đó.
  7. SIEM này cũng được kết nối với 'Hệ thống tuân thủ và rủi ro quản trị' mà nó cung cấp về cơ bản là trang tổng quan.
  8. Đối với 'Hệ thống tuân thủ và rủi ro quản trị' này, chúng tôi đính kèm một cơ sở dữ liệu rủi ro. Điều này mang lại cho chúng tôi 'Trí thông minh có thể hành động'.
  9. Trí thông minh có thể hành động không là gì ngoài thông tin có thể được thực hiện, với ngụ ý thêm rằng các hành động Nên được thực hiện.

Vì vậy, ở đây, chúng tôi đang theo dõi các sự kiện đang diễn ra và xác định mức độ rủi ro mà chúng tôi đang gặp phải. Với điều này, chúng ta có thể tương quan các sự kiện tại SIEM. Chúng tôi có thể thực hiện Hành vi mạng và Phát hiện bất thường tại 'Công cụ phân tích'. Đây là tất cả những gì về Giám sát liên tục:

Sự hợp nhất của một tổ chứccông cụ bảo mật,sự tổng hợp,bình thường hóa vàtương quan của dữ liệu được tạo ra bởi các công cụ bảo mật. Việc phân tích dữ liệu đó, dựa trên các mục tiêu rủi ro và kiến ​​thức về mối đe dọa của tổ chức cũng như phản ứng gần thời gian thực đối với các rủi ro được xác định.

'Nếu bạn không thể đo lường nó, bạn không thể quản lý nó'. Tôi hy vọng bạn biết những gì tôi đang nói về.

Tiếp theo trong hướng dẫn Nagios này, tôi sẽ giới thiệu cho bạn một trong những công cụ giám sát nổi tiếng nhất là ‘Nagios’.

Nagios là gì?

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 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. Với Nagios, bạn không cần phải giải thích lý do tại sao sự cố cơ sở hạ tầng không rõ ràng lại ảnh hưởng đến lợi nhuận của tổ chức bạn.

Hãy để tôi giải thích cho bạn cách hoạt động của Nagios.Hãy xem xét sơ đồ dưới đây:

Nagios chạy trên một máy chủ, thường là một daemon hoặc một dịch vụ.

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. Người ta có thể xem thông tin trạng thái bằng giao diện web. Bạn cũng có thể nhận thông báo qua email hoặc SMS nếu điều gì đó xảy ra.
Daemon Nagios hoạt động giống như một bộ lập lịch chạy một số tập lệnh nhất định vào những 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.

Bổ sung: Nhữnglà 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 dịch vụ. 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à dịch vụ trên mạng của bạn.

Bây giờ chúng ta hãy thảo luận về kiến ​​trúc của nó.

Kiến trúc Nagios:

  • Nagios được xây dựng trên kiến ​​trúc máy chủ / đại lý.
  • Thông thường, trên mạng, một máy chủ Nagios đang chạy trên một máy chủ lưu trữ và các Plugin tương tác với cục bộ và tất cả các máy chủ từ xa cần được giám sát.
  • Các plugin này sẽ gửi thông tin đến Bộ lập lịch, sẽ hiển thị thông tin đó trong GUI.

Tôi cũng cần giải thích cho bạn NRPE (Người thực thi plugin từ xa của Nagios).

NRPE addon được thiết kế để cho phép bạn thực thi các plugin Nagios trên các máy Linux / Unix từ xa. Lý do chính để làm điều này là cho phép Nagios giám sát tài nguyên “cục bộ” (như tải CPU, sử dụng bộ nhớ, v.v.) trên các máy từ xa. Vì các tài nguyên công cộng này thường không được tiếp xúc với các máy bên ngoài, một tác nhân như NRPE phải được cài đặt trên các máy Linux / Unix từ xa.

Hãy xem xét sơ đồ dưới đây:

  • Plugin check_nrpe, nằm trên máy giám sát cục bộ.
  • Daemon NRPE, chạy trên máy Linux / Unix từ xa.
  • Có một kết nối SSL (Lớp cổng bảo mật) giữa máy chủ giám sát và máy chủ từ xa như thể hiện trong sơ đồ trên.

Bây giờ trong hướng dẫn Nagios này, đã đến lúc một số Thực hành .

Hãy bắt đầu bằng cách cài đặt Nagios Core

Cài đặt Nagios Core:

Quá trình hoàn chỉnh để cài đặt Nagios có thể được tóm tắt trong bốn bước:

  1. Cài đặt các gói bắt buộc trong máy chủ giám sát
  2. Cài đặt Nagios Core, Nagios Plugins và NRPE (Nagios Remote Plugin Executor)
  3. Đặt mật khẩu Nagios để truy cập giao diện web
  4. Cài đặt NRPE trong máy khách

Bước - 1: Cài đặt các gói bắt buộc trên máy chủ giám sát:

Ghé thăm trang web: http://dl.fedoraproject.org/pub/epel/6/

Nhấp vào i386, và sau đó bạn sẽ được chuyển hướng đến một trang.

Vì tôi đang sử dụng CentOS 6, vì vậy tôi sẽ nhấp chuột phải và sao chép vị trí liên kết của ‘ epel-release-6-8.noarch.rpm ‘, Như được hiển thị trong ảnh chụp màn hình ở trên.

Mở thiết bị đầu cuối và sử dụng rpm -Uvh lệnh và dán liên kết.

Chúng tôi cần tải xuống thêm một kho lưu trữ nữa, để truy cập trang web ‘ http://rpms.famillecollet.com/enterprise/ '

Nhấp chuột phải và sao chép vị trí liên kết cho ‘ Rem-release-6.rpm '

Một lần nữa mở thiết bị đầu cuối và sử dụng rpm -Uvh lệnh và dán liên kết.

Tốt thôi, vậy là chúng ta đã hoàn thành các điều kiện tiên quyết. Hãy tiến hành bước tiếp theo.

Bước - 2: Cài đặt Nagios Core, Nagios Plugins và NRPE (Nagios Remote Plugin Executor):

Thực hiện lệnh dưới đây trong terminal:

yum -y cài đặt nagios nagios-plugins-tất cả nagios-plugins-nrpe nrpe httpd php

Điều này sẽ cài đặt Nagios, Plugin Nagios, Plugin cho NRPE, NRPE, Apache và PHP

Máy chủ web Apache được yêu cầu để giám sát trạng thái máy chủ web hiện tại.

Php được sử dụng để xử lý nội dung động của ngày trang web.

Tiếp theo, chúng ta cần kích hoạt dịch vụ Apache và Nagios:

chkconfig httpd trên && chkconfig nagios trên

Bước tiếp theo của chúng tôi là khởi động Nagios và Apache:

dịch vụ httpd start && service nagios start

Bây giờ, tôi sẽ bật bộ nhớ hoán đổi ít nhất 1GB. Đã đến lúc tự tạo tệp hoán đổi bằng lệnh dd:

dd if = / dev / zero of = / swap bs = 1024 count = 2097152

Về cơ bản, Swap được sử dụng để giải phóng một số thông tin không được truy cập thường xuyên khỏi RAM và di chuyển nó đến một phân vùng cụ thể trên ổ cứng của chúng ta.

Bây giờ bạn đã tạo phân vùng hoán đổi, hãy sử dụng lệnh mkswap để thiết lập phân vùng hoán đổi. Điều này sẽ chuẩn bị cho tệp hoán đổi bằng cách tạo một khu vực hoán đổi linux.

mkswap / hoán đổi

Để ngăn không cho tệp có thể đọc được trên toàn thế giới, bạn nên thiết lập các quyền chính xác trên tệp hoán đổi:

rễ băm nhỏ. / swap chmod 0600 / swap

Nếu bạn không thấy lỗi, không gian hoán đổi của bạn đã sẵn sàng để sử dụng. Để kích hoạt nó ngay lập tức, hãy nhập:

hoán đổi / hoán đổi

Tệp này sẽ tồn tại trên máy chủ riêng ảo cho đến khi máy khởi động lại. Bạn có thể đảm bảo rằng hoán đổi là vĩnh viễn bằng cách thêm nó vào tệp fstab.

echo / swap swap swap swap mặc định 0 0 >> / etc / fstab

Hạt nhân hệ điều hành có thể điều chỉnh tần suất nó dựa vào hoán đổi thông qua một tham số cấu hình được gọi là sự tỉnh táo .

Để tìm cài đặt swappiness hiện tại, hãy nhập:

cat / proc / sys / vm / swappiness

Swapiness có thể là một giá trị từ 0 đến 100. Swappiness gần 100 có nghĩa là hệ điều hành sẽ hoán đổi thường xuyên và thường xuyên, quá sớm. Mặc dù hoán đổi cung cấp thêm tài nguyên nhưng RAM nhanh hơn nhiều so với không gian hoán đổi. Bất cứ khi nào một thứ gì đó được chuyển từ RAM để hoán đổi, nó sẽ chậm lại.

Giá trị hoán đổi bằng 0 có nghĩa là hoạt động sẽ chỉ dựa vào hoán đổi khi nó thực sự cần thiết. Chúng ta có thể điều chỉnh swappiness bằng lệnh sysctl. Để làm cho VPS của bạn tự động áp dụng cài đặt này mỗi khi khởi động, bạn có thể thêm cài đặt này vào /etc/sysctl.conftập tin:

echo vm.swappiness = 0 >> /etc/sysctl.conf && sysctl -p

Cuối cùng, chúng ta đã hoàn thành bước thứ hai.

Hãy tiếp tục và đặt mật khẩu Nagios để truy cập giao diện web.

Bước - 3: Đặt mật khẩu Nagios để truy cập giao diện web:

Đặt mật khẩu để truy cập giao diện web, sử dụng lệnh dưới đây:

htpasswd -c / etc / nagios / passwd nagiosadmin

Nhập mật khẩu và xác nhận bằng cách nhập lại.

Bây giờ, hãy mở trình duyệt. Tại đây, hãy nhập IP công cộng hoặc tên máy chủ / nagios của bạn. Hãy xem xét ví dụ dưới đây:

Tại đây, hãy cung cấp tên người dùng và mật khẩu. Theo mặc định, tên người dùng là nagiosadmin, và mật khẩu là những gì bạn đã đặt ở bước trước. Cuối cùng, nhấn OK.

Sau đó, bạn sẽ chuyển hướng đến bảng điều khiển Nagios Core.

Bạn có thể nhấp vào máy chủ và xem những gì mà tất cả máy chủ lưu trữ mà Nagios Core của bạn hiện đang theo dõi.

Bạn có thể nhận thấy rằng nó chỉ giám sát một máy chủ lưu trữ, tức là localhost. Nếu tôi muốn Nagios Core giám sát một máy chủ từ xa, tôi cần cài đặt NRPE trong máy chủ từ xa đó. Điều này đưa chúng ta đến bước tiếp theo, cài đặt NRPE In client / machine mà bạn muốn Nagios giám sát.

Bước - 4: Cài đặt NRPE trong ứng dụng khách:

Được rồi, hãy cài đặt NRPE trong máy khách.

Trước tiên, bạn cần cài đặt các gói cần thiết như tôi đã làm trên máy chủ Nagios của mình. Vì vậy, chỉ cần thực hiện các lệnh tương tự, hãy xem xét các ảnh chụp màn hình dưới đây:

Bây giờ cài đặt Nagios, Nagios Plugins và NRPE trong ứng dụng khách:

yum -y cài nagios nagios-plugins-all nrpe

Sau khi nó được cài đặt, hãy bật dịch vụ NRPE:

chkconfig nrpe trên


Bước tiếp theo của chúng tôi là chỉnh sửa nrpe.cfg tập tin. Tôi sẽ sử dụng chúng tôi trình chỉnh sửa, bạn cũng có thể chọn bất kỳ trình chỉnh sửa nào khác:

Bạn cần thêm địa chỉ IP của máy chủ giám sát của mình, trong dòng máy chủ được phép, hãy xem ảnh chụp màn hình bên dưới:

Ở đây, địa chỉ IP của máy chủ giám sát của tôi là 192.168.56.101.

Bây giờ, chúng ta cần thiết lập các quy tắc tường lửa để cho phép kết nối giữa máy chủ giám sát và máy khách.

iptables -N NRPE

-Một tùy chọn được sử dụng để nối quy tắc mới vào cuối chuỗi. Nếu bạn muốn đặt nó ở một nơi khác trong chuỗi, bạn có thể sử dụng tùy chọn -I cho phép bạn chỉ định vị trí của quy tắc mới.

Lệnh dưới đây chấp nhận các yêu cầu tcp trên các cổng 5666.

iptables -I INPUT -s 0/0 -p tcp --dport 5666 -j NRPE iptables -I NRPE -s 192.168.56.101 -j CHẤP NHẬN iptables -A NRPE -s 0/0 -j DROP

Điều này về cơ bản sẽ định cấu hình iptables để chấp nhận các gói từ một máy chủ cụ thể, trong trường hợp của tôi - 192.168.56.101 và bỏ các gói từ các máy chủ khác.

Bây giờ, tôi sẽ lưu các cấu hình này:

/etc/init.d/iptables lưu

Bắt đầu dịch vụ NRPE ngay bây giờ.

bắt đầu nrpe dịch vụ

Bây giờ quay lại máy chủ Giám sát.

Ở đây, tôi cần chỉnh sửa tệp nagios.cfg.

vi /etc/nagios/nagios.cfg

Bỏ ghi chú dòng - cfg_dir = etc / nagios / máy chủ

Tạo thư mục 'máy chủ' để sử dụng mkdir chỉ huy.

mkdir / etc / nagios / server /

Thay đổi thư mục làm việc của bạn thành máy chủ.

cd / etc / nagios / máy chủ

Tạo một tệp mới trong thư mục này với phần mở rộng .cfg và chỉnh sửa nó. Tôi sẽ đặt tên nó là client.cfg và tôi sẽ sử dụng chúng tôi người biên tập.

vi /etc/nagios/servers/client.cfg

Ở đây thêm các dòng dưới đây:

sử dụng trình lặp trong java

Về cơ bản, điều này bao gồm các loại dịch vụ mà tôi muốn theo dõi. Cung cấp tên máy chủ của máy và địa chỉ ip của máy mà bạn muốn Nagios theo dõi.

Tương tự, bạn có thể thêm số lượng dịch vụ mà bạn muốn theo dõi. Các cấu hình giống nhau có thể được sử dụng để thêm ‘n’ số lượng khách hàng.

Bước cuối cùng, hãy thiết lập quyền cho thư mục một cách chính xác và khởi động lại Nagios.

chown -R nagios. / etc / nagios /

Bây giờ, khởi động lại Nagios

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

Mở trình duyệt và nhập lại tên máy chủ hoặc ip công khai / nagios /. Trong trường hợp của tôi, đó là localhost / nagios /.

Nhấp vào máy chủ để xem tất cả các máy mà Nagios hiện đang theo dõi.

Ở đây bạn có thể nhận thấy, nó hiện đang giám sát máy khách (tên máy chủ của máy mà tôi muốn Nagios giám sát). Về cơ bản, chúng tôi đã thêm một máy chủ từ xa sử dụng NRPE.

Tôi hy vọng bạn đã thích đọc hướng dẫn Nagios này, tôi sẽ sớm có thêm các blog về Nagios.

Nếu bạn thấy hướng dẫn Nagios này có liên quan, hãy xem của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Khóa đào tạo Chứng chỉ Edureka DevOps giúp người học có được kiến ​​thức chuyên môn về các quy trình và công cụ DevOps khác nhau như Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack và GIT để tự động hóa nhiều bước trong SDLC.

Có một câu hỏi cho tôi? Vui lòng đề cập đến nó trong phần bình luận và tôi sẽ liên hệ lại với bạn.