16 tháng 12, 2013

Giám sát các máy tính Windows bằng Nagios

Các bước thực hiện:
1.      Các điều kiện cần thiết
2.      Cài đặt plugin NSClient++ trên máy Windows từ xa
3.      Tạo ra host mới và định nghĩa dịch vụ dành cho máy Windows cần theo dõi
4.      Khởi động lại Nagios daemon

Mô hình hoạt động
1.      Các điều kiện cần thiết
Chỉnh sửa file config trong Nagios
[root@server Desktop]# vi /usr/local/nagios/etc/nagios.cfg

Bỏ dấu # trước dòng
#cfg_file=/usr/local/nagios/etc/objects/windows.cfg
Lưu lại và thoát
2.      Cài đặt plugin NSClient++ trên máy Windows từ xa
2.1: Download version cuối cùng của NSClient++ tại:  http://sourceforge.net/projects/nscplus/

Khi mình download version mới về (tùy theo phiên bản win 32bit hay 64 bit, mình đang cài version NSCP-0.4.1.90-Win32.msi) thì ta chỉ cần kích Next để cài đặt, tới bước hỏi thì ta điền địa chỉ IP Server của máy Nagios Server và tích các ô module cần thiết. Nếu ta đặt password ở mục NSClient password (only user via check_nt) thì ta sẽ cấu hình nó ở máy Nagios Server còn nếu không thì thôi. (Bước Password Protection ở dưới).


 Đối với các Version cũ hơn ta làm như dưới từ bước 2.2 tới bước 2.10 ngoại trừ bước 2.6, vì khi setup cài đặt Version mới này thì NSClient++ đã làm dùm ta các bước, bước 2.6 ta vẫn phải làm. Nó sẽ setup như 1 chương trình bình thường và mặc định nằm ở C:\Program Files\NSClient++>
 # Các bước dưới dành cho version “xưa” cũ (trừ bước 2.6).
2.2: Giải nén file NSClient tới C:\NSClient++
2.3: Mở comanline (Start à Run gõ cmd) chuyển về thư mục C:\NSClinet++
2.4: Đăng ký NSClient++ tới dịch vụ hệ thống bằng lệnh:
nsclient++ /install
2.5: Cài đặt NSClient++ systray bằng lệnh:
nsclient++ SysTray
2.6: Mở dịch vụ quản lý (Starrt à Run gõ services.msc) và đảm bảo rằng dịch vụ NSClientpp đã được cho phép (Nhớ tích mục Allow service to interact with desktop)

2.7: Chỉnh sửa file NSC.INI (nằm trong thư mục C:\NSClinet++) và thay đổi một số thứ như sau:

·         Bỏ dấu coment trước tất cả các dịch vụ cần lắng nghe trong mục [modules] ngoài trừ CheckWMI.dll và RemoteConfiguration.dll
·         Tùy chọn yêu cầu pasword cho clients bởi thay đổi lựa chọn “password” trong phần [Settings]
·         Bỏ comment lựa chọn “allowed_hosts” trong mục [Settings]. Bổ xung địa chỉ IP của Nagios Server hoặc bỏ trống nếu cho phép tất cả các host connect tới.
·         Đảm bảo rằng lựa chọn “port” trong lựa chọn [NSClinet] được bỏ comment và có port “12489” (port mặc định).

2.8: Khởi động dịch vụ NSClient++:
nssclient++ /start

2.9: Nếu ta làm đúng tất cả thì sữa có 1 icon xuất hiện ở system tray (khay chỗ đồng hồ). Nó là một vòng tròn màu vàng với chữ ‘M’ màu đen ở trong. (version mới mình cài không thấy có cái này).

2.10: Success!, máy Windows đã sẵn sàn được theo dõi bằng Nagios

3.      Tạo ra host mới và định nghĩa dịch vụ dành cho máy Windows cần theo dõi
Cấu hình Nagios:
Ta đi định nghĩa các Object (đối tượng) cần theo dõi của máy Windows trong file windows.cfg
Mở file windows.cfg
[root@server Desktop]# vi /usr/local/nagios/etc/objects/windows.cfg

Bổ xung máy Windows cần theo dõi. Chỉnh sửa lại các định nghĩa trong file windows.cfg (host_name, alias, address).
# Define a host for the Windows machine we'll be monitoring
# Change the host_name, alias, and address to fit your situation

