Nagios: Bật các lệnh bên ngoài

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề

Chúng ta lại ở đây, trở lại với người bạn cũ Nagios. Nếu bạn đang theo dõi, bạn biết rằng tôi đã trình bày khá nhiều điều về công cụ giám sát mạng nổi bật này (kiểm tra tất cả các bài viết của Ghacks Nagios). Có một lý do cho điều này, Nagios là một công cụ đáng kinh ngạc. Nhưng đối với nhiều người, bạn có thể đã gặp lỗi khi cố gắng chạy một vài tính năng mạnh mẽ hơn. Lỗi này xảy ra khi bạn cố gắng sử dụng bất kỳ lệnh bên ngoài nào của Nagios. Nhưng những lệnh bên ngoài này là gì? Nagios có khả năng chạy các lệnh từ các ứng dụng bên ngoài. Điều này cho phép Nagios mở rộng ra xa hơn những gì có thể.

Nhưng khi bạn gặp lỗi này, bạn biết rằng cài đặt Nagios của bạn không thể sử dụng bất kỳ lệnh bên ngoài nào. Đừng lo, lỗi này rất dễ xảy ra và trong bài viết này tôi sẽ hướng dẫn bạn cách khắc phục.

Giả định

Hình 1

Điều này sẽ giả định rằng bạn có cài đặt Nagios đang hoạt động cũng như quyền truy cập root hoặc sudo vào máy chủ của bạn. Bài viết này cũng giả định rằng bạn đã cố gắng sử dụng các tính năng yêu cầu lệnh bên ngoài. Nếu không, chúng ta hãy xem làm thế nào.

Nếu bạn trỏ trình duyệt của mình đến máy chủ Nagios, hãy nhấp vào liên kết Chi tiết dịch vụ và sau đó nhấp vào một trong các dịch vụ (chẳng hạn như HTTP hoặc SSH). Trên trang này, bạn sẽ thấy hộp Lệnh dịch vụ. Nếu bạn nhấp vào một trong các liên kết đó và bạn gặp lỗi - bạn cần sửa!

Sự sửa chữa

Được lưu bằng 0 phải không? Sắp xếp. Điều đầu tiên cần kiểm tra là trong /etc/nagios3/nagios.cfg tệp . Tìm một dòng như:

check_external_commands = 1

Nếu dòng đó được ghi chú hoặc được đặt thành '0', hãy thay đổi nó để trông giống như mục ở trên. Khi bạn đã làm xong, hãy lưu và đóng tệp. Bây giờ khởi động lại Nagios bằng lệnh khởi động lại sudo /etc/init.d/nagios3 . Bạn vẫn chưa hoàn thành.

Bước tiếp theo là mở /etc/nagios3/cgi.cfg tập tin. Bạn rất có thể sẽ tìm thấy hai dòng sau:

Authority_for_all_services = nagiosadmin

ủy quyền_for_all_hosts = nagiosadmin

Sau hai dòng này, bạn cần thêm những thứ sau:

Authority_for_all_host_commands = nagiosadmin

ủy quyền_for_all_service_commands = nagiosadmin

Lưu và đóng tệp này. Bây giờ khởi động lại Apache bằng lệnh khởi động lại sudo /etc/init.d/apache2 .

Vẫn chưa xong. Bây giờ bạn phải thực hiện một thay đổi nhỏ đối với / etc / groups . Mở tệp này bằng trình soạn thảo văn bản yêu thích của bạn và tìm một dòng giống như sau:

nagios: x: 127:

Thay đổi dòng này trông giống như:

nagios: x: 127: www-data

Bây giờ lưu và đóng tệp này. Sắp xong. Nhưng bước sau khó hơn bước trước một chút.

Trong thư mục / var / lib / nagios3 / rw là một tập tin nagios.cmd . Tệp này rất có thể không được đặt quyền chính xác. Theo mặc định, chỉ người dùng nagios mới có quyền truy cập vào các tệp này. Vì chúng tôi không thể thay đổi điều này thành người dùng www-data (nó sẽ phá vỡ các tính năng khác của Nagios), chúng tôi chỉ cần thêm bit nhóm thực thi vào tệp như sau:

sudo chmod g + x / var / lib / nagios / rw

Đó là nó. Bây giờ quay lại phần Lệnh dịch vụ đó và nhấp vào một trong các liên kết. Bạn sẽ không còn gặp lỗi đó nữa.

Suy nghĩ cuối cùng

Bạn có thể nghĩ rằng cài đặt Nagios của bạn khá hữu ích. Bây giờ bạn có thể thực hiện các lệnh bên ngoài, bạn sẽ thấy cài đặt Nagios của mình hữu ích hơn nhiều.