Tải bản đầy đủ (.docx) (15 trang)

cau hinh giam sat voi 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 (129.02 KB, 15 trang )

GIỚI THIỆU
Nagios là công cụ thực hiện chức năng giám sát toàn bộ hạ tầng công nghệ
thông tin bao gồm server, switch, ứng dụng và service. Với công cụ Nagios,
chúng ta có thể giám sát toàn bộ hạ tầng công nghệ thông tin, nhận được cảnh
báo khi có sự cố xảy ra, đọc được những sự kiện xảy ra đối với hệ thống
thông qua report.
Sử dụng công cụ Nagios sẽ giảm gánh nặng của người quản trị hệ thống đối
với việc nhận biết sự cố đang xảy ra.
Đây là tài liệu hướng dẫn từng bước thực hiện cài đặt công cụ giám sát
Nagios trên nền Fedora Core 17 (các HĐH CentOS và phiên bản mới hơn của
Fedora core thực hiện tương tự), và hướng dẫn các bước cấu hình để thực
hiện giám sát máy chủ, website và các thiết bị mạng. Tài liệu không bao gồm
toàn bộ việc cài đặt tính năng Nagios vì tính năng có thể mở rộng hơn trong
tương lai.

Nagios
Phần 1:
HƯỚNG DẪN CÀI ĐẶT VÀ CẤU HÌNH NAGIOS
Tham khảo thêm:
Phần 2: GIÁM SÁT MÁY CHỦ VỚI NAGIOS
Phần 3: GIÁM SÁT WEBSITE VỚI NAGIOS
1. Kết quả sau khi cài đặt:

Nagios và một số plugin sẽ được vài đặt ở /usr/local/nagios.

Thực hiện truy cập giao diện web Nagios ở địa chỉ http://nagiosip/nagios/
2. Chuẩn bị:
Cần ở quyền root trong quá trình cài đặt.
Cài đặt các gói sau trên Fedora trước khi cài đặt Nagios:

Apache



PHP

GCC compiler

GD development libraries
Bằng cách thực hiện các câu lệnh sau:
#yum install httpd php
#yum install gcc glibc glibc-common
#yum install gd gd-devel
3. Tạo thông tin tài khoản:
Đăng nhập với quyền root:
#su –l
Tạo tài khoản người dùng mới với tên nagios và password:
#/usr/sbin/useradd -m nagios
#passwd nagios


Tạo group mới với tên nagcmd để cho phép thực hiện các lệnh external
đượcgửi thông qua giao diện web. Thêm người dùng nagios và apache vào
group:
#/usr/sbin/groupadd nagcmd
#/usr/sbin/usermod -a -G nagcmd nagios
#/usr/sbin/usermod -a -G nagcmd apache
4. Download Nagios và các Plugin:
Tạo thư mục để lưu:
#mkdir ~/downloads
#cd ~/downloads
Download source code file .tar của cả Nagios và các Nagios plugin (vào
để lấy version mới nhất).

#wget />#wget
/>5. Biên dịch và cài đặt:
Giải nén file tar Nagios source code.
#cd ~/downloads
#tar xzf nagios-3.5.tar.gz
#cd nagios-3.5
Chạy Script cấu hình Nagios, dùng tên của nhóm đã được tạo trước đó.
#./configure --with-command-group=nagcmd
(2 dấu – trước chữ with)
Biên dịch Nagios source code
#make all
Cài đặt binaries, init script, file cấu hình mẫu và thiết lập quyền ở external
command directory.
#make install
#make install-init
#make install-config
#make install-commandmode
Chưa được khởi động Nagios ở đây.
6. Cấu hình theo nhu cầu:
File cấu hình mẫu đã được cài đặt ở thư mục /usr/local/nagios/etc. Sử dụng
những file cấu hình mẫu đối với việc mới bắt đầu với Nagios. Chỉ cần thực
hiện 1 thay đổi trước khi thực hiện… Sửa file cấu hình
/usr/local/nagios/etc/objects/contacts.cfg với trình soạn thảo yêu thích và thay
đổi địa chỉ email gán với định nghĩa nagiosadmin với địa chỉ muốn nhận cảnh
báo.
vi /usr/local/nagios/etc/objects/contacts.cfg


