Làm cách nào tôi có thể nhận FreeNAS và pfSense để báo cáo thêm bằng SNMP?


10

Tôi có hai máy chủ chạy các biến thể của FreeBSD: Một là bộ định tuyến pfSense và một là máy chủ FreeNAS 8. Cả hai máy chủ này đều chạy SNMP và tôi đang thu thập và vẽ đồ thị thông tin của họ bằng máy chủ Cacti thứ ba.

Dữ liệu SNMP từ cả máy chủ pfSense và máy chủ FreeNAS không bao gồm sử dụng bộ nhớ, sử dụng CPU cũng như không tải trung bình.

Các biểu đồ lưu lượng truy cập cho máy chủ pfSense trông ổn. Các báo cáo sử dụng đĩa từ máy chủ FreeNAS trông rất đẹp. Tôi chỉ không nhận được bất kỳ dữ liệu nào cho việc sử dụng bộ nhớ, sử dụng CPU cũng như không tải trung bình. Tôi biết cả hai máy chủ này sẽ có khả năng cung cấp dữ liệu này, vì trong quản trị viên web pfSense và freeNAS tôi có thể xem biểu đồ. Nhưng tôi muốn có tất cả các biểu đồ trong Cacti để dễ quản lý.

Làm cách nào để máy chủ pfSense của tôi cung cấp mức sử dụng bộ nhớ, mức sử dụng CPU và Tải dữ liệu trung bình qua SNMP? Làm cách nào tôi có thể nhận máy chủ FreeNAS của mình để cung cấp mức sử dụng bộ nhớ, mức sử dụng CPU và Tải dữ liệu trung bình qua SNMP? Tôi giả sử cùng một quy trình sẽ làm việc cho cả hai máy chủ.

Câu trả lời:


11

Sau nhiều nghiên cứu về điều này, tôi phát hiện ra vấn đề là gì. Cả pfSense và FreeNAS đều cung cấp hỗ trợ SNMP thông qua trình nền SNMP của FreeBSD (bsnmpd) . Để cung cấp mức sử dụng bộ nhớ, mức sử dụng CPU và tải thông tin Trung bình, trình nền SNMP bắt đầu cần phải có một mô-đun bổ sung, được snmp_ucd.sotải.

Tôi tìm thấy các chủ đề diễn đàn sau đây giải thích để tải snmp_ucd.so, tuy nhiên nó không có trên hai hệ thống của tôi.

Để giải quyết vấn đề này, tôi đã tạo một máy ảo và cài đặt FreeBSD 8.3 trên nó. Bên trong máy ảo này, tôi đã sử dụng hệ thống Cổng FreeBSD để tải xuống và xây dựng snmp_ucd.sothư viện cần thiết bằng cách sử dụng:

cd /usr/ports/net-mgmt/bsnmp-ucd
make all install clean 
cd /usr/ports/net-mgmt/bsnmptools
make all install clean

Sau đó, tôi thường scpsao chép /usr/local/lib/snmp_ucd.sotừ máy ảo FreeBSD sang cả máy chủ pfSense cũng như máy chủ FreeNAS của mình.

Sau đó, tôi đã sử dụng GUI FreeNAS để thêm các tham số phụ trợ sau :

begemotSnmpdModulePath."ucd" = "/mnt/Garrison/jail/usr/local/lib/snmp_ucd.so"

Screencap của FreeNAS

Điều này đã tự động thêm dòng /etc/snmpd.configvào máy chủ FreeNAS và tôi đã có thể nhận được biểu đồ!

Máy chủ pfSense khó khăn hơn vì nó không cho phép tôi áp dụng thay đổi bằng GUI và các tập lệnh pfSense sẽ tự động xây dựng lại /etc/snmpd.config, ghi đè các thay đổi của tôi. Để pfSense hoạt động, tôi phải chỉnh sửa /etc/inc/services.inc. Trước dòng có ghi:

fwrite($fd, $snmpdconf);

Tôi đã thêm vào như sau:

    //Josh Additions: Make load avg and CPU usage work:
    $snmpdconf .= <<<EOD
# Josh additions:
begemotSnmpdModulePath."ucd" = "/usr/local/lib/snmp_ucd.so"



EOD;

Sau đó, vô hiệu hóa và kích hoạt lại SNMP đã áp dụng thay đổi và biểu đồ sử dụng CPU hoạt động ngay bây giờ! Sự thay đổi đó gần như chắc chắn sẽ không tồn tại trong các bản nâng cấp pfSense, nhưng tôi không thể tìm thấy một cách dễ dàng hơn, ổn định hơn để áp dụng thay đổi.

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.