Tải bản đầy đủ - 0 (trang)
1 Yêu cầu và chuẩn bị

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

Tải bản đầy đủ - 0trang

Công ty Cổ phần Tin học Lạc Tiên

KC52/1/18 Huỳnh Tấn Phát – Tân Thuận Tây, Q7 - TpHCM

Điện thoại: (84-8) 2211 5070 - Fax: (84-8)6262 1286

Website: http://lactien.com Email: lienhe@lactien.com

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



3. 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



4



GỬI THÔNG BÁO QUA SMS BẰNG USB 3G



Hệ thống cảnh báo qua SMS gồm các thành phần như được mơ tả như hình dưới đây:











Máy Monitor sẽ gồm:

- Phần mềm Nagios giúp giám sát các bộ phận, thông số quan trọng của hạ tầng CNTT

như: system metric (CPU load, RAM usage, disk usage, loaded processes, v.v..), network

protocol (HTTP, SSH, FTP, SMTP, IMAP, POP3, v.v..), application (mail, web, database

v.v..), service (DNS, DHCP, v.v..), server (Windows, UNIX, v.v..), network device

(router, switch, firewall, v.v..).

- Phần mềm Gammu giúp truy cập tới các thiết bị điện thoại (trong đó có USB 3G), điều

khiển việc gửi và nhận SMS cùng nhiều chức năng khác về quản lý cuộc gọi và danh bạ.

- Thiết bị D-Com 3G đóng vai trò làm GSM modem, liên lạc với nhà mạng di động để

thực hiện việc gửi tin nhắn SMS.

Khi có các sự kiện ngưng trễ hoặc khôi phục hoạt động từ các thành phần được giám sát,

Nagios sẽ tự động tạo ra các thông báo. Nội dung của thông điệp cảnh báo này sẽ được

truyền cho Gammu và từ đó đẩy tới thiết bị USB 3G rồi gửi tới số điện thoại của người quản

trị.



Các phần tiếp theo sẽ giải trình các bước để thực hiện cài đặt, cấu hình và vận hành hệ thống

cảnh báo qua SMS này.

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



13



Công ty Cổ phần Tin học Lạc Tiên

KC52/1/18 Huỳnh Tấn Phát – Tân Thuận Tây, Q7 - TpHCM

Điện thoại: (84-8) 2211 5070 - Fax: (84-8)6262 1286

Website: http://lactien.com Email: lienhe@lactien.com

4.1



















Yêu cầu chuẩn bị

Một Nagios monitoring server.

Một USB 3G, ở đây sử dụng thiết bị D-Com 3G của Viettel.

Gói mã nguồn của Gammu, tải về phiên bản 1.32.0 tại địa chỉ:

http://sourceforge.net/projects/gammu/files/gammu/1.32.0/gammu-1.32.0.tar.bz2

o Các gói phụ thuộc bắt buộc cho Gammu là: CMake, pkg-config

o Các gói phụ thuộc tùy chọn giúp mở rộng tính năng cho Gammu là: Bluez-libs, libusb1.0, libCURL, libiconv, Gettext, MySQL, PostgreSQL, unixODBC, libdbi, Python SQLite

+ libdbi-drivers + SQLite.

Nếu máy Nagios chưa nhận ra D-Com 3G như là một USB modem thì cần cài thêm gói

usb_modeswitch để chuyển từ chế độ storage sang modem. Tải về mã nguồn của phiên bản

1.2.3 tại:

http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-20120531.tar.bz2

http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-1.2.3.tar.bz2

o Các gói phụ thuộc cần thiết cho usb_modeswitch là: libusb-devel, tcl

Các gói make, gcc để phục vụ q trình biên dịch và cài đặt chương trình từ mã nguồn.

Cần tới quyền root trong quá trình cài đặt và cấu hình hệ thống.

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



4.2



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

- Kiểm tra xem máy Nagios đã nhận ra USB 3G là một GSM modem hay chưa. Gõ lệnh sau:

# dmesg | grep GSM



Nếu thấy output như dưới đây thì ta chuyển qua tiếp theo

