Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
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
Nội dung
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 đề 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 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 LỤC LỜI NÓI ĐẦU VỀ TÁC GIẢ 4 Cài đặt Nagios CentOS 1.1 Yêu cầu chuẩn bị 1.2 Các bước thực Giám sát máy Unix/Linux 2.1 Yêu cầu chuẩn bị 2.2 Các bước thực 2.2.1 Thực máy Linux/UNIX xa 2.2.2 Thực máy Nagios Kiểm tra trạng thái Oracle Database 12 3.1 Yêu cầu chuẩn bị 12 3.2 Các bước thực 12 3.2.1 Thực máy Oracle Database 12 3.2.2 Thực máy Nagios 12 Gửi thông báo qua SMS USB 3G 13 4.1 Yêu cầu chuẩn bị 14 4.2 Các bước thực 14 4.2.1 Kết nối USB 3G tới máy Nagios 14 4.2.2 Biên dịch 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 Gửi thông báo qua email với SendEmail 18 5.1 Các bước thực 18 Mẫn Thắng | thang.manvan@lactien.com 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 LỜI NÓI ĐẦU Ngày nay, hệ thống giám sát đóng vai trò quan trọng giúp theo dõi, kiểm tra sức khỏe, cung cấp thông tin đưa cảnh báo có vấn đề xảy với thành phần hạ tầng, ứng dụng công nghệ thông tin tổ chức Một hệ thống giám sát tốt cần có khả phát nhanh chóng xác cố xảy kịp thời gửi thơng báo qua nhiều phương tiệ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ế nhiều tổ chức doanh nghiệp việc giám sát cảnh báo kịp thời tình trạng hệ thống, tài liệu vào tìm hiểu cấu hình tính gửi thông báo Nagios qua email qua SMS sử dụng thiết bị USB 3G làm modem Ngoài ra, tài liệu cung cấp thêm hướng dẫn giúp kiểm tra trạng thái up/down Oracle Database máy Unix/Linux sử dụng plugin Nagios Riêng việc thực cảnh báo qua SMS tác giả thực thành cơng mơi trường ảo hóa lẫn máy chủ thực bước đầu làm việc tốt với thiết bị D-Com 3G Viettel Tài liệu thích hợp với quản trị viên làm quen với hệ điều hành Linux có kiến thức cơng cụ giám sát mạng Nagios Dù thử nghiệm kỹ lưỡng thiếu sót nên tác giả mong nhận phản hồi tích cực từ người Chân thành cảm ơn! Mẫn Thắng | thang.manvan@lactien.com 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 VỀ TÁC GIẢ Mẫn Thắng Kỹ sư Hệ thống Phòng Bảo mật Tích hợp thuộc Công ty Cổ phần Tin học Lạc Tiên, với chun mơn giải pháp ứng dụng, tích hợp mã nguồn mở 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á khắc phục lỗ hổng an ninh thông tin cho tổ chức doanh nghiệp Ngồi làm, tác giả thích chia sẻ, trao đổi với cộng đồng tin tức, viết bật lĩnh vực an tồn thơng tin Blog (https://manthang.wordpress.com) 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ũ kỹ sư tốt nghiệp ngành CNTT từ trường hàng đầu Việt Nam Thụy Sĩ, Lạc Tiên nhà cung cấp chuyên nghiệp giải pháp phần mềm quản trị doanh nghiệp môi trường Internet (CRM, HRM, Project Management, Collaboration, Groupware, Portal,…), thiết bị bảo mật (UTM, RAD – Remote Access Device, Wireless Access Controller), giải pháp tích hợp mã nguồn mở 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 đơn vị 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 tính như: tường lửa, quản trị người dùng, lọc nội dung, chống thất liệu Mẫn Thắng | thang.manvan@lactien.com 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 CÀI ĐẶT NAGIOS TRÊN CENTOS Tuy không đề cập tới tùy chọn cài đặt nâng cao với bước phần đáp ứng phần lớn nhu cầu đại đa số người dùng muốn bắt đầu làm quen với Nagios Sau làm xong mặc định: 1.1 Nagios plug-in nằm thư mục là: /usr/local/nagios Nagios tự động giám sát vài thông số máy cục như: CPU load, disk usage, v.v Nagios web interface truy cập qua URL: http://localhost/nagios/ Yêu cầu chuẩn bị Các gói phần mềm cần cài trước là: Apache, Perl, PHP, GCC Compiler, GD development library Nếu chưa có cài nhanh thông qua lệnh yum sau: # yum install httpd php perl gcc glibc glibc-common gd gd-devel 1.2 Tải gói mã nguồn Nagios Core 3.4.1 Nagios Plugins 1.4.15 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) Các bước thực Tài khoản nhóm - Tạo user nagios group nagcmd # useradd -m nagios # passwd nagios # groupadd nagcmd - Sau thêm user nagios, apache vào group nagcmd # usermod -a -G nagcmd nagios # usermod -a -G nagcmd apache Biên dịch cài đặt Nagios - Giải nén gói mã nguồn Nagios chuyển vào thư mục tạo # tar xzf nagios-3.4.1.tar.gz # cd nagios - Chạy configure script với tham số truyền vào group nagcmd # /configure with-command-group=nagcmd - Biên dịch Nagios # make all - Lần lượt cài đặt tập tin binary, init script, sample config thiết lập quyền hạn truy cập thư mục chứa external command # make install # make install-init Mẫn Thắng | thang.manvan@lactien.com 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 # make install-config # make install-commandmode Cấu hình Nagios web interface - Cài đặt tập tin web config Nagios vào thư mục /etc/httpd/conf.d Apache #make install-webconf - Tạo tài khoản nagiosadmin đặt mật để truy cập vào web interface Nagios # htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin - Khởi động lại Apache Webserver # service httpd restart Biên dịch cài đặt Nagios Plugins - Giải nén gói mã nguồn Nagios Plugins chuyển vào thư mục tạo # tar xzf nagios-plugins-1.4.15.tar.gz # cd nagios - Chạy configure script với tham số user group truyền vào nagios # /configure with-nagios-user=nagios with-nagios-group=nagios - Biên dịch Nagios Plugins # make - Cài đặt Nagios Plugins # make install Khởi chạy Nagios - Thêm Nagios vào danh sách system service tự động khởi động hệ thống # chkconfig add nagios # chkconfig nagios on - Xác nhận các tập tin cấu hình cho Nagios làm việc # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg - Nếu khơng có lỗi kích hoạt Nagios # service nagios start Chỉnh lại thiết lập SELinux Mặc định SELinux CentOS hoạt động chế độ Enforcing Điều dẫn tới thơng báo “Internal Server Error” thử truy cập vào Nagios CGI Thực bước sau để kiểm tra khắc phục vấn đề - Kiểm tra SELinux Enforcing mode # getenforce - Đặt SELinux chế độ Permissive # setenforce Để thiết lập có hiệu lực mãi chỉnh sửa lại tập tin /etc/selinux/config Mẫn Thắng | thang.manvan@lactien.com 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 - Thay phải tắt SELinux chuyển chế độ Permissive, sử dụng lệnh sau để chạy CGI 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/ Đăng nhập vào Nagios web interface Vào địa http://localhost/nagios (hoặc thay localhost địa IP máy Nagios) Sau đăng nhập thử với tên tài khoản nagiosadmin mật thiết lập bước Lưu ý cần cấu hình lại rule cho firewall muốn truy cập từ xa tới máy Nagios GIÁM SÁT CÁC MÁY UNIX/LINUX Phần trình bày cách cài đặt cấu hình cho NRPE - addon cho Nagios giúp thực thi plugin khác để giám sát/kiểm tra tài nguyên (CPU load, memory usage, swap usage, disk usage, logged in users, running processes, v.v ) dịch vụ (http, ftp, v.v ) máy Linux/Unix xa NRPE addon bao gồm thành phần: Plugin check_nrpe: chạy máy Nagios Daemon NRPE: chạy máy Linux/Unix xa cần giám sát Khi máy Nagios cần kiểm tra tài nguyên/dịch vụ máy Linux/Unix xa: Nagios thực thi plugin check_nrpe cho biết tài nguyên/dịch vụ cần kiểm tra Plugin check_nrpe liên lạc với daemon NRPE máy xa Kênh liên lạc bảo vệ SSL Daemon NRPE chạy plugin thích hợp (như check_disk, check_load, check_http, v.v ) để check tài nguyên/dịch vụ yêu cầu NRPE daemon truyền kết cho check_nrpe, sau plugin trả kết lại cho Nagios Lưu ý, NRPE daemon yêu cầu Nagios plugin cần cài đặt máy Linux/Unix xa 2.1 Yêu cầu chuẩn bị Thử nghiệm mơi trường CentOS 6.2 Khi làm cần có quyền root máy Linux/Unix cần giám sát tài khoản nagios máy Nagios Quá trình biên dịch cài đặt cần có gói make, gcc, perl, openssl, openssl-devel Tải gói mã nguồn NRPE 2.13 Nagios Plugins 1.4.15 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 Mẫn Thắng | thang.manvan@lactien.com 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 Các bước thực 2.2 2.2.1 Thực máy Linux/UNIX xa Chuyển qua root tạo thêm tài khoản nagios # su – root # /usr/sbin/useradd nagios # passwd nagios Giải nén gói Nagios plugins tiến hành biên dịch 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 Sửa lại quyền hạn truy cập cho thư mục chứa Nagios plugin # chown nagios.nagios /usr/local/nagios # chown -R nagios.nagios /usr/local/nagios/libexec Cài đặt xinetd # yum install xinetd Cài đặt NRPE daemon - Giải nén gói NRPE 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, tập tin cấu hình # make install-plugin # make install-daemon # make install-daemon-config - Chạy NRPE daemon dịch vụ xinetd # make install-xinetd - Mở tập tin /etc/xinetd.d/nrpe thêm vào địa IP máy Nagios dòng only_from only_from - Mở tập tin /etc/services thêm vào NRPE daemon nrpe - = 127.0.0.1 5666/tcp # NRPE Khởi động lại xinetd # service xinetd restart Kiểm tra NRPE daemon Mẫn Thắng | thang.manvan@lactien.com 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 bảo NRPE daemon chạy xinetd # netstat -at | grep nrpe tcp 0 - *:nrpe *:* LISTEN Đảm bảo NRPE làm việc # /usr/local/nagios/libexec/check_nrpe -H localhost NRPE v2.13 Tạo rule firewall Để đảm bảo firewall cục máy Linux/Unix xa cho phép NRPE daemon truy cập từ máy Nagios, tạo rule sau lưu lại cấu hình iptables # iptables –I INPUT -p tcp -m tcp –dport 5666 -j ACCEPT # service iptables save Tùy chỉnh lại NRPE command - Trong tập tin cấu hình mẫu NRPE daemon có chứa vài định nghĩa câu lệnh (command definition) mà ta cần dùng để giám sát tài nguyên dịch vụ máy cục Các command definition định nghĩa command để chạy số plugin cho Nagios cài đặt bước Có thể chỉnh lại command definition, thêm command mới, v.v cách sửa tập tin /usr/local/usr/local/nagios/etc/nrpe.cfg - Dùng vài command có sẵn sau để kiểm tra tài nguyên máy cục # # # # # /usr/local/nagios/libexec/check_nrpe /usr/local/nagios/libexec/check_nrpe /usr/local/nagios/libexec/check_nrpe /usr/local/nagios/libexec/check_nrpe /usr/local/nagios/libexec/check_nrpe -H -H -H -H -H localhost localhost localhost localhost localhost -c -c -c -c -c check_users check_load check_hda1 check_total_procs check_zombie_procs Như xong phần cài đặt cấu hình NRPE cho máy Linux/Unix cần giám sát 2.2.2 Thực máy Nagios Giải nén gói check_nrpe tiến hành biên dịch cài đặt # # # # # tar xzf nrpe-2.13.tar.gz cd nrpe-2.13 /configure make all make install-plugin 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 địa IP máy Linux/Unix xa) Output cần sau: NRPE v2.13 Mẫn Thắng | thang.manvan@lactien.com 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 Lưu ý firewall máy Nagios firewall với máy xa cản trở việc liên lạc Lúc cần điều chỉnh lại rule cho thích hợp Tạo command definition để sử dụng check_nrpe plugin Mở tập tin /usr/local/nagios/etc/commands.cfg thêm vào dòng sau: define command{ command_name command_line } check_nrpe #USER1#/check_nrpe -H #HOSTADDRESS# -c #ARG1# Kế tiếp, ta thêm vào cấu hình Nagios tài nguyên, dịch vụ cần giám sát máy xa Tạo host service definition - Trước tiên nên tạo template cho loại máy khác giám sát Ở template tạo có tên linux.cfg: # vi /usr/local/nagios/etc/objects/linux.cfg Dưới nội dung mẫu, tùy nhu cầu mà thay đổi mục cho thích hợp: define host{ name use check_period check_interval retry_interval max_check_attempts check_command notification_period notification_interval notification_options contact_groups register } - linux-box generic-host 24×7 check-host-alive 24×7 30 d,r admins Sau đó, tạo object definition cho máy cần giám sát definition cho tài nguyên, dịch vụ chạy máy Ở lấy tên tập tin centos.cfg: # vi /usr/local/nagios/etc/objects/centos.cfg Dưới nội dung mẫu, tùy nhu cầu mà thay đổi mục cho thích hợp: define host{ use host_name Mẫn Thắng | thang.manvan@lactien.com linux-box centos-vm 10 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 alias address Oracle DB 11g 192.168.137.3 } define service{ use host_name service_description check_command generic-service centos-vm CPU Load check_nrpe!check_load } define service{ use host_name service_description check_command generic-service centos-vm Current Users check_nrpe!check_users } define service{ use host_name service_description check_command generic-service centos-vm Total Processes check_nrpe!check_total_procs } Ngoài tài nguyên là: CPU Load, Current Users, Total Processes, ta giám sát thêm nhiều dịch vụ khác SSH, HTTP, v.v - Cuối cùng, thêm object vào tập tin cấu hình Nagios cách mở tập tin /usr/local/nagios/etc/nagios.cfg thêm vào dòng sau: cfg_file=/usr/local/nagios/etc/objects/linux.cfg cfg_file=/usr/local/nagios/etc/objects/centos.cfg Kiểm tra lại tập tin cấu hình khởi động lại Nagios # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg # /etc/init.d/nagios restart Truy cập vào web interface Nagios để xem kết quả! http:///nagios/ Mẫn Thắng | thang.manvan@lactien.com 11 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 KIỂM TRA TRẠNG THÁI CỦA ORACLE DATABASE Phần trình bày việc cấu hình cho Nagios để giám sát dịch vụ Oracle Database có hoạt động hay khơng (up/down) sử dụng addon NRPE để thực thi plugin check_tcp máy chủ Oracle Database 3.1 3.2 Yêu cầu chuẩn bị Một máy chủ chạy Nagios (xem thêm Phụ lục A) có sẵn plugin NRPE Một máy chủ chạy Oracle Database với port listener 1521 cài daemon NRPE (xem thêm Phụ lục B) Các bước thực 3.2.1 Thực máy Oracle Database Mở tập tin cấu hình cho NRPE /usr/local/nagios/etc/nrpe.cfg thêm vào định nghĩa cho câu lệnh check_tcp mẫu sau: command[check_tcp]=/usr/local/nagios/libexec/check_tcp –p 1521 Nếu chạy daemon NRPE dịch vụ xinetd khơng cần khởi động lại daemon ngược lại, cần khởi động lại NRPE chạy độc lập 3.2.2 Thực máy Nagios Định nghĩa service để kiểm tra listener port máy Orace Database cách tạo tập tin /usr/local/nagios/etc/objects/oracle.cfg với nội dung mẫu sau: define host{ use host_name alias address } linux-server oracle-db Oracle DB 11g 192.168.1.14 //kiểm tra listener port Oracle define service{ use generic-service host_name oracle-db service_description Oracle Listener Port check_command check_nrpe!check_tcp } Thêm object vào tập tin cấu hình Nagios cách mở tập tin /usr/local/nagios/etc/nagios.cfg thêm vào dòng sau: Mẫn Thắng | thang.manvan@lactien.com 12 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 Kiểm tra lại tập tin cấu hình khởi động lại Nagios # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg # /etc/init.d/nagios restart GỬI THÔNG BÁO QUA SMS BẰNG USB 3G Hệ thống cảnh báo qua SMS gồm thành phần mơ tả hình đây: Máy Monitor gồm: - Phần mềm Nagios giúp giám sát phận, thông số quan trọng 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 thiết bị điện thoại (trong có USB 3G), điều khiển việc gửi nhận SMS nhiều chức khác quản lý gọi 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 việc gửi tin nhắn SMS Khi có kiện ngưng trễ khôi phục hoạt động từ thành phần giám sát, Nagios tự động tạo thông báo Nội dung thông điệp cảnh báo truyền cho Gammu từ đẩy tới thiết bị USB 3G gửi tới số điện thoại người quản trị Các phần giải trình bước để thực cài đặt, cấu hình vận hành hệ thống cảnh báo qua SMS 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, sử dụng thiết bị D-Com 3G Viettel Gói mã nguồn Gammu, tải phiên 1.32.0 đị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 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 D-Com 3G USB modem cần cài thêm gói usb_modeswitch để chuyển từ chế độ storage sang modem Tải mã nguồn phiê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ụ trình biên dịch cài đặt chương trình từ mã nguồn Cần tới quyền root trình cài đặt cấu hình hệ thống Các bước thực 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 USB 3G GSM modem hay chưa Gõ lệnh sau: # dmesg | grep GSM Nếu thấy output ta chuyển qua 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 (để ý tập tin đại diện cho thiết bị /dev/ttyUSB0) - Nếu output trống rỗng cần thêm gói usb_modeswitch Trình tự cài đặt 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 cài đặt Gammu - Giải nén gói mã nguồn 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 giải nén trên: # cd gammu-1.32.0 - Chạy lệnh sau để cấu hình, biên dịch cài đặt Gammu: # /configure # make # make install - Kiểm tra lệnh: # gammu - Nếu nhận thơng báo lỗi liên quan tới library chạy 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 USB 3G cho Gammu: # vi /etc/gammurc Với nội dung mẫu sau: [gammu] port = /dev/ttyUSB0 connection = at19200 //đường dẫn tới tập tin device thiết bị //loại kết nối, tương thích với tập lệnh AT Ngồi ra, sử dụng lệnh sau để cấu hình dễ dàng cấu hình thơng số giao diện đồ họa: # gammu-config - Xác nhận USB 3G 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 có lệnh sau để theo dõi hoạt động thiết bị thông tin mạng di động: # gammu –-monitor # gammu –-networkinfo - Nagios chạy với quyền user nagios, nên muốn Nagios gửi SMS user nagios phải có quyền truy cập tới tập tin device, config binary Gammu Chạy lệnh sau để gán 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 thử gửi 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 câu lệnh nhận thông điệp “test SMS nagios” việc cấu hình để Gammu gửi SMS thành cơng Tiếp theo cấu hình cho Nagios 4.2.4 Cấu hình Nagios để gửi SMS theo nhóm Phần trình bày bước để khởi tạo định nghĩa contact cho cá nhân nhóm nhận cảnh báo máy tính, thiết bị hay dịch vụ hệ thống xảy cố - Đầu tiên, cần thêm vào câu lệnh để thực việc gửi SMS tới số điện thoại contact định nghĩa tập tin contacts.cfg Mở tập tin /usr/local/nagios/etc/objects/commands.cfg 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 cài đặt để contact tạo bước sau nhận thông báo qua SMS Mở tập tin /usr/local/nagios/etc/objects/templates.cfg sửa mục generic-contact 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 } - Tiếp đến, thêm contact cho người muốn nhận thông báo qua email SMS từ Nagios Mở tập tin /usr/local/nagios/etc/objects/contacts.cfg 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 sđt thực Giờ ta gom nhóm contact để gửi thơng báo thích hợp Ví dụ, thơng báo liên quan tới thiết bị mạng gửi tới nhóm network, thơng báo liên quan tới máy chủ gửi tới nhóm system, thơng báo liên quan tới CSDL gửi tới nhóm database, v.v… Cũng tập tin contacts.cfg trên, tạo thêm 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 sđt thực db-admins Database Administrators hoangbao,manthang unix-admins Linux System Administrator manthang Việc khai báo contact khơng có nghĩa họ nhận thơng báo mà ta cần liên kết contactgroup tới dịch vụ máy tính cần giám sát Ví dụ, 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 tập tin email-server.cfg db-server.cfg định nghĩa sau: // email-server.cfg define host{ use host_name alias address contact_groups } // 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 nhận notify generic-service mysql-db MySQL Database Status db-admins //nhóm DB nhận notify check_nrpe!check_mysql_db Kế đến, thêm object vào tập tin cấu hình Nagios cách mở tập tin /usr/local/nagios/etc/nagios.cfg thêm vào 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 lệnh sau để kiểm tra cấu hình 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 máy tính, thiết bị hay dịch vụ sau khoảng thời gian quy định trước, Nagios kiểm tra trạng thái gửi SMS email thơng báo tình trạng chúng tới số điện thoại hộp thư người quản trị GỬI THÔNG BÁO QUA EMAIL VỚI SENDEMAIL Phần thực cấu hình Nagios để gửi email thơng báo tình trạng, hoạt động thành phần, dịch vụ giám sát hệ thống mạng Việc gửi email tới SMTP outgoing server yêu cầu thiết lập tài khoản email máy Nagios để xác thực Ở sử dụng Perl script SendEmail 5.1 Các bước thực Cài thêm gói phụ thuộc để hỗ trợ mã hóa xác thực SSL/TLS cho email gử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 Tải SendMail tại: http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz Giải nén gói chép tập tin SendMail tới thư mục /usr/local/bin Cấp thêm quyền excute đổi owner thành user nagios cho tập tin # chmod +x /usr/local/bin/SendMail # chown nagios.nagios /usr/local/bin/SendEmail Mở tập tin cấu hình /usr/local/nagios/etc/resource.cfg thêm vào dòng sau: $USER5$=your_email_address $USER6$=your_email_password $USER7$=your_SMTP_mail_server //email người gửi //password email //IP domain SMTP server Mở tập tin cấu hình /usr/local/nagios/etc/objects/commands.cfg sửa lại phần dành cho email notification 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 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 Tạo log file cho SendMail thay đổi owner cho # touch /var/log/SendEmail # chown nagios.nagios /var/log/SendEmail Khởi động lại service nagios # service nagios restart Kiểm tra cách thử tắt host mở file log SendMail thấy nội dung “Email was sent successfully” thứ hồn tất - - Mẫn Thắng | thang.manvan@lactien.com 20