7. Cấu hình giao diện web:
Cài đặt file cấu hình Nagios web trong thực mục Apache conf.d.

#make install-webconf
Tạo tài khoản nagiosadmin cho việc logging vào giao diện web. Nhớ
password gán với tài khoản này.
#htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Khởi động lại Apache:
#service httpd restart
8. Biên dịch và cài đặt Nagios Plugins:
Giải nén file .tar Nagios Plugins source code
#cd ~/downloads
#tar xzf nagios-plugins-1.4.16.tar.gz
#cd nagios-plugins-1.4.16
Biên dịch và cài đặt plugins:
#./configure --with-nagios-user=nagios --with-nagios-group=nagios
(2 dấu – trước chữ with)
#make
#make install
9. Khởi động Nagios:
Thêm Nagios vào danh sách các dịch vụ tự động khởi động với hệ thống.
#chkconfig --add nagios
#chkconfig nagios on
Kiểm tra file cấu hình Nagios
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nếu không có lỗi xảy ra, khởi động nagios
#service nagios start
10. Chỉnh sửa thiết lập SELinux
Mặc định, SELinux được cài đặt ở kiểu Enforcing. Điều này dễ dẫn đến
thông báo “Internal Server Error” khi thực hiện truy cập Nagios CGIs. Xem
SELinux mode
getenforce
Đặt SELinux ở kiểu Permissive

setenforce 0
Để thay đổi này tồn tại, phải chỉnh sửa thiết lập trong /etc/selinux/config và
khởi động lại máy chủ.
11. Đăng nhập vào giao diện web:
Truy cập vào giao diện web với URL http://localhost/nagios/, với tài khoản
user/pass nagiosadmin/ và password đã được đặt.
Kích vào “Service Detail” để xem những gì được giám sát trên local
machine. Mất vài phút cho Nagios để kiểm tra tất vả service được gán với
local machine.


12. Các chỉnh sửa khác:
Chỉnh sửa Firewall rule cho phép truy cập webserver nếu muốn truy cập giao
diện nagios từ xa, hoặc tắt firewall iptables trong hệ điều hành.
Câu lệnh tắt firewall iptables: #service iptables stop
Kết thúc phần cài đặt Nagios. Phần tiếp theo là giám sát các máy chủ với
Nagios
Phần 2: GIÁM SÁT MÁY CHỦ VỚI NAGIOS
Sau khi đã thực hiện cài đặt xong máy chủ Nagios, tiến hành thêm các client
vào để Nagios server thực hiện quản trị, giám sát. Các máy chủ client được
giám sát có thể bao gồm Windows hoặc Linux.
1. Thêm client là các máy chủ window:
– Tại máy client windows:
Cài đặt gói NSClient++, download tại địa chỉ: NSClient++.

Quá trình cài đặt khai báo các tham số như trong hình vẽ bên dưới:

– Tại nagios server: thêm host cần giám sát
vi /usr/local/nagios/etc/objects/windows.cfg
Chỉnh sửa file windows.cfg:

define host{
use windows-server
host_name winserver
alias My Windows Server
address 192.168.1.2
}
Thay đổi tên và địa chỉ cho phù hợp.


2. Thêm máy chủ Linux:
– Tại máy chủ Linux: thực hiện download và cài đặt thêm gói nrpe để cho
phép Nagios server kết nối giám sát. Download và cài đặt tại địa
chỉ: Download NRPE
Hoặc có thể sử dụng cài đặt mặc định đối với từng HĐH. Đối với HĐH
CentOS:
wget dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum install -y nrpe nagios-plugins-all openssl
Chỉnh sửa file /etc/nagios/nrpe.cfg để cho phép máy chủ Nagios truy cập
giám sát:

