Làm cách nào tôi có thể tự chạy kiểm tra nagios từ dòng lệnh?


24

Khi xác định và thử nghiệm các dịch vụ mới trong nagios, tôi đã khởi động lại nagios, sau đó nhấp vào dịch vụ và sắp xếp lại một kiểm tra càng sớm càng tốt, sau đó đợi cho đến khi kiểm tra xảy ra.

Có cách nào hiệu quả hơn để làm điều này? Tôi muốn sử dụng dòng lệnh để chạy kiểm tra cụ thể đó và nhận đầu ra.

Câu trả lời:


31

Đôi khi tôi thấy thật khó để tìm ra chính xác những gì một plugin đang làm. Để tìm ra điều này, tôi đặt nagios vào chế độ gỡ lỗi với cấu hình như thế này. debug_level=2048 Với nagios trong chế độ gỡ lỗi, tôi chỉ cần theo đuôi debug_logtệp debug_file=/var/log/nagios3/nagios.debug. Buộc kiểm tra và bạn sẽ thấy chính xác cách lệnh đang được chạy. Mặc dù vậy, tôi sẽ không rời khỏi cài đặt này một cách bình thường, nó rất dài dòng và điền vào tệp nhật ký của bạn với tốc độ nhanh chóng.


tuyệt vời. đây là nhiều hơn những gì tôi muốn nói. chỉ vì tôi đã xem trong tệp tests.cfg để tìm ra lệnh nào đang chạy, nhưng tôi muốn biết cờ nào đang được đặt. cảm ơn! :)
cwd

2
Tôi cũng sẽ thông báo cho người dùng mới rằng việc sử dụng tail -fsẽ cho phép bạn tiếp tục xem các bản cập nhật cho tệp trong thời gian thực và control+csẽ hủy việc này.
cwd

2
Debug_levels là nhị phân - 2048 chỉ bật các tin nhắn từ macro. Để bật mọi thứ bạn muốn đặt debug_level = 4095. (1 + 2 + ... + 2048)
JWG

18

Nó khá đơn giản. Chỉ cần cd (hoặc không) vào thư mục plugin (vị trí thư mục này thay đổi, tùy thuộc vào cách bạn đã cài đặt nó, nhưng kiểm tra / usr / local / nagios hoặc / usr / lib / nagios).

Tìm plugin bạn muốn chạy (nếu bạn không chắc chắn, hãy so sánh những gì bạn thấy trong thư mục plugin trên hộp Linux của bạn với các plugin nằm ở đây: http://exchange.nagios.org/directory/Plugins hoặc thử chạy "./plugin-name -h" để nhận thông tin trợ giúp về plugin).

Phương pháp sử dụng bất kỳ "plugin" nào trong dòng lệnh này cũng giống như bất kỳ tập lệnh Linux nào khác: Chỉ cần chạy "./plugin-name" với các cờ thích hợp bạn muốn kiểm tra và voila!


1
+1 ... và nếu điều đó có vẻ như quá nhiều rắc rối, bạn luôn có thể xem các tệp cấu hình Nagios để xem lệnh và tham số nào cần được chạy. Ngay cả vị trí của thư mục plugin cũng ở đó.
John Gardeniers

5
Và hãy nhớ rằng luôn luôn làm điều đó với nagiosngười dùng su - nagios -s /bin/bash.
lượng tử

tốt đẹp. và -tải các biến môi trường cho người dùng đó?
cwd

Yup, giống như bất kỳ cờ linux nào khác, "-" với bất kỳ cờ nào bạn sử dụng sẽ tải cờ. (Nếu tôi đang chạy df -h trên linux CLI, tôi đang sử dụng cờ "h" - trong trường hợp lệnh df, h là viết tắt của "con người có thể đọc được".) Vì vậy, nếu bạn muốn chạy kiểm tra check_http từ CLI, bạn sẽ chạy ./check_http -I, trong đó cờ I là viết tắt của Địa chỉ IP ( nagiosplugins.org/man/check_http ). nagiosplugins.org/man có thể hữu ích, cũng như thư mục Plugins mà tôi đã liên kết trước đó.
David W

Tùy chọn trợ giúp nên là - trợ giúp. nagios-plugins.org/doc/guferences.html
dmourati

5

Tôi có một hướng mạnh mẽ hơn một chút so với @Zoredache, tôi đăng nhập vào máy chủ nagios và thực hiện "trong khi sự thật; làm ps awwlx | grep NAGIOS_CHECK_NAME;" một phần của tên kiểm tra hoặc IP của máy chủ mà tôi đang tìm kiếm. Thông thường trong vài giây, lệnh kiểm tra đầy đủ bật lên và sau đó tôi giết vòng lặp while và chạy lệnh kiểm tra.

Vâng, đó hoàn toàn là vũ phu, nhưng <nhún> nó hoạt động với tôi.


Hãy thử "xem" thay cho vòng lặp while. linux.about.com/l Library / cmd / blcmdl1_watch.htm
dmourati

3

Bạn cũng có thể muốn dùng thử plugin 'chụp'. Về cơ bản, nó thực hiện tương tự như mức gỡ lỗi 2048, nhưng có thể được sử dụng trên cơ sở mỗi plugin. Điều này mang lại sản lượng ít hơn để đào qua.

http://www.waggy.at/nagios/capture_plugin.htm


1
Tôi đã vật lộn để làm việc này, không chắc là tôi đã làm gì sai (noob) nhưng thủ thuật debug_level đã làm việc cho tôi :)
sbditto85

2

Chuyển đến thư mục plugin của bạn - trong ví dụ của tôi, đó là

/usr/lib64/nagios/plugins/

Nhập tên plugin của bạn - trong ví dụ của tôi là

check_tcp

bây giờ chạy lệnh đầy đủ - (tên plugin) -H (tên máy chủ) -p (số cổng)

/usr/lib64/nagios/plugins/check_tcp -H myservername -p 8080

đầu ra

TCP OK - 0.004 second response time on port 8080|time=0.004146s;;;0.000000;10.000000

Tuy nhiên trong ví dụ này, số cổng là tùy chọn

một vi dụ khac -

trong tệp cấu hình của bạn trông giống như bên dưới (myserver.cfg) và bạn muốn chạy check_cpu từ dòng lệnh

define service{
  use                             generic-service
  host_name                       myserver
  servicegroups                   windows
  service_description             CPU
  contact_groups                  sysadmin_email_only
  notification_options            w,c,r
  check_command                   check_nrpe!check_cpu
}

để kiểm tra ngay lập tức (không có GUI màu xanh lá cây hoặc đỏ)

Hãy thử điều này - (đường dẫn đầy đủ của plugin) - H (tên máy chủ) -c (tên kiểm tra)

/usr/lib64/nagios/plugins/check_nrpe -H spc7atc01 -c check_cpu

đầu ra -

OK CPU Load ok.|'5'=4;80;90; '10'=3;80;90; '15'=3;80;90;

Đó là nó

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.