2009-11-01 11 views
5

Tôi đang cố triển khai một số thống kê bổ sung thu thập trong ứng dụng máy chủ C# - Tôi có khoảng 20 biến trở lên mà tôi muốn có thể báo cáo với các công cụ giám sát mạng; vì vậy tôi giả định (hy vọng một cách chính xác) rằng SNMP là cách chính xác để đi. Tuy nhiênTriển khai Trình báo cáo SNMP (tác nhân) trong C# (phải chạy trên Mono)?

Có hai vấn đề:

  • Ứng dụng này là một máy chủ mã nguồn mở mà không thể bao gồm các thành phần độc quyền, và
  • Nó cần phải chạy trên Mono dưới * nix quanh cũng như Windows thông qua NET .

Thư viện "#SNMP" tại http://sharpsnmplib.codeplex.com/ dường như là một giải pháp đầy hứa hẹn - nhưng không có mẫu nào tôi có thể tìm thấy; và kiến ​​thức của tôi về SNMP là thiếu.

Có ai ở đây có bất kỳ (nhanh) ví dụ về dữ liệu báo cáo nào qua SNMP không? (Lý tưởng sử dụng một thư viện theo LGPL, X/MIT, BSD hoặc giấy phép zlib)

giúp nhiều đánh giá cao

Edit: Vấn đề dường như là một thiếu thư viện có khả năng đóng vai trò là máy chủ SNMP, nếu bất cứ ai nhận thức được bất kỳ điều gì - điều này có thể giải quyết vấn đề một cách độc đáo.

Chỉnh sửa # 2: Về cơ bản tôi đang tìm thư viện máy chủ SNMP hoặc triển khai tham chiếu mẫu.

+0

Bạn có muốn triển khai đại lý SNMP hoặc trình quản lý SNMP không? (Đại lý đang chạy trên thiết bị được giám sát, gửi bẫy snmp đến trình quản lý SNMP và cung cấp thông tin cho người quản lý khi được hỏi.) –

+0

thực hiện đại lý –

Trả lời

6

Là tác giả :) Tôi khuyên bạn nên kiểm tra mẫu TestAgent. Nó có thể gửi tin nhắn TRAP hoặc INFORM tới địa chỉ IP bạn chỉ định.

Lưu ý rằng đây là một mẫu nhỏ, không tiết lộ mọi quyền hạn của SNMP.

+1

Chỉ để giữ cho bạn cập nhật, tôi vui mừng thông báo bây giờ này TestAgent (snmpd) có khả năng hoạt động SNMP v1 trên một vài đối tượng cơ bản. Điều này sẽ được phát hành trong phiên bản 3,5 hoặc 4.0. –

+1

Bây giờ là thời điểm tốt để cập nhật tại đây. Kể từ khi Change Set 39585, http://sharpsnmplib.codeplex.com/SourceControl/list/changesets, #SNMP Agent (snmpd) hỗ trợ đầy đủ Mono 2.6.3 trên openSUSE. Điều đó sẽ đảm bảo nó chạy tốt trên các bản phân phối Linux khác thông qua Mono. –

+1

Chỉ cần cập nhật độc giả. #SNMP 6 đã tăng cường thêm tác nhân SNMP này để nó tuân thủ tốt hơn với các tài liệu SNMP RFC. http://sharpsnmplib.codeplex.com/releases/view/46604 Ubuntu được hỗ trợ chính thức bên cạnh openSUSE. –

2

#SNMP nguồn đi kèm với một số mẫu (chúng thực sự là các thử nghiệm, nhưng có thể có ý tưởng về cách hoạt động của nó). Một điều bạn có thể thử là gửi truy vấn snmp của bạn gọi trực tiếp snmpget thực thi với lớp Process. Nó không phải là cách tốt nhất, nhưng nó có thể hoạt động (tôi đã sử dụng kiểu tiếp cận này với ngôn ngữ khác).

+1

theo cách khác - Tôi đang tìm cách triển khai 'máy chủ' thay vì khách hàng. Có rất nhiều ví dụ cho khách hàng/yêu cầu nhưng không có gì tôi có thể tìm thấy để phục vụ. –