Giám sát từ xa Nagios: NRPE Vs. SSH


8

Chúng tôi sử dụng Nagios để giám sát khá nhiều (~ 130) máy chủ. Chúng tôi giám sát CPU, Đĩa, RAM và một vài thứ khác trên mỗi máy chủ. Tôi đã luôn sử dụng SSH để chạy các lệnh từ xa, hoàn toàn vì nó yêu cầu ít hoặc không cần cấu hình bổ sung trên máy chủ từ xa, chỉ cần cài đặt nagios-plugin, tạo người dùng nagios và thêm khóa SSH, tất cả đều được tôi tự động vào một kịch bản shell. Tôi chưa bao giờ thực sự xem xét ý nghĩa hiệu suất của việc sử dụng SSH qua NRPE.

Tôi không quá bận tâm về tải trọng tấn công trên máy chủ Nagios (Có lẽ nó được chỉ định quá mức cho những gì nó làm, nó chưa bao giờ vượt quá 10% CPU), nhưng chúng tôi chạy mỗi lần kiểm tra từ xa cứ sau 30 giây và mỗi máy chủ có 5 lần kiểm tra khác nhau thực hiện. Tôi giả sử SSH yêu cầu nhiều tài nguyên hơn cho mỗi lần kiểm tra nhưng có sự khác biệt rất lớn không? (IE đủ khác biệt để đảm bảo chuyển sang NRPE).

Nếu có bất kỳ sự trợ giúp nào, chúng tôi sẽ giám sát hỗn hợp các máy chủ vật lý (Thông thường với 8, 12 hoặc 16 lõi vật lý) và các phiên bản trung bình / lớn của Amazon EC2.

Câu trả lời:


6

Tôi luôn tin rằng lợi thế quản trị của SSH (tôi sử dụng push_check ) lớn hơn bất kỳ tải bổ sung nào. Các CPU hiện đại nhanh đến mức chi phí mã hóa một số byte là khá nhỏ, do đó, nó chạy xuống để chạy hai quy trình (SSH và tập lệnh kiểm tra) so với một (tập lệnh kiểm tra bị loại bỏ bởi NRPE).

Đối với các tập lệnh kiểm tra được viết bằng ngôn ngữ thông dịch, tôi sẽ hy vọng chi phí cho việc kích hoạt trình thông dịch (Perl, Python, Bash) sẽ vượt quá chi phí CPU khi bắt đầu phiên SSH. Với các CPU hiện đại, máy của bạn có nhiều khả năng bị giới hạn đĩa hoặc bộ nhớ hơn là giới hạn CPU.

Với điều kiện máy Nagios của bạn đang đối phó - nó phải thiết lập 20 kết nối SSH mỗi giây - tôi sẽ nhầm lẫn về mặt thuận tiện.

Không thực sự là một câu trả lời cho câu hỏi của bạn, nhiều hơn một lập luận rằng cuộc sống quá ngắn để lo lắng về nó :)


6

NRPE là một plugin nagios, dễ cài đặt và nó sẽ quản lý yêu cầu kiểm tra trong tệp cấu hình thăm dò. Chỉ có một điều xấu về nrpe, bạn cần cài đặt nó trên mọi máy chủ mà bạn muốn theo dõi, trên hệ điều hành linux, nó thực sự đơn giản, chỉ cần cài đặt nrpe, nhưng trên máy chủ windows, bạn cần cài đặt nó qua .exe và đôi khi bạn sẽ cần phải khởi động lại máy chủ của mình.

Tôi nghĩ SSH không phải là cách tối ưu nhất để sử dụng nagios. NRPE có thể hiệu quả hơn nhiều.

Ở đây trên tài liệu của nagios có câu này:

"Sử dụng SSH an toàn hơn addon NRPE, nhưng nó cũng áp dụng chi phí (CPU) lớn hơn cho cả máy giám sát và máy từ xa. Điều này có thể trở thành vấn đề khi bạn bắt đầu theo dõi hàng trăm hoặc hàng nghìn máy. sử dụng addon NRPE vì tải thấp hơn nó áp đặt. "

Có tài liệu. Tôi là một .pdf

Đối với tôi, tôi sử dụng giao thức snmp, cách sử dụng đơn giản và không cần bất kỳ bên thứ ba nào được cài đặt trên máy chủ.


Tôi đã xem xét SNMP nhưng chúng tôi giám sát những thứ như số liệu thống kê cơ sở dữ liệu / ứng dụng mà tôi không nghĩ có thể được thiết lập để sử dụng SNMP. Tôi không quá quan tâm đến vấn đề bảo mật khi giám sát, SSH được chọn hoàn toàn để tránh cấu hình bổ sung. Giống như khi chúng ta muốn thêm / thay đổi lệnh bằng SSH, chúng ta chỉ cần thay đổi cấu hình NAGIOS nhưng với NRPE, chúng ta cũng cần thêm nó vào nrpe.conf trên máy chủ từ xa.
Smudge

Điều đó đúng, nrpe hơi phiền phức vì bạn cần thêm .conf vào máy chủ từ xa. Đối với SNMP, bạn sẽ có thể làm bất cứ điều gì bạn muốn (nếu tôi không sai), bạn có thể tạo đầu dò của riêng mình bằng perl và thông qua snmp sử dụng đầu dò của bạn, nó dễ dàng hơn nrpe vì bạn không cần thay đổi. trên máy chủ từ xa và ít tham lam hơn SSH. Vâng, sau đó chỉ là một quan điểm và những gì bạn sẽ sử dụng nagios cho. Nrpe là một sự thỏa hiệp tốt giữa ssh và snmp, đối với tôi ít nhất. Chúc bạn ngày mới tốt lành.
Anarko_Bizounours

3

Bên cạnh các đề xuất được đưa ra trong các câu trả lời khác, bạn có cân nhắc việc bật ControlMastertệp .ssh / config của nagios để tận dụng tối đa tính năng ghép kênh ssh không?

Nói cách khác, kết nối SSH của bạn sẽ 'ở lại' vì vậy chi phí thiết lập nó là tối thiểu vì điều này chỉ xảy ra một lần. Điều này vẫn sẽ đảm bảo quyền riêng tư với mã hóa và bảo vệ bạn khỏi các cổng TCP mở trên các máy chủ (mặc dù được tường lửa). Ngoài ra, bạn có thể giới hạn những gì người dùng thực hiện thông qua ssh bằng cách giới hạn các lệnh mà nó có thể thực thi


0

Tôi không có gì ngoài vấn đề cố gắng biên dịch NRPE trên nhiều hệ điều hành khác nhau. SSH đã hoạt động trơn tru và hiệu quả và dễ dàng hơn để ra kịch bản.


4
Đây có vẻ như là một vấn đề với các hệ thống mà bạn đang làm việc hơn NRPE - Tôi không phải là người hâm mộ của Nagios, nhưng NRPE là mã khá đơn giản và tôi chưa bao giờ gặp sự cố khi biên dịch nó ...
voretaq7
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.