USB Serial support registered for GSM modem (1-port)

option 1-1:1.0: GSM modem (1-port) converter detected

usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0



(để ý là tập tin đại diện cho thiết bị là /dev/ttyUSB0)

-



Nếu output trống rỗng thì cần thêm gói usb_modeswitch. Trình tự cài đặt như sau:

#

#

#

#

#

#



tar jxf usb-modeswitch-data-20120531.tar.bz2

cd usb-modeswitch-data-20120531

make install

tar jxf usb-modeswitch-1.2.3.tar.bz2

cd usb-modeswitch-1.2.3

make install



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

- Giải nén gói mã nguồn của Gammu:

# tar jxvf gammu-1.32.0.tar.bz2



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



14



Công ty Cổ phần Tin học Lạc Tiên

KC52/1/18 Huỳnh Tấn Phát – Tân Thuận Tây, Q7 - TpHCM

Điện thoại: (84-8) 2211 5070 - Fax: (84-8)6262 1286

Website: http://lactien.com Email: lienhe@lactien.com

-



Chuyển vào thư mục vừa được giải nén ở trên:

# cd gammu-1.32.0



-



Chạy các lệnh sau để cấu hình, biên dịch và cài đặt Gammu:

# ./configure

# make

# make install



-



Kiểm tra bằng lệnh:

# gammu



-



Nếu nhận được thơng báo lỗi liên quan tới library thì chạy 2 dòng lệnh sau:

# ln -s /usr/local/lib/libGammu.so.7 /usr/lib/libGammu.so.7

# ln -s /usr/local/lib/libgsmsd.so.7 /usr/lib/libgsmsd.so.7



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

- Tạo tập tin chứa thơng số cấu hình của USB 3G cho Gammu:

# vi /etc/gammurc



Với nội dung mẫu như sau:

[gammu]

port = /dev/ttyUSB0

connection = at19200



//đường dẫn tới tập tin device của thiết bị

//loại kết nối, tương thích với tập lệnh AT



Ngồi ra, có thể sử dụng lệnh sau để cấu hình dễ dàng cấu hình các thơng số bằng giao diện

đồ họa:

# gammu-config



-



Xác nhận USB 3G đã được nhận dạng thành công:

# gammu --identify

Device

Manufacturer

Model

Firmware

IMEI



:

:

:

:

:



/dev/ttyUSB3

ZTE CORPORATION

unknown (MF190S)

BD_MF190SV1.0.0B01

864482000915806



Ngồi ra còn có 2 lệnh sau để theo dõi hoạt động của thiết bị cũng như thông tin về mạng di

động:

# gammu –-monitor

# gammu –-networkinfo



-



Nagios chạy với quyền của user nagios, vậy nên nếu muốn Nagios gửi được SMS thì user

nagios phải có quyền truy cập tới các tập tin device, config và binary của Gammu. Chạy các

lệnh sau để gán các quyền thích hợp đó cho user nagios:

#

#

#

#



cp /etc/gammurc /home/nagios/.gammurc

chown nagios.nagios /home/nagios/.gammurc

chmod 4755 /usr/bin/gammu

usermod -a -G dialout nagios



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



15



Công ty Cổ phần Tin học Lạc Tiên

KC52/1/18 Huỳnh Tấn Phát – Tân Thuận Tây, Q7 - TpHCM

Điện thoại: (84-8) 2211 5070 - Fax: (84-8)6262 1286

Website: http://lactien.com Email: lienhe@lactien.com

# usermod -a -G dialout apache



-



Chuyển qua user nagios và thử gửi một SMS mẫu:

# su - nagios

# echo "test SMS nagios" | gammu --sendsms TEXT +84932xxxxxx

If you want break, press Ctrl+C...

Sending SMS 1/1....waiting for network answer..OK, message reference=181



Nếu số điện thoại trong câu lệnh ở trên nhận được thơng điệp “test SMS nagios” thì việc cấu

hình để Gammu gửi đi SMS đã thành công. Tiếp theo sẽ cấu hình cho Nagios.

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

