1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Chuyên đề IT monitoring TRIỂN KHAI hệ THỐNG GIÁM sát và CẢNH báo QUA EMAIL, SMS (DÙNG USB 3g) với NAGIOS

20 149 1

Đ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 20
Dung lượng 0,96 MB

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

Nội dung

Biên dịch và cài đặt Nagios - Giải nén gói mã nguồn của Nagios và chuyển vào thư mục mới được tạo ra # tar xzf nagios-3.4.1.tar.gz # cd nagios - Chạy configure script với tham số tru

Trang 1

Chuyên đề IT Monitoring TRIỂN KHAI HỆ THỐNG GIÁM SÁT VÀ CẢNH BÁO QUA

EMAIL, SMS (DÙNG USB 3G) VỚI NAGIOS

Mẫn Thắng | thang.manvan@lactien.com

https://manthang.wordpress.com https://www.facebook.com/vninfosec

Tp Hồ Chí Minh, tháng 9/2012

Trang 2

MỤC LỤC

LỜI NÓI ĐẦU 3

VỀ TÁC GIẢ 4

1 Cài đặt Nagios trên CentOS 5

1.1 Yêu cầu chuẩn bị 5

1.2 Các bước thực hiện 5

2 Giám sát các máy Unix/Linux 7

2.1 Yêu cầu chuẩn bị 7

2.2 Các bước thực hiện 8

2.2.1 Thực hiện trên máy Linux/UNIX ở xa 8

2.2.2 Thực hiện trên máy Nagios 9

3 Kiểm tra trạng thái của Oracle Database 12

3.1 Yêu cầu và chuẩn bị 12

3.2 Các bước thực hiện 12

3.2.1 Thực hiện trên máy Oracle Database 12

3.2.2 Thực hiện trên máy Nagios 12

4 Gửi thông báo qua SMS bằng USB 3G 13

4.1 Yêu cầu chuẩn bị 14

4.2 Các bước thực hiện 14

4.2.1 Kết nối USB 3G tới máy Nagios 14

4.2.2 Biên dịch và cài đặt Gammu 14

4.2.3 Cấu hình Gammu để gửi SMS 15

4.2.4 Cấu hình Nagios để gửi SMS theo nhóm 16

5 Gửi thông báo qua email với SendEmail 18

5.1 Các bước thực hiện 18

Trang 3

LỜI NÓI ĐẦU

Ngày nay, hệ thống giám sát đóng một vai trò quan trọng giúp theo dõi, kiểm tra sức khỏe, cung

cấp thông tin và đưa ra cảnh báo khi có vấn đề xảy ra với các thành phần trong hạ tầng, ứng dụng

công nghệ thông tin của tổ chức Một hệ thống giám sát tốt cần có khả năng phát hiện nhanh

chóng và chính xác những sự cố xảy ra và kịp thời gửi thông báo qua nhiều phương tiện như màn

hình, email, tin nhắn tới người quản trị hệ thống

Nhằm đáp ứng nhu cầu thực tế của nhiều tổ chức và doanh nghiệp trong việc giám sát và cảnh

báo kịp thời tình trạng của hệ thống, tài liệu này sẽ đi vào tìm hiểu và cấu hình tính năng gửi

thông báo của Nagios qua email và qua SMS sử dụng thiết bị USB 3G làm modem Ngoài ra, tài

liệu còn cung cấp thêm hướng dẫn giúp kiểm tra trạng thái up/down của Oracle Database và máy

Unix/Linux sử dụng các plugin của Nagios Riêng việc thực hiện cảnh báo qua SMS đã được tác

giả thực hiện thành công trên cả môi trường ảo hóa lẫn máy chủ thực và bước đầu làm việc tốt

với thiết bị D-Com 3G của Viettel

Tài liệu thích hợp với các quản trị viên đã làm quen với hệ điều hành Linux và có kiến thức cơ

bản về công cụ giám sát mạng Nagios Dù đã thử nghiệm kỹ lưỡng nhưng có thể vẫn còn thiếu

sót nên tác giả rất mong nhận được phản hồi tích cực từ mọi người

Chân thành cảm ơn!

Trang 4

VỀ TÁC GIẢ

Mẫn Thắng hiện đang là Kỹ sư Hệ thống tại Phòng Bảo mật và Tích hợp thuộc Công ty Cổ phần

Tin học Lạc Tiên, với chuyên môn là các giải pháp ứng dụng, tích hợp trên nền mã nguồn mở và

các dịch vụ tư vấn, thiết kế hệ thống, hạ tầng CNTT theo hướng bảo mật, đánh giá và khắc phục

lỗ hổng về an ninh thông tin cho các tổ chức và doanh nghiệp Ngoài giờ làm, tác giả còn thích