# Nếu có nhiều máy tính Windows cần theo dõi, ta phải định nghĩa thêm cho nó (copy hết, paste xuống dưới, thay các thông số cần thiết, các dịch vụ ở dưới cũng vậy).

define host{
        use    windows-server  ; Inherit default values from a template
        host_name   2k3DC.test.com  ; Tên máy tính cần theo dõi
        alias  My Windows Server    ; A longer name associated with the host
        address         192.168.132.132 ; Địa chỉ IP của máy cần theo dõi.
        }
Kéo xuống dưới ta sẽ thấy được các dịch vụ mà file windows.cfg liệt kê.

# Theo dõi uptime của Windows server
define service{
        use                     generic-service
        host_name               2k3DC.test.com
        service_description     Uptime
        check_command           check_nt!UPTIME
        }

# Theo dõi CPU của máy,  Cảnh báo CRITICAL nếu CPU có tải 5 phút là 90% trở lên hoặc WARNING nếu tải 5 phút là 80% hoặc cao hơn.
define service{
        use                     generic-service
        host_name               2k3DC.test.com
        service_description     CPU Load
        check_command           check_nt!CPULOAD!-l 5,80,90
        }

# Theo dõi Memory của máy, Cảnh báo CRITICAL nếu bộ nhớ sử dụng 90% hoặc hơn, cảnh báo WARNING nếu bộ nhớ sử dụng 80% hoặc hơn.
define service{
        use                     generic-service
        host_name               2k3DC.test.com
        service_description     Memory Usage
        check_command           check_nt!MEMUSE!-w 80 -c 90
        }

# Theo dõi dung lượng đĩa còn trống, Cảnh báo CRITICAL nếu dung lượng ổ cứng sử dụng 90% hoặc hơn, cảnh báo WARNING nếu dung lượng ổ cứng sử dụng 80% hoặc hơn.
define service{
        use                     generic-service
        host_name               2k3DC.test.com
        service_description     C:\ Drive Space
        check_command           check_nt!USEDDISKSPACE!-l c -w 80 -c 90
        }

# Theo dõi dịch vụ W3SVC, cảnh báo CRITICAL nếu dịch vụ bị ngừng
define service{
        use                     generic-service
        host_name               2k3DC.test.com
        service_description     W3SVC
        check_command           check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
        }
# Theo dõi dịch bụ explorer, cảnh báo CRITICAL nếu dịch vụ bị ngừng
define service{
        use                     generic-service
        host_name               2k3DC.test.com
        service_description     Explorer
        check_command           check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
        }

Password Protection
Nếu ta có đặc tả yêu cầu password trong khi cài đặt NSClient++ trên máy Windows ta cần phải chỉnh sửa lại lệnh check_nt bao gồm password.
Mở file commands.cfg và chỉnh lại, thêm "-s "  vào (Password này ta đã đặt khi cài NSClient++ trên Windows).
# 'check_nt' command definition
define command{
        command_name    check_nt
command_line      $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$ $ARG2$
        }
4.      Khởi động lại dịch vụ Nagios.
[root@server Desktop]# service nagios restart
Stopping nagios:                                           [  OK  ]
Starting nagios:                                           [  OK  ]

Kiểm tra “thành quả”


2 nhận xét:

  1. Nhận xét này đã bị tác giả xóa.

    Trả lờiXóa
  2. Anh khôi ơi! anh có thể hướng dẫn em cấu hình giám sát băng thông, mysqlconnection, trên máy ubuntu và hướng dẫn cấu hình nagiosgraph.
    may nagios( ubuntu 12.04-32bit. nagios 4.0.4, nrpe 2.15. nagiosplugin 2.0.3)
    may linux can giam sat( ubuntu 32bit, server moodle 2.6.4, nrpe 2.15. nagiosplugin 2.0.3.)
    em đang làm đề tài luận văn có liên quan đến công cụ này nhưng em làm xong mấy phần check cơ bản cpu,ram, usercurren . còn những tài liệu trên mạng viết tiếng anh và trình bày hem có chi tiết được như anh nên em nghĩ nếu được anh giúp thì zô cùng thuận lợi cho em!
    thanks anh

    Trả lờiXóa