Khởi động lại NRPE:
service nrpe restart
– Tại Nagios server: thực hiện thêm host cần giám sát
vi /usr/local/nagios/etc/objects/localhost.cfg
Chỉnh sửa file localhost.cfg:
define host{
use linux-server
host_name localhost
alias localhost

address 127.0.0.1
}
Chỉnh sửa các thông số tên và địa chỉ IP cho phù hợp.
3. Thêm dịch vụ trên máy chủ cần được giám sát
Thêm định nghĩa service vào file windows.cfg hoặc localhost.cfg tương ứng
với loại máy chủ
define service{
use generic-service
host_name winserver
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
Định nghĩa trên đây là bước thực hiện giám sát version của NSClient++ được
cài trên máy chủ.


define service{
use local-service
host_name linux-servers
service_description Current Users
check_command check_local_users!20!50
}
Định nghĩa service trên đây yêu cầu Nagios giám sát số lượng người dùng
trên máy chủ với tên linux-servers đã được định nghĩa ở host, nếu số lượng
lớn hơn 20 sẽ đưa ra cảnh báo warning, nếu lớn hơn 50 sẽ đưa ra cảnh báo
critical.
define service{
use generic-service
host_name winserver
service_description CPU Load

check_command check_nt!CPULOAD!-l 5,80,90
}
Định nghĩa service trên đây yêu cầu Nagios giám sát CPU của máy chủ có
trên winserver đã được định nghĩa ở host, việc giám sát sẽ thực hiện kiểm tra
CPU sau khoản 5 phút, nếu vượt 80 % sẽ cảnh báo warning, nếu vượt 90% sẽ
cảnh báo critical.
Phần 3: GIÁM SÁT WEBSITE VỚI NAGIOS
Có nhiều gói thực hiện giám sát website, về thời gian đáp ứng, nội dung …
Thực hiện thêm các plugin thực hiện các chức năng khác nhau tùy theo yêu
cầu.
define service{
use generic-service
host_name ISPConfig3
service_description Website dantri.com.vn
check_command check_website_response!! 5000!7000
check_interval 2
}
Định nghĩa trên đây yêu cầu Nagios thực hiện kiểm tra thời gian đáp ứng của
website dantri.com.vn.
Phần tiếp theo là giám sát các Cisco router/switch với Nagios
Phần 4: GIÁM SÁT ROUTER/SWITCH VỚI NAGIOS
1. Thực hiện thêm host cho Nagios giám sát:
vi /usr/local/nagios/etc/objects/switch.cfg
Chỉnh sửa file switch.cfg:
define host{


use generic-switch
host_name SW172.17.0.10 alias SW172.17.0.10
address 172.17.0.10

hostgroups switches
}
Định nghĩa trên yêu cầu Nagios thực hiên giám sát switch có địa chỉ IP
172.17.0.10, đồng thời đưa switch này vào nhóm có tên switches.
2. Thêm service đang chạy trên router/switch cho Nagios giám sát
Thêm vào file switch.cfg:
define service{
use generic-service
host_name SW172.17.0.10
service_description PING
check_command check_ping!200.0,20%!600.0,60%
normal_check_interval 5
retry_check_interval 1
}
Định nghĩa service trên yêu cầu Nagios thực hiện giám sát độ mất gói trên
switch có tên SW172.17.0.10 đã được định nghĩa ở trên. Kiểm tra thời gian
gói đi trong mạng, lượng gói tin bị mất và đưa ra cảnh báo nếu thời gian
truyền gói tin quá lâu hoặc độ mất gói nhiều.
Để quản lí băng thông cho port, nagios thực hiện thông qua gói MRTG, cài
đặt thêm gói MRTG vào server đang cài Nagios. Thêm định nghĩa vào file
switch.cfg:
define service {
use generic-service
host_name linksys-srw224p
service_description Port 1 Bandwidth Usage
check_command check_local_mrtgtraf!/var/lib/mrtg/172.17.0.1_1.log!AVG!
1000000,2000000!5000000,5000000!10
}
Định nghĩa service trên yêu cầu Nagios thực hiện giám sát băng thông port 1
của switch có địa chỉ 172.17.0.1

Chú ý: sau khi thực hiện chỉnh sửa các file cấu hình thì khởi động lại Nagios.
Chuẩn bị:
1. Máy chủ đã cài Nagios core 3.x (mình xài 3.5, chạy trên Fedora Core 17)


2. Nagios monitor các Router/Switch thông qua giao thức SNMP. Mặc định
plugin check_snmp của Nagios không được cài đặt, nên cần phải cài đặt
thêm. Sử dụng lệnh: #yum install nagios-plugins-snmp.x86_64 . Chú ý cài
đặt đúng phiên bản đối với HđH đang sử dụng. Mình xài HĐH Fedora core
17.
3. Cài đặt thêm các gói phần mềm hỗ trợ giao thức SNMP cho việc thực thi
plugin check_snmp của Nagios. Cài 2 gói: net-snmp và net-snmp-utils.
Lệnh: #yum install net-snmp net-snmp-utils
Tiến hành cấu hình Nagios 3.5
1. Bật file Enable switch.cfg trong nagios.cfg
File nagios.cfg của mình tại thư mục: /usr/local/nagios/etc/nagios.cfg
Bỏ comment dòng: cfg_file=/usr/local/nagios/etc/objects/switch.cfg
2. Tạo 1 hostgroup mới cho Switch trong file switch.cfg
define hostgroup{
hostgroup_name switches
alias Network Switches
}
3. Tạo 1 switch host để monitor
define host{
use generic-switch
host_name core-switch
alias SW172.17.0.10
address 172.17.0.10
hostgroups switches
}

4. Cấu hình các dịch vụ monitor cho switch
4.1. Dịch vụ ping
# Monitor by using check_ping
define service{
use generic-service
hostgroup_name switches
service_description PING
check_command check_ping!200.0,20%!600.0,60%
normal_check_interval 5
retry_check_interval 1
}
4.2. Monitor up time của thiết bị
# Monitor uptime using check_snmp
define service{
use generic-service
hostgroup_name switches
service_description Uptime


check_command check_snmp! -C public -o sysUpTime.0
}
Chú ý: tham số -C để chỉ community string của giao thức SNMP, đặt lại cho
thích hợp với từng thiết bị, ở đây community string của mình là public,
community string này chỉ cho phép RO (read only).
Ngoài ra có thể monitor các port của SW, hoặc kết hợp với phần mềm MRTG
để monitor traffic các port.
Kết quả :)
Monitor switch using Nagios
4.3. Monitor CPU và memory của SW
# Monitor CPU của thiết bị, warning khi đạt 60, critical alert khi đạt 80.