Phần này sẽ trình bày các bước để khởi tạo và định nghĩa các contact cho những cá nhân và

nhóm sẽ nhận được cảnh báo khi một máy tính, thiết bị hay dịch vụ nào đó trong hệ thống xảy ra

sự cố.

-



Đầu tiên, cần thêm vào 2 câu lệnh để thực hiện việc gửi SMS tới các số điện thoại của các

contact được định nghĩa trong tập tin contacts.cfg. Mở tập tin

/usr/local/nagios/etc/objects/commands.cfg và bổ sung nội dung mẫu sau:

# 'notify-host-by-sms' command definition

define command{

command_name

notify-host-by-sms

command_line

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

$NOTIFICATIONTYPE$\n Host: $HOSTNAME$\n State: $HOSTSTATE$\n Address:

$HOSTADDRESS$\n Info: $HOSTOUTPUT$\n Date/Time: $LONGDATETIME$" |

/usr/local/bin/gammu --sendsms TEXT $CONTACTPAGER$

}

# 'notify-service-by-sms' command definition

define command{

command_name

notify-service-by-sms

command_line

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

$NOTIFICATIONTYPE$\n Service: $SERVICEDESC$\n Host: $HOSTALIAS$\n Address:

$HOSTADDRESS$\n State: $SERVICESTATE$\n Date/Time: $LONGDATETIME$\n Additional

Info: $SERVICEOUTPUT$" | /usr/local/bin/gammu --sendsms TEXT $CONTACTPAGER$



-



Sau đó, tùy chỉnh lại mẫu generic-contact mà Nagios cung cấp sẵn sau khi cài đặt để các

contact được tạo ở bước sau sẽ nhận được thông báo qua SMS. Mở tập tin

/usr/local/nagios/etc/objects/templates.cfg và sửa mục generic-contact như sau:

define contact{

name

service_notification_period

host_notification_period

service_notification_options



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



generic-contact

24x7

24x7

w,u,c,r



16



Công ty Cổ phần Tin học Lạc Tiên

KC52/1/18 Huỳnh Tấn Phát – Tân Thuận Tây, Q7 - TpHCM

Điện thoại: (84-8) 2211 5070 - Fax: (84-8)6262 1286

Website: http://lactien.com Email: lienhe@lactien.com

host_notification_options

d,u,r

service_notification_commands notify-service-by-sms,notify-service-byemail

host_notification_commands

notify-service-by-sms,notify-host-by-email

register

0

}



-



Tiếp đến, thêm mới các contact cho những người muốn nhận thông báo qua email và SMS từ

Nagios. Mở tập tin /usr/local/nagios/etc/objects/contacts.cfg và bổ sung nội dung

mẫu sau:

define contact{

contact_name

use

alias

email

pager

}

define contact{

contact_name

use

alias

email

pager

}



-



hoangbao

generic-contact

Bao Hoang (Database)

hoangbao@gmail.com

+84123xxxxxx

//thay bằng sđt thực



Giờ ta sẽ gom nhóm các contact để gửi các thơng báo thích hợp. Ví dụ, các thông báo liên

quan tới thiết bị mạng chỉ được gửi tới nhóm network, thơng báo liên quan tới máy chủ sẽ

được gửi tới nhóm system, thơng báo liên quan tới CSDL thì gửi tới nhóm database, v.v…

Cũng trong tập tin contacts.cfg trên, tạo thêm các contactgroup theo mẫu sau:

define contactgroup{

contactgroup_name

alias

members

}

define contactgroup{

contactgroup_name

alias

members

}



-



manthang

generic-contact

Thang Man (Sysadmin)

manthang@gmail.com

+84983xxxxxx

//thay bằng sđt thực



db-admins

Database Administrators

hoangbao,manthang



unix-admins

Linux System Administrator

manthang



Việc khai báo các contact ở trên khơng có nghĩa là họ sẽ nhận được thông báo mà ta cần liên

kết các contactgroup tới một dịch vụ hoặc máy tính nào đó cần giám sát. Ví dụ, trong thư



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



17



Cơng ty Cổ phần Tin học Lạc Tiên

KC52/1/18 Huỳnh Tấn Phát – Tân Thuận Tây, Q7 - TpHCM

Điện thoại: (84-8) 2211 5070 - Fax: (84-8)6262 1286

Website: http://lactien.com Email: lienhe@lactien.com

mục /usr/local/nagios/etc/objects/ tạo ra 2 tập tin email-server.cfg và db-server.cfg

rồi định nghĩa như sau:

// trong email-server.cfg

define host{

use

host_name

alias

address

contact_groups

}

// trong db-server.cfg

define service{

use

host_name

service_description

contact_groups

check_command

}

-



linux-server

email-server

Zimbra Server

192.168.1.16

unix-admins



//nhóm Unix sẽ nhận notify



generic-service

mysql-db

MySQL Database Status

db-admins

//nhóm DB sẽ nhận notify

check_nrpe!check_mysql_db



Kế đến, 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/email-server.cfg

cfg_file=/usr/local/nagios/etc/objects/db-server.cfg



-



Cuối cùng, chạy các lệnh sau để kiểm tra 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



-



Giờ thử ngưng hoạt động của một máy tính, thiết bị hay dịch vụ nào đó thì sau một khoảng

thời gian quy định trước, Nagios sẽ kiểm tra trạng thái và gửi đi SMS và email thơng báo tình

trạng của chúng tới số điện thoại và hộp thư của người quản trị.



5



GỬI THÔNG BÁO QUA EMAIL VỚI SENDEMAIL



Phần này sẽ thực hiện cấu hình Nagios để gửi email thơng báo về tình trạng, hoạt động của các

thành phần, dịch vụ được giám sát trong hệ thống mạng. Việc gửi email tới SMTP outgoing

server này sẽ yêu cầu thiết lập tài khoản email tại máy Nagios để xác thực. Ở đây sử dụng một

Perl script là SendEmail.

5.1



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



1. Cài thêm các gói phụ thuộc để hỗ trợ mã hóa và xác thực bằng SSL/TLS cho các email được

gửi đi

# yum install perl

# yum install perl-IO-Socket-SSL



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



18



Công ty Cổ phần Tin học Lạc Tiên

KC52/1/18 Huỳnh Tấn Phát – Tân Thuận Tây, Q7 - TpHCM

Điện thoại: (84-8) 2211 5070 - Fax: (84-8)6262 1286

Website: http://lactien.com Email: lienhe@lactien.com



2. Tải về SendMail tại:

http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz



3. Giải nén gói trên và chép tập tin SendMail tới thư mục /usr/local/bin

4. Cấp thêm quyền excute và đổi owner thành user nagios cho tập tin trên

# chmod +x /usr/local/bin/SendMail

# chown nagios.nagios /usr/local/bin/SendEmail



5. Mở tập tin cấu hình /usr/local/nagios/etc/resource.cfg rồi thêm vào 3 dòng mới sau:

$USER5$=your_email_address

$USER6$=your_email_password

$USER7$=your_SMTP_mail_server



//email của người gửi

//password của email trên

//IP hoặc domain của SMTP server



6. Mở tập tin cấu hình /usr/local/nagios/etc/objects/commands.cfg rồi sửa lại phần dành

cho email notification như mẫu sau:

define command{

command_name notify-host-by-email

command_line /usr/local/bin/sendEmail -o tls=yes -s $USER7$ -xu $USER5$ -xp

$USER6$ -t $CONTACTEMAIL$ -f $USER5$ -l /var/log/sendEmail -u “**

$NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **” -m “***** Nagios

*****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState:

$HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time:

$LONGDATETIME$\n”

}

define command{

command_name notify-service-by-email

command_line /usr/local/bin/sendEmail -o tls=yes -s $USER7$ -xu $USER5$ -xp

$USER6$ -t $CONTACTEMAIL$ -f $USER5$ -l /var/log/sendEmail -u “**

$NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$

**” -m “***** Nagios *****\n\nNotification Type:

$NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress:

$HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time:

$LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$”

}



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



19



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

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

Tải bản đầy đủ ngay(0 tr)

×