2009-11-01 9 views
5

Próbuję wprowadzić dodatkowe zbieranie statystyk w aplikacji serwera C# - Mam około 20 zmiennych, które chciałbym móc raportować do narzędzi monitorowania sieci; więc zakładam (mam nadzieję, że poprawnie), że SNMP jest właściwą drogą.Implementowanie Reportera SNMP (agenta) w języku C# (musi działać w trybie Mono)?

Istnieją jednak dwa problemy:

  • Aplikacja jest otwarty serwer źródłowy, że mogę to zastrzeżonych komponentów, a
  • To musi działać na Mono pod * nix okolic, jak również za pośrednictwem systemu Windows .NET .

Biblioteka "#SNMP" pod adresem http://sharpsnmplib.codeplex.com/ wydaje się obiecującym rozwiązaniem - ale nie ma próbek, które można znaleźć; i brakuje mi mojej wiedzy na temat SNMP.

Czy ktoś ma tutaj (szybkie) przykłady raportowania danych przez SNMP? (Najlepiej przy użyciu biblioteki na licencji LGPL, X/MIT, BSD lub licencji zlib)

Pomoc cenione

Edit: Problemem wydaje się być brak bibliotek w stanie działać jako serwery SNMP, jeśli ktokolwiek zdaje sobie z tego sprawę - to prawdopodobnie dobrze rozwiązałoby problem.

Zasadniczo szukam biblioteki serwerów SNMP lub przykładowej implementacji odniesienia.

+0

Czy chcesz zaimplementować agenta SNMP lub menedżera SNMP? (Agent działa na urządzeniu, które jest monitorowane, wysyła pułapki snmp do menedżera SNMP i przekazuje informacje menedżerowi po odpytaniu.) –

+0

wdrażanie agenta –

Odpowiedz

6

Jako autor :) Proponuję wypróbować próbkę TestAgent. Może wysyłać komunikaty TRAP lub INFORM na podany adres IP.

Należy zauważyć, że jest to niewielka próbka, która nie ujawnia wszystkich uprawnień SNMP.

+1

Aby być na bieżąco, z przyjemnością ogłaszam, że to TestAgent (snmpd) jest w stanie wykonywać operacje SNMP v1 na kilku podstawowych obiektach. Zostanie wydana w wersji 3.5 lub 4.0. –

+1

Teraz nadszedł czas na aktualizację. Ponieważ Change Set 39585, http://sharpsnmplib.codeplex.com/SourceControl/list/changesets, #SNMP Agent (snmpd) w pełni obsługuje Mono 2.6.3 na openSUSE. To powinno zagwarantować, że działa dobrze na innych dystrybucjach Linuksa za pośrednictwem Mono. –

+1

Po prostu aktualizuj czytniki. #SNMP 6 udoskonalił agenta SNMP, dzięki czemu jest on lepiej zgodny z dokumentami SNMP RFC. http://sharpsnmplib.codeplex.com/releases/view/46604 Ubuntu jest oficjalnie wspierany oprócz openSUSE. –

2

# Źródło SNMP zawiera kilka próbek (w rzeczywistości są to testy, ale można mieć pojęcie o tym, jak to działa). Inną rzeczą, którą możesz wypróbować, jest wysyłanie zapytań snmp wywołujących bezpośrednio plik wykonywalny snmpget z klasą Process. To nie jest najlepszy sposób, ale może się udać (użyłem tego rodzaju podejścia z innym językiem).

+1

na odwrót - chcę zaimplementować "serwer" zamiast klienta. Jest mnóstwo przykładów dla klienta/żądań, ale nic nie mogę znaleźć dla serwowania. –

Powiązane problemy