define service{
use generic-service
host_name SW172.17.0.10
service_description CPU Utilization
check_command check_snmp!-C RO -o .1.3.6.1.4.1.9.9.109.1.1.1.1.4.1 -w 60
-c 80
}
# Monitor free memory của thiết bị
define service{
use generic-service
host_name SW172.17.0.10
service_description Free Memory
# check_command check_snmp!-C RO -o .1.3.6.1.4.1.9.9.48.1.1.1.5.1
check_command check_snmp!-C RO -o .1.3.6.1.4.1.9.9.48.1.1.1.6.1
}
# Monitor Usage memory của thiết bị
define service{
use generic-service
host_name SW172.17.0.10
service_description Usage Memory
check_command check_snmp!-C RO -o .1.3.6.1.4.1.9.9.48.1.1.1.5.1
# check_command check_snmp!-C RO -o .1.3.6.1.4.1.9.9.48.1.1.1.6.1
}
Monitor Switch
5. Nagios checker plugin cho trình duyệt


Nagios hiện đang hỗ trợ plugin cho 2 trình duyệt đó là Google Chrome và
Firefox, hỗ trợ việc giám sát thông qua 1 icon nhỏ trên trình duyệt đang xài,
tích hợp các tính năng âm thanh khi phát hiện warning hoặc critical events,

