Nagios - Tiện ích bổ sung / Plugin
Plugin giúp giám sát cơ sở dữ liệu, hệ điều hành, ứng dụng, thiết bị mạng, giao thức với Nagios. Plugin là các tệp thực thi hoặc tập lệnh được biên dịch (Perl hoặc không phải Perl) mở rộng chức năng của Nagios để giám sát máy chủ và máy chủ. Nagios sẽ thực thi một Plugin để kiểm tra trạng thái của dịch vụ hoặc máy chủ. Nagios có thể được biên dịch với sự hỗ trợ cho trình thông dịch Perl được nhúng để thực thi các plugin Perl. Nếu không có nó, Nagios thực thi các plugin Perl và không phải Perl bằng cách fork và thực thi các plugin như một lệnh bên ngoài.
Các loại plugin Nagios
Nagios có sẵn các plugin sau:
Official Nagios Plugins- Có 50 Plugin Nagios chính thức. Các plugin chính thức của Nagios được phát triển và duy trì bởi Nhóm các plugin Nagios chính thức.
Community Plugins - Có hơn 3.000 plugin Nagios của bên thứ ba đã được phát triển bởi hàng trăm thành viên cộng đồng Nagios.
Custom Plugins- Bạn cũng có thể viết các Plugin tùy chỉnh của riêng mình. Có một số nguyên tắc nhất định phải tuân theo để viết Plugin tùy chỉnh.
Hướng dẫn Viết Plugin Nagios Tùy chỉnh
Trong khi viết plugin tùy chỉnh trong Nagios, bạn cần tuân theo các nguyên tắc được cung cấp bên dưới:
- Các plugin phải cung cấp tùy chọn dòng lệnh "-V" (xác minh các thay đổi cấu hình)
- Chỉ in một dòng văn bản
- In chẩn đoán và chỉ một phần của thông báo trợ giúp
- Các plugin mạng sử dụng DEFAULT_SOCKET_TIMEOUT để hết giờ
- "-v" hoặc "--verbose" liên quan đến mức độ chi tiết
- "-t" hoặc "--timeout" (thời gian chờ của plugin);
- "-w" hoặc "--warning" (ngưỡng cảnh báo);
- "-c" hoặc "- tới hạn" (ngưỡng tới hạn);
- "-H" hoặc "--hostname" (tên máy chủ để kiểm tra)
Nhiều plugin Nagios chạy và thực hiện kiểm tra cùng một lúc, để tất cả chúng hoạt động trơn tru cùng nhau, plugin Nagios tuân theo một mã trạng thái. Bảng dưới đây cho biết trạng thái mã thoát và mô tả của nó -
Mã thoát | Trạng thái | Sự miêu tả |
---|---|---|
0 | đồng ý | Làm việc tốt |
1 | CẢNH BÁO | Hoạt động tốt, nhưng cần chú ý |
2 | BẠO KÍCH | Không hoạt động chính xác |
3 | KHÔNG XÁC ĐỊNH | Khi plugin không thể xác định trạng thái của máy chủ / dịch vụ |
Các plugin Nagios sử dụng các tùy chọn cho cấu hình của chúng. Sau đây là một vài tham số quan trọng được plugin Nagios chấp nhận:
Sr.No | Tùy chọn & Mô tả |
---|---|
1 | -h, --help Điều này cung cấp trợ giúp |
2 | -V, --version Điều này in ra phiên bản chính xác của plugin |
3 | -v, --verbose Điều này làm cho plugin cung cấp thông tin chi tiết hơn về những gì nó đang làm |
4 | -t, --timeout Điều này cung cấp thời gian chờ (tính bằng giây); sau thời gian này, plugin sẽ báo cáo trạng thái CRITICAL |
5 | -w, --warning Điều này cung cấp các giới hạn dành riêng cho plugin cho trạng thái CẢNH BÁO |
6 | -c, --critical Điều này cung cấp các giới hạn dành riêng cho plugin cho trạng thái CRITICAL |
7 | -H, --hostname Điều này cung cấp tên máy chủ, địa chỉ IP hoặc ổ cắm Unix để giao tiếp với |
số 8 | -4, --use-ipv4 Điều này cho phép bạn sử dụng IPv4 để kết nối mạng |
9 | -6, --use-ipv6 Điều này cho phép bạn sử dụng IPv6 để kết nối mạng |
10 | -p, --port Điều này được sử dụng để kết nối với cổng TCP hoặc UDP |
11 | -s, -- send Điều này cung cấp chuỗi sẽ được gửi đến máy chủ |
12 | -e, --expect Điều này cung cấp chuỗi sẽ được gửi lại từ máy chủ |
13 | -q, --quit Điều này cung cấp chuỗi để gửi đến máy chủ để đóng kết nối |
Gói plugin Nagios có sẵn rất nhiều kiểm tra cho máy chủ và dịch vụ để giám sát cơ sở hạ tầng. Hãy để chúng tôi thử các plugin Nagios để thực hiện một số kiểm tra.
SMTP là một giao thức được sử dụng để gửi email. Các plugin chuẩn của Nagios có các lệnh để thực hiện kiểm tra SMTP. Định nghĩa lệnh cho SMTP -
define command {
command_name check_smtp
command_line $USER2$/check_smtp -H $HOSTADDRESS$
}
Hãy để chúng tôi sử dụng plugin Nagios để giám sát MySQL. Nagios cung cấp 2 plugin để theo dõi MySQL. Plugin đầu tiên kiểm tra xem kết nối mysql có hoạt động hay không và plugin thứ hai được sử dụng để tính thời gian thực hiện để chạy truy vấn SQL.
Định nghĩa lệnh cho cả hai như sau:
define command {
command_name check_mysql
command_line $USER1$/check_mysql –H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -d
$ARG3$ -S –w 10 –c 30
}
define command {
command_name check_mysql_query
command_line $USER1$/check_mysql_query –H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -d
$ARG3$ -q $ARG4$ –w $ARG5$ -c $ARG6$
}
Note - Tên người dùng, mật khẩu và tên cơ sở dữ liệu được yêu cầu làm đối số trong cả hai lệnh.
Nagios cung cấp plugin để kiểm tra dung lượng ổ đĩa được gắn trên tất cả các phân vùng. Định nghĩa lệnh như sau
define command {
command_name check_partition
command_line $USER1$/check_disk –p $ARG1$ –w $ARG2$ -c $ARG3$
}
Phần lớn các kiểm tra có thể được thực hiện thông qua các plugin Nagios tiêu chuẩn. Nhưng có những ứng dụng yêu cầu kiểm tra đặc biệt để giám sát chúng, trong trường hợp đó, bạn có thể sử dụng plugin Nagios của bên thứ 3, plugin này sẽ cung cấp các kiểm tra phức tạp hơn trên ứng dụng. Điều quan trọng là phải biết về các vấn đề bảo mật và cấp phép khi bạn đang sử dụng plugin của bên thứ 3, trao đổi hình thức Nagios hoặc tải xuống plugin từ một trang web khác.