chia sẻ, trao đổi với cộng đồng về các tin tức, bài viết nổi bật trong lĩnh vực an toàn thông tin tại

Blog (https://manthang.wordpress.com) và Fanpage (https://www.facebook.com/vninfosec)

VỀ LẠC TIÊN JSC

Được thành lập vào tháng 10 năm 2008, với đội ngũ các kỹ sư tốt nghiệp ngành CNTT từ các

trường hàng đầu ở Việt Nam và Thụy Sĩ, hiện nay Lạc Tiên là nhà cung cấp chuyên nghiệp các

giải pháp phần mềm quản trị doanh nghiệp trên môi trường Internet (CRM, HRM, Project

Management, Collaboration, Groupware, Portal,…), các thiết bị bảo mật (UTM, RAD – Remote

Access Device, Wireless Access Controller), các giải pháp tích hợp trên nền mã nguồn mở và

các dịch vụ tư vấn, thiết kế hệ thống, hạ tầng CNTT theo hướng bảo mật Đặc biệt, Lạc Tiên là

đơn vị đầu tiên trong nước sản xuất thành công thiết bị bảo mật tích hợp RexShield UTM với

các tính năng như: tường lửa, quản trị người dùng, lọc nội dung, chống thất thoát dữ liệu

Trang 5

1 CÀI ĐẶT NAGIOS TRÊN CENTOS

Tuy không đề cập tới các tùy chọn cài đặt nâng cao nhưng chỉ với các bước cơ bản trong phần

này cũng đáp ứng phần lớn nhu cầu của đại đa số người dùng muốn bắt đầu làm quen với

Nagios Sau khi làm xong thì mặc định:

 Nagios và các plug-in sẽ nằm dưới thư mục là: /usr/local/nagios

 Nagios tự động giám sát vài thông số của máy cục bộ như: CPU load, disk usage, v.v

 Nagios web interface có thể được truy cập qua URL: http://localhost/nagios/

1.1 Yêu cầu chuẩn bị

 Các gói phần mềm cần được cài trước là: Apache, Perl, PHP, GCC Compiler, GD

development library Nếu chưa có thì có thể cài nhanh thông qua lệnh yum như sau:

# yum install httpd php perl gcc glibc glibc-common gd gd-devel

 Tải gói mã nguồn mới nhất của Nagios Core 3.4.1 và Nagios Plugins 1.4.15 tại 2 URL sau:

http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.1.tar.gz

http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz

Một số giai đoạn cài đặt cần quyền root (có dấu # đằng trước câu lệnh)

1.2 Các bước thực hiện

1 Tài khoản và nhóm

- Tạo mới user nagios và group nagcmd

# useradd -m nagios

# passwd nagios

# groupadd nagcmd

- Sau đó thêm 2 user nagios, apache vào group nagcmd

# usermod -a -G nagcmd nagios

# usermod -a -G nagcmd apache

2 Biên dịch và cài đặt Nagios

- Giải nén gói mã nguồn của Nagios và chuyển vào thư mục mới được tạo ra

# tar xzf nagios-3.4.1.tar.gz

# cd nagios

- Chạy configure script với tham số truyền vào là group nagcmd

# /configure with-command-group=nagcmd

- Biên dịch Nagios

# make all

- Lần lượt cài đặt các tập tin binary, init script, sample config và thiết lập quyền hạn truy cập

trên thư mục chứa external command

# make install

# make install-init

Trang 6

# make install-config

# make install-commandmode

3 Cấu hình Nagios web interface

- Cài đặt tập tin web config của Nagios vào thư mục /etc/httpd/conf.d của Apache

#make install-webconf

- Tạo tài khoản nagiosadmin và đặt mật khẩu để truy cập vào web interface của Nagios

# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

- Khởi động lại Apache Webserver

# service httpd restart

4 Biên dịch và cài đặt Nagios Plugins

- Giải nén gói mã nguồn của Nagios Plugins và chuyển vào thư mục mới được tạo ra

# tar xzf nagios-plugins-1.4.15.tar.gz

# cd nagios

- Chạy configure script với tham số user và group truyền vào đều là nagios

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

- Biên dịch Nagios Plugins

# make

- Cài đặt Nagios Plugins

# make install

5 Khởi chạy Nagios

- Thêm Nagios vào danh sách các system service và tự động khởi động cùng hệ thống

# chkconfig add nagios

# chkconfig nagios on

- Xác nhận các các tập tin cấu hình cho Nagios đang làm việc đúng

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

- Nếu không có lỗi gì thì kích hoạt Nagios

# service nagios start

6 Chỉnh lại thiết lập của SELinux

Mặc định SELinux trên CentOS hoạt động ở chế độ Enforcing Điều này có thể dẫn tới thông

báo “Internal Server Error” khi thử truy cập vào Nagios CGI Thực hiện các bước sau để

kiểm tra và khắc phục vấn đề này

- Kiểm tra nếu SELinux đang ở Enforcing mode

# getenforce

- Đặt SELinux ở chế độ Permissive

# setenforce 0

Để thiết lập này có hiệu lực mãi mãi thì chỉnh sửa lại trong tập tin /etc/selinux/config

Trang 7

- Thay vì phải tắt SELinux hoặc chuyển về chế độ Permissive, có thể sử dụng lệnh sau để chạy

các CGI dưới chế độ Enforcing/Targeted:

# chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/

# chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

7 Đăng nhập vào Nagios web interface

Vào địa chỉ http://localhost/nagios (hoặc thay localhost bằng địa chỉ IP của máy Nagios)

Sau đó đăng nhập thử với tên tài khoản là nagiosadmin và mật khẩu thiết lập ở bước 3 Lưu ý

là cần cấu hình lại rule cho firewall nếu muốn truy cập từ xa tới máy Nagios

2 GIÁM SÁT CÁC MÁY UNIX/LINUX

Phần này sẽ trình bày cách cài đặt và cấu hình cho NRPE - một addon cho Nagios giúp thực thi

các plugin khác để giám sát/kiểm tra các tài nguyên (CPU load, memory usage, swap usage, disk

usage, logged in users, running processes, v.v ) và dịch vụ (http, ftp, v.v ) trên các máy

Linux/Unix ở xa

NRPE addon bao gồm 2 thành phần:

Plugin check_nrpe: chạy trên máy Nagios

Daemon NRPE: chạy trên máy Linux/Unix ở xa cần giám sát

Khi máy Nagios cần kiểm tra các tài nguyên/dịch vụ trên máy Linux/Unix ở xa:

 Nagios sẽ thực thi plugin check_nrpe và cho biết tài nguyên/dịch vụ nào cần kiểm tra

 Plugin check_nrpe sẽ liên lạc với daemon NRPE trên máy ở xa Kênh liên lạc có thể được

bảo vệ bằng SSL

 Daemon NRPE sẽ chạy các plugin thích hợp (như check_disk, check_load, check_http, v.v )

để check các tài nguyên/dịch vụ được yêu cầu

 NRPE daemon truyền kết quả cho check_nrpe, sau đó plugin này trả kết quả lại cho Nagios

Lưu ý, NRPE daemon yêu cầu các Nagios plugin cần được cài đặt trên các máy Linux/Unix ở xa

2.1 Yêu cầu chuẩn bị

Thử nghiệm trên môi trường CentOS 6.2 Khi làm cần có quyền root trên máy Linux/Unix

cần giám sát và tài khoản nagios trên máy Nagios

Quá trình biên dịch và cài đặt thì cần có các gói make, gcc, perl, openssl, openssl-devel

 Tải gói mã nguồn mới nhất của NRPE 2.13 và Nagios Plugins 1.4.15 tại 2 URL sau:

http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz

http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz

Trang 8

2.2 Các bước thực hiện

2.2.1 Thực hiện trên máy Linux/UNIX ở xa

1 Chuyển qua root và tạo thêm tài khoản mới là nagios

# su – root

# /usr/sbin/useradd nagios

# passwd nagios

2 Giải nén gói Nagios plugins rồi tiến hành biên dịch và cài đặt

# tar xzf nagios-plugins-1.4.15.tar.gz

# cd nagios-plugins-1.4.15

# /configure –-with-nagios-user=nagios –-with-nagios-group=nagios

# make

# make install

3 Sửa lại quyền hạn truy cập cho các thư mục chứa Nagios plugin

# chown nagios.nagios /usr/local/nagios

# chown -R nagios.nagios /usr/local/nagios/libexec

4 Cài đặt xinetd

# yum install xinetd

5 Cài đặt NRPE daemon

- Giải nén gói NRPE rồi tiến hành biên dịch

# tar xzf nrpe-2.13.tar.gz

# cd nrpe-2.13

# /configure

# make all

- Cài đặt NRPE plugin (chỉ để kiểm tra), daemon, và tập tin cấu hình

# make install-plugin

# make install-daemon

# make install-daemon-config

- Chạy NRPE daemon như là một dịch vụ dưới xinetd

# make install-xinetd

- Mở tập tin /etc/xinetd.d/nrpe và thêm vào địa chỉ IP của máy Nagios ở dòng only_from

only_from = 127.0.0.1 <nagios_ip_address>

- Mở tập tin /etc/services và thêm vào NRPE daemon

nrpe 5666/tcp # NRPE

- Khởi động lại xinetd

# service xinetd restart

6 Kiểm tra NRPE daemon

Trang 9

- Đảm bảo rằng NRPE daemon đang chạy dưới xinetd

# netstat -at | grep nrpe

tcp 0 0 *:nrpe *:* LISTEN

- Đảm bảo rằng NRPE đang làm việc đúng

# /usr/local/nagios/libexec/check_nrpe -H localhost

NRPE v2.13

7 Tạo rule trên firewall

Để đảm bảo rằng firewall cục bộ trên máy Linux/Unix ở xa cho phép NRPE daemon được

truy cập từ các máy Nagios, tạo rule sau và lưu lại cấu hình của iptables

# iptables –I INPUT -p tcp -m tcp –dport 5666 -j ACCEPT

# service iptables save

8 Tùy chỉnh lại các NRPE command

- Trong tập tin cấu hình mẫu của NRPE daemon có chứa một vài định nghĩa câu lệnh

(command definition) mà ta cần dùng để giám sát các tài nguyên và dịch vụ trên máy cục bộ

Các command definition này sẽ định nghĩa các command để chạy một số plugin cho Nagios

được cài đặt ở bước 2 Có thể chỉnh lại các command definition, thêm command mới, v.v

bằng cách sửa tập tin /usr/local/usr/local/nagios/etc/nrpe.cfg

- Dùng một vài command có sẵn sau để kiểm tra các tài nguyên trên máy cục bộ

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_users

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_load

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_zombie_procs

Như vậy là xong phần cài đặt và cấu hình NRPE cho máy Linux/Unix cần giám sát

2.2.2 Thực hiện trên máy Nagios

1 Giải nén gói check_nrpe rồi tiến hành biên dịch và cài đặt

# tar xzf nrpe-2.13.tar.gz

# cd nrpe-2.13

# /configure

# make all

# make install-plugin

2 Kiểm tra việc liên lạc với NRPE daemon

# /usr/local/nagios/libexec/check_nrpe -H 192.168.137.3

(192.168.137.3 là địa chỉ IP của máy Linux/Unix ở xa)

Output cần như sau:

NRPE v2.13

Trang 10

Lưu ý có thể firewall trên máy Nagios hoặc firewall giữa nó với máy ở xa cản trở việc liên

lạc Lúc này cần điều chỉnh lại rule cho thích hợp

3 Tạo một command definition để sử dụng check_nrpe plugin

Mở tập tin /usr/local/nagios/etc/commands.cfg và thêm vào các dòng sau:

define command{

command_name check_nrpe

command_line #USER1#/check_nrpe -H #HOSTADDRESS# -c #ARG1#

}

Kế tiếp, ta sẽ thêm vào cấu hình của Nagios các tài nguyên, dịch vụ cần được giám sát trên

máy ở xa

4 Tạo host và service definition

- Trước tiên nên tạo mới một template cho các loại máy khác nhau sẽ được giám sát Ở đây

template được tạo có tên là linux.cfg:

# vi /usr/local/nagios/etc/objects/linux.cfg

Dưới đây là nội dung mẫu, tùy nhu cầu mà thay đổi các mục cho thích hợp:

define host{

name linux-box

use generic-host

check_period 24×7

check_interval 5

retry_interval 1

max_check_attempts 3

check_command check-host-alive

notification_period 24×7

notification_interval 30

notification_options d,r

contact_groups admins

register 0

}

- Sau đó, tạo mới một object definition cho máy cần giám sát và definition cho các tài nguyên,

dịch vụ chạy trên máy đó Ở đây lấy tên tập tin là centos.cfg:

# vi /usr/local/nagios/etc/objects/centos.cfg

Dưới đây là nội dung mẫu, tùy nhu cầu mà thay đổi các mục cho thích hợp:

define host{

use linux-box

Trang 11

alias Oracle DB 11g

address 192.168.137.3

}

define service{

use generic-service

host_name centos-vm

service_description CPU Load

check_command check_nrpe!check_load

}

define service{

use generic-service

host_name centos-vm

service_description Current Users

check_command check_nrpe!check_users

}

define service{

use generic-service

host_name centos-vm

service_description Total Processes

check_command check_nrpe!check_total_procs

}

Ngoài 3 tài nguyên cơ bản ở trên là: CPU Load, Current Users, Total Processes, ta có thể

giám sát thêm nhiều dịch vụ khác như SSH, HTTP, v.v

- Cuối cùng, thêm 2 object trên vào tập tin cấu hình chính của Nagios bằng cách mở tập tin

/usr/local/nagios/etc/nagios.cfg và thêm vào 2 dòng sau:

cfg_file=/usr/local/nagios/etc/objects/linux.cfg

cfg_file=/usr/local/nagios/etc/objects/centos.cfg

5 Kiểm tra lại các tập tin cấu hình và khởi động lại Nagios

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

# /etc/init.d/nagios restart

6 Truy cập vào web interface của Nagios để xem kết quả!

http://<nagios_IP_address>/nagios/

Ngày đăng: 22/09/2019, 09:47

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w