rất thuận tiện cho việc giám sát hệ thống.
Tham khảo các cài đặt và cấu hình plugin cho Chrome và Firefox tại:
/>Trong quá trình sử dụng Nagios, các dữ liệu thu thập được chưa được hiển thị
dưới dạng đồ thị để tiện cho việc theo dõi, thống kê. Vì vậy, đối với các hệ
thống quy mô giám sát nhiều và lớn, việc đồ thị hóa các dữ liệu thu thập được
trong Nagios là rất cần thiết và tối ưu trong việc theo dõi, giám sát hệ thống.
Trong Nagios, để đồ thị hóa các dữ liệu có phần mềm addon PNP4NAGIOS
(viết tắt là PNP) có thể làm được việc này.
Trang chủ:
/>Documentation:
/>PNP là một addon của phần mềm Nagios dùng để phân tích dữ liệu nhận
được của các plugins (như check_ping, check_http, …) và lưu trữ vào trong
RRD-databases. PNP được cài đặt lên máy chủ Nagios để hỗ trợ việc phân
tích dữ liệu.
Những yêu cầu trước khi triển khai PNP:
– Server chạy Nagios phiên bản >= 2.x (hoặc Icinga – cái này chưa thử)
(mình đang xài bản Nagios 3.3.x trên Fedora Core 17). Hướng dẫn cách
cài đặt và cấu hình Nagios trên dòng OS CentOS, Fedora có thể tham khảo
trong category monitoring, nagios của mình.
– Perl >=5.x (không cần các module mở rộng kèm theo)
– RRD tool >= 1.x, tốt nhất là 1.2 nhưng không bắt buộc.
Chú ý: cài đặt RRDtool không có packet manager có thể dẫn đến lỗi dejavu
fonts. Điều này gây ra lỗi các graphs sẽ không có text (minhf chưa gặp
nhưng đây là thông tin trên trang chủ hướng dẫn (documentation) của PNP)
– PHP >= 5.1.6 cho web frontend dựa trên Kohana.
– Kohana cần module “mod_rewrite” bật (enabled) trong hoạt động của
Apache.
Download link: pnp4nagios-0.6.21.tar.gz (cập nhật ngày viết 19-6-2013)
Hoạt động của PNP:
PNP hỗ trợ nhiều mode xử lý dữ liệu khác nhau, đó là: Synchronous mode,

Bulk mode, Bulk mode với NPCD, Bulk mode với npcdmod, Gearman mode.
PNP chỉ hoạt động ở 1 mode mà thôi. Tùy tình hình hệ thống mà admin có
thể lựa chọn mode hoạt động phù hợp nhất với hệ thống của mình.
Hoạt động của pnp4nagios gắn liền với perl script process_perfdata.pl trong
thư mục libexec (của pnp4nagios). Khi cần xử lý dữ liệu (hiển thị dưới dạng


đồ thị), Nagios sẽ thực thi một lệnh cho mỗi host và mỗi service được khai
báo cần xử lý dữ liệu. Phụ thuộc vào mode hoạt động mà data sẽ được xử lý
trực tiếp bởi process_perfdata.pl hoặc được ghi vào trong file tạm (temporary
files) và xử lý sau đó. Process_perfdata.pl ghi data vào các XML files và lưu
trữ chúng vào RRD files sử dụng RRDtool.
Chi tiết các mode hoạt động của PNP:
Synchronous mode: là mode đơn giản nhất và dễ dàng cài đặt nhất. Nagios
sẽ gọi script perl process_perfdata.pl cho mỗi service và host, tuần tự để xử lý
data. Mode này hoạt động tốt nếu số lượng services vào khoảng 1000
services, khi đó các dịch vụ sẽ được kiểm tra trong khoảng mỗi 5 phút.
Bulk mode: tại mode này, Nagios ghi các dữ liệu cần thiết vào trong 1 file
tạm. Sau thời gian được khai báo, file này sẽ được xử lý và xóa ngay sau đó.
Tại mode này, số lượng lần gọi script perl process_perfdata.pl sẽ được giảm.
Phụ thuộc vào thời gian và số lượng data thu thập được, sẽ tiết kiệm được rất
nhiều tài nguyên cho máy chủ nagios. Tuy nhiên, script process_perfdata.pl
sẽ chạy lâu hơn.
Chú ý: nagios sẽ không thực thi kiểm tra bất kỳ host hay service khi gọi
script này để xử lý data.
Bulk mode với NPCD, Bulk mode với npcdmod, Gearman mode: tham khảo
thêm tại />Phần quan trọng nhất: cài đặt
Chú ý: thư mục cài đặt nagios tại: /usr/local/nagios
#tar –xvzf pnp4nagios-HEAD.tar.gz
#cd pnp4nagios

#./configure
Sau khi chạy xong được kết quả như sau:
Mọi thứ đều okey, tiếp tục:
#make all
#make install
Copy sample Apache configuration file đến thư mục config:
#make install-webconfig
Config file cho process_perldata.pl và npcd được copy đến thư mục /etc/pnp
#make install-config
Để cài đặt NPCD Init script:
#make install-init
Combined all:
#make fullinstall
Chú ý: sau khi copy configuration file cho web server phải restart lại service
web server
#service httpd restart


Trong trường hợp nâng cấp lên phiên bản 0.6.x hoàn toàn giống với việc cài
đặt như trên. Chú ý chạy ./configure với các tùy chọn giống với lần đầu cài
đặt.
Chú ý: nếu có thay đổi file config.php nên lưu lại 1 bản backup tránh việc ghi
đè khi chạy lệnh make install-config.
Các thông tin của PNP sau khi cài đặt:
– Thư mục PHP-Files cho web-frontend: /usr/local/pnp4nagios/share/pnp
– File xử lý dữ liệu thu thập được process_perfdata.pl trong thư mục
/usr/local/pnp4nagios/libexec
– File sample config với hậu tố -sample tại thư mục /usr/local/pnp4nagios/etc
– File config config.php cho web frontend nằm tại thư mục
/usr/local/pnp4nagios/etc

Cấu hình Synchronous mode:
– Cấu hình đơn giản nhất trong tất cả các mode
– Bật xử lý dữ liệu trong file nagios.cfg: bật tham số
process_performance_data=1
– Nếu không muốn xử lý dữ liệu với những host hoặc service thì thêm dòng
sau vào mỗi host hoặc service:
Define service {

Process_perf_data 0

}
– Environment variables phải được bật trong hoạt động của mode
synchronous. Chỉnh sửa trong file nagios.cfg: enable_environment_macros=1
– Lệnh xử lý dữ liệu phải được khai báo trong nagios.cfg:
service_perfdata_command=process-service-perfdata
– Bật xử lý dữ liệu cho host: host_perfdata_command=process-host-perfdata
– Nagios phải được khai báo về các command sử dụng. Chỉnh sửa file
commands.cfg bằng cách thêm các dòng sau:
define command {
command_name process-service-perfdata
command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl
}
define command {
command_name process-host-perfdata
command_line /usr/bin/perl
/usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
}
Một cách cải tiến pnp4nagios sau khi đã cài đặt tích hợp PNP và Nagios là có
thể thấy các graphs mà không cần phải click vào nó. Đó là nhờ vào việc sử



dụng CGI Includes cho phép các JavaScript code. Với tính năng này, admin
giám sát hệ thống khi cần kiểm tra sơ bộ thông tin các graphs thì không cần
phải trực tiếp click vào từng hạng mục nhỏ mà chỉ cần rê chuột ngang qua là
các graphs tự động hiện lên. Tuy nhiên nếu cần các thông tin chính xác và
hiển thị dưới nhiều dạng thống kê khác nhau như graph trong vòng 4h, 25h, 1
tuần, … thì vẫn phải click trực tiếp vào để xem chính xác và nhiều thông tin
hơn.
Yêu cầu:
PNP đã được cài đặt và sử dụng với Nagios. Vui lòng tham khảo phần 1 để
biết cách cài đặt và tích hợp phần mềm pnp4nagios và chương trình giám sát
hệ thống Nagios.
Nhắc lại: Phiên bản Nagios hiện nay mình đang xài là phiên bản mới nhất
(3.3.x), được cài đặt trên Fedora Core 17. Cách thức cài đặt Nagios trên HđH
này (dòng os CentOS, Fedora Core) xin vui lòng tham
khảo: />Thực hiện:
Copy file status-header.ssi trong thư mục contrib/ssi (trong thư mục cài đặt
pnp4nagios) đến /usr/local/nagios/share/ssi.
Chú ý: file này phải không được set execute, nếu không nó sẽ sinh lỗi.
Các định nghĩa cho service và host được chỉnh sửa như sau:
define host {
name
host-pnp
action_url /pnp4nagios/index.php/graph?
host=$HOSTNAME$&srv=_HOST_’ class=’tips’
rel=’/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
register 0
}
define service {
name

srv-pnp
action_url /pnp4nagios/index.php/graph?
host=$HOSTNAME$&srv=$SERVICEDESC$’ class=’tips’
rel=’/pnp4nagios/index.php/popup?
host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}
Việc phát hiện user root đăng nhập sai password qua SSH rất quan trọng vì có
thể tránh được một số nguy cơ như thăm dò pass của root. Mình xin giới
thiệu plugin check_logfiles trong Nagios được sử dụng để “raise alerts” trong
trường hợp phát hiện user root đăng nhập sai mật khẩu.
I. Chuẩn bị


1. Máy đã cài sẵn Nagios Core 3.x. Hiện nay mình xài bản Nagios 3.5 trên
Fedora Core 17.
2. Plugin check_logfiles.
Link: Plugin này để tìm
kiếm và so sánh một mẫu, chuỗi ký tự trong log files và đưa ra cảnh báo
tương ứng.
Link download: />II. Cài đặt
1. Download check_logfiles:
#cd /tmp
#wget />2. Cài đặt check_logfiles plugin vào thư mục /usr/local/nagios/libexec. Đây
chính là thư mục chứa các plugin của Nagios
#tar xzf check_logfiles-3.5.1.tar.gz
#cd check_logfiles-3.5.1
#./configure –prefix=/usr/local/nagios
#make
#make install

3. Kiểm tra hoạt động của plugin check_logfiles
cd /usr/local/nagios/libexec
check_logfiles –tag ssh –logfile=/var/log/secure –rotation=SOLARIS –
criticalpattern=” Failed password for root from”
4. Định nghĩa thêm command trong
file /usr/local/nagios/etc/objects/commands.cfg
####### Check root login failed
define command {
command_name check_ssh_attack
command_line $USER1$/check_logfiles –tag=ssh –logfile=/var/log/secure –
criticalpattern=”Failed password for root from”
}
5. Chỉnh sửa file /usr/local/nagios/etc/objects/localhost.cfg và định nghĩa
thêm dịch vụ mới cho host cần monitor (ở đây mình định nghĩa cho
localhost)
define service{
use
generic-service
host_name
localhost
service_description
SSH Attacks
check_command
check_ssh_attack
}
6. Khởi động lại nagios


6.1. Trên web interface sẽ báo lỗi: “(2 errors in check_logfiles.protocol2013-03-16-10-03-03) – cannot write status file
/var/tmp/check_logfiles/check_logfiles._var_log_secure.ssh! check your

filesystem (permissions/usage/integrity) and disk devices …”
Đây là lỗi permission, thực thi câu lệnh sau:
#chown –R nagios /var/tmp/check_logfiles
6.2. Nếu báo lỗi: “insufficient permissions to open logfile /var/log/secure”
Đó là do Nagios user cần quyền read đối với file /var/log/secure
Thực thi câu lệnh:
#setfacl –m u:nagios:r /var/log/secure



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×