Netgear ReadyNas per SNMP einbinden

Hallo.

Nach dem ich längere Zeit in IPS nichts mehr gemacht habe, muß ich mich erst mal wieder zurechtfinden.:rolleyes:

Hat vieleicht jemand ein ReadyNAS in IPS schon per SNMP eingebunden?
Über die Forensuche habe ich leider nichts gefunden

-
-- READYNASOS-MIB.txt
--

-- Copyright (c) 2001-2012 Netgear Inc.,
-- Module Name: READYNASOS.mib
-- Abstract:
--     Defines the ReadynasOS MIBs .
-- Authors: Justin Maggard, David Y. Yang
-- 


    READYNASOS-MIB DEFINITIONS ::= BEGIN

        IMPORTS 
            OBJECT-TYPE            
                FROM RFC-1212            
            TRAP-TYPE            
                FROM RFC-1215            
            enterprises            
                FROM RFC1155-SMI            
            DisplayString            
                FROM RFC1213-MIB;
    
    
    
--
-- Node definitions
--

--        iso             OBJECT IDENTIFIER ::= { 1 }
--        org             OBJECT IDENTIFIER ::= { iso 3 }
--        dod             OBJECT IDENTIFIER ::= { org 6 }
--        internet        OBJECT IDENTIFIER ::= { dod 1 }
--        private         OBJECT IDENTIFIER ::= { internet 4 }
--        enterprises     OBJECT IDENTIFIER ::= { private 1 }
        netgear        OBJECT IDENTIFIER ::= { enterprises 4526 }
                productID       OBJECT IDENTIFIER ::= { netgear 100 }
--        Stackswitch     OBJECT IDENTIFIER ::= { productID 1 }
--        L2switch        OBJECT IDENTIFIER ::= { productID 2 }
--        L3switch        OBJECT IDENTIFIER ::= { productID 3 }
--        Smartswitch     OBJECT IDENTIFIER ::= { productID 4 }
--        Router          OBJECT IDENTIFIER ::= { productID 5 }
--        Firewall        OBJECT IDENTIFIER ::= { productID 6 }
--        Accesspoint     OBJECT IDENTIFIER ::= { productID 7 }
--        WirelessLAN     OBJECT IDENTIFIER ::= { productID 8 }
--        Chassisswitch   OBJECT IDENTIFIER ::= { productID 9 }
--              Stacksmartswitch OBJECT IDENTIFIER ::= { productID 10 }
--        ReadyNAS    OBJECT IDENTIFIER ::= { productID 12 }
--        Wlanmanagement    OBJECT IDENTIFIER ::= { productID 13 }
--        Security    OBJECT IDENTIFIER ::= { productID 14 }
--        ReadyDATAOS    OBJECT IDENTIFIER ::= { productID 15 }
        ReadyNASOS    OBJECT IDENTIFIER ::= { productID 16 }

        ngNasManager    OBJECT IDENTIFIER ::= { netgear 22 }

                
        nasMgrSoftwareVersion OBJECT-TYPE
            SYNTAX DisplayString (SIZE (1..32))
            ACCESS read-only
            STATUS current 
            DESCRIPTION
                "Version information for the ReadyNASOS
                 ngNasManager software."
            ::= { ngNasManager 1 }

                 nasMgrSerialNUM OBJECT-TYPE
                        SYNTAX DisplayString (SIZE (1..32))
                        ACCESS read-only
                        STATUS current
                        DESCRIPTION
                               "Serial number for the ReadyNASOS."
                        ::= { ngNasManager 2 }
        
        
        diskTable OBJECT-TYPE
            SYNTAX SEQUENCE OF DiskEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A table of physical disks attached to the storage device."
            ::= { ngNasManager 3 }
        
        diskEntry OBJECT-TYPE
            SYNTAX DiskEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "An entry in the physical disk table."
            INDEX { diskNumber }
            ::= { diskTable 1 }
        
        DiskEntry ::=
            SEQUENCE { 
                                diskNumber
                                        INTEGER,
                diskID  
                    DisplayString,
                diskSlotName
                    DisplayString,
                                diskSerial
                                        DisplayString,
                diskModel
                    DisplayString,
                                ataError
                                        INTEGER,
                                diskCapacity
                                        DisplayString,
                                diskInterface
                                        DisplayString,
                diskState
                    DisplayString,
                                diskTemperature
                                        INTEGER
             }

                diskNumber OBJECT-TYPE
                        SYNTAX INTEGER
                        ACCESS read-only
                        STATUS mandatory
                        DESCRIPTION
                                "Instance number of the disk entry."
                        ::= { diskEntry 1 }


        diskID OBJECT-TYPE
            SYNTAX DisplayString
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Disk ID."
            ::= { diskEntry 2 }
        
                diskSlotName OBJECT-TYPE
            SYNTAX DisplayString
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The slot location of the disk."
            ::= { diskEntry 3 }
        diskSerial OBJECT-TYPE
            SYNTAX DisplayString
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Disk Serial number."
            ::= { diskEntry 4 }

        diskModel OBJECT-TYPE
            SYNTAX DisplayString
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The disk drive's model name."
            ::= { diskEntry 5 }
        
        ataError OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "ATA error number for this disk from S.M.A.R.T read."
            ::= { diskEntry 6 }
        
        diskCapacity OBJECT-TYPE
            SYNTAX DisplayString
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The capacity of the disk in bytes."
            ::= { diskEntry 7 }

        diskInterface OBJECT-TYPE
            SYNTAX DisplayString
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The disk connect interface, such as SATA, USB etc."
            ::= { diskEntry 8 }
        
        diskState OBJECT-TYPE
            SYNTAX DisplayString
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The current state of the Disk.
                Possible states:
                 0: Online
                 1: Offline"
            ::= { diskEntry 9 }
        
            diskTemperature OBJECT-TYPE
                        SYNTAX INTEGER
                        ACCESS read-only
                        STATUS mandatory
                        DESCRIPTION
                                "temperature of this disk(in Fahrenheit unit)."
                        ::= { diskEntry 10 }
    
        fanTable OBJECT-TYPE
            SYNTAX SEQUENCE OF FanEntry
            ACCESS not-accessible
            STATUS current
            ::= { ngNasManager 4 }
        
        fanEntry OBJECT-TYPE
            SYNTAX FanEntry
            ACCESS not-accessible
            STATUS current
            INDEX { fanNumber }
            ::= { fanTable 1 }
        
        FanEntry ::=
            SEQUENCE { 
                fanNumber
                    INTEGER,
                fanRPM
                    INTEGER,
                                fanStatus
                                        DisplayString,
                                fanType
                                        DisplayString
             }

        fanNumber OBJECT-TYPE
            SYNTAX INTEGER (1..10000000)
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Instance number of this fan entry."
            ::= { fanEntry 1 }
        
        
        fanRPM OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The current speed of the fan."
            ::= { fanEntry 2 }
        
        fanStatus OBJECT-TYPE
            SYNTAX DisplayString
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The status of Fan"
            ::= { fanEntry 3 }

        fanType OBJECT-TYPE
            SYNTAX DisplayString
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "What fan is used for:
                 SYS: for system board
                 CPU: for CPU
                                 CASE: for system case"
            ::= { fanEntry 4 }        

        temperatureTable OBJECT-TYPE
            SYNTAX SEQUENCE OF TemperatureEntry
            ACCESS not-accessible
            STATUS mandatory
            ::= { ngNasManager 5 }
        
        temperatureEntry OBJECT-TYPE
            SYNTAX TemperatureEntry
            ACCESS not-accessible
            STATUS mandatory
            INDEX { temperatureNumber }
            ::= { temperatureTable 1 }
        
        TemperatureEntry ::=
            SEQUENCE { 
                temperatureNumber
                    INTEGER,
                temperatureValue
                    INTEGER,
                                temperatureType
                                        DisplayString,
                                temperatureMin
                                        INTEGER,
                                temperatureMax
                                        INTEGER
             }

        temperatureNumber OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Instance number of this temperature probe entry."
            ::= { temperatureEntry 1 }
        
        temperatureValue OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The current temperature of this probe (in Fahrenheit unit)."
            ::= { temperatureEntry 2 }
    
                temperatureTyoe OBJECT-TYPE
                        SYNTAX DisplayString
                        ACCESS read-only
                        STATUS mandatory
                        DESCRIPTION
                                "The current temperature refer to"
          
                        ::= { temperatureEntry 3 }

        temperatureMin OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The min temperature of this probe (in Fahrenheit unit)."
            ::= { temperatureEntry 4 }

        temperatureMax OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The max temperature of this probe (in Fahrenheit unit)."
            ::= { temperatureEntry 5 }

        volumeTable OBJECT-TYPE
            SYNTAX SEQUENCE OF VolumeEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A table of active volumes on the storage device."
            ::= { ngNasManager 7 }
        
        volumeEntry OBJECT-TYPE
            SYNTAX VolumeEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "An entry in the volume table."
            INDEX { volumeNumber }
            ::= { volumeTable 1 }
        
        VolumeEntry ::=
            SEQUENCE { 
                volumeNumber
                    INTEGER,
                volumeName
                    DisplayString,
                volumeRAIDLevel
                        DisplayString,
                volumeStatus
                    DisplayString,
                volumeSize
                    INTEGER,
                volumeFreeSpace
                    INTEGER
             }

        volumeNumber OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Instance number of the volume entry."
            ::= { volumeEntry 1 }
        
        volumeName OBJECT-TYPE
            SYNTAX DisplayString
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The name of the volume."
            ::= { volumeEntry 2 }
        
        volumeRAIDLevel OBJECT-TYPE
            SYNTAX DisplayString
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The RAID level of the volume."
            ::= { volumeEntry 3 }
        
        volumeStatus OBJECT-TYPE
            SYNTAX DisplayString
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The severity of the volume.
                Possible values:
                1: REDUNDANT
                2: UNPROTECTED
                                3: DEGRADED
                                4: DEAD
                    5: INACTIVE
                                6: UNKNOWN"
            ::= { volumeEntry 4 }
        
        volumeSize OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The size of the volume in megabytes."
            ::= { volumeEntry 5 }
        
        volumeFreeSpace OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Free space on the volume in megabytes."
            ::= { volumeEntry 6 }
        
        psuTable OBJECT-TYPE
            SYNTAX SEQUENCE OF PSUEntry
            ACCESS not-accessible
            STATUS mandatory
            ::= { ngNasManager 8 }
        
        psuEntry OBJECT-TYPE
            SYNTAX PSUEntry
            ACCESS not-accessible
            STATUS mandatory
            INDEX { psuNumber }
            ::= { psuTable 1 }
        
        PSUEntry ::=
            SEQUENCE { 
                psuNumber
                    INTEGER,
                psuStatus
                                        DisplayString,
                                psuDesc
                                        DisplayString
             }

        psuNumber OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Instance number of this power supply unit."
            ::= { psuEntry 1 }
        
        psuDesc OBJECT-TYPE
            SYNTAX DisplayString
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The description of this PSU."
            ::= { psuEntry 2 }
    
                psuStatus OBJECT-TYPE
                        SYNTAX DisplayString
                        ACCESS read-only
                        STATUS mandatory
                        DESCRIPTION
                                "The current PSU status."
                        ::= { psuEntry 3 }

        
        aryMgrEvts OBJECT IDENTIFIER ::= { ngNasManager 200 }
        
        controllerNameEv OBJECT-TYPE
            SYNTAX DisplayString (SIZE (1..64))
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Controller Name for which trap is generated."
            ::= { aryMgrEvts 201 }
        
        channelNumberEv OBJECT-TYPE
            SYNTAX INTEGER (0..3)
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Channel Number for which trap is generated."
            ::= { aryMgrEvts 202 }
        
        targetIDEv OBJECT-TYPE
            SYNTAX INTEGER (0..15)
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "SCSI ID of the device for which trap is generated."
            ::= { aryMgrEvts 203 }
        
        virtualDiskNameEv OBJECT-TYPE
            SYNTAX DisplayString (SIZE (1..64))
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Virtual Disk for which trap is generated."
            ::= { aryMgrEvts 204 }
        
        arrayDiskNameEv OBJECT-TYPE
            SYNTAX DisplayString (SIZE (1..64))
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Array Disk for which trap is generated."
            ::= { aryMgrEvts 205 }
        
        oldVDConfigEv OBJECT-TYPE
            SYNTAX DisplayString (SIZE (1..128))
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Current Virtual Disk configuration for which trap is generated"
            ::= { aryMgrEvts 206 }
        
        newVDConfigEv OBJECT-TYPE
            SYNTAX DisplayString (SIZE (1..128))
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "New Virtual Disk configuration for which trap is generated."
            ::= { aryMgrEvts 207 }
        
        enclosureNumberEv OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Enclosure Number for which trap is generated."
            ::= { aryMgrEvts 208 }
        
        unitNumberEv OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Unit Number for which trap is generated.
                (Fan, Power Supply, Temperature Probe)"
            ::= { aryMgrEvts 209 }
        
        enclosureNameEv OBJECT-TYPE
            SYNTAX DisplayString
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Enclosure Name for which trap is generated."
            ::= { aryMgrEvts 210 }
        
        unitNameEv OBJECT-TYPE
            SYNTAX DisplayString
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Unit Number for which trap is generated.
                (Fan, Power Supply, Temperature Probe)"
            ::= { aryMgrEvts 211 }
        
        timeEv OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Amount of time specified in the trap message."
            ::= { aryMgrEvts 212 }
        
        volumeNameEv OBJECT-TYPE
            SYNTAX DisplayString
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Volume Drive Letter for which trap is generated."
            ::= { aryMgrEvts 213 }
        
    
                fanFailureMesg OBJECT-TYPE
                         SYNTAX DisplayString
                         ACCESS read-only
                         STATUS current
                         DESCRIPTION
                                 "Failure message for Fan"
                         ::= { ngNasManager 400 }        

                tempFailureMesg OBJECT-TYPE    
                         SYNTAX DisplayString
                         ACCESS read-only
                         STATUS current
                         DESCRIPTION
                                 "Failure message for system temperature"
                         ::= { ngNasManager 401 }        
                         
                powerVoltageMesg OBJECT-TYPE    

                         SYNTAX DisplayString
                         ACCESS read-only
                         STATUS current
                         DESCRIPTION
                                 "Failure message for system power"
                         ::= { ngNasManager 402 }        

                raidEventNoticeMesg OBJECT-TYPE    
                         SYNTAX DisplayString
                         ACCESS read-only
                         STATUS current
                         DESCRIPTION
                                 "RAID hotplug event message"
                         ::= { ngNasManager 403 }
        
                snapshotEventNoticeMesg OBJECT-TYPE    
                         SYNTAX DisplayString
                         ACCESS read-only
                         STATUS current
                         DESCRIPTION
                                 "Snapshot messages"
                         ::= { ngNasManager 404 }
        
                upsEventNoticeMesg OBJECT-TYPE    
                         SYNTAX DisplayString
                         ACCESS read-only
                         STATUS current
                         DESCRIPTION
                                 "UPS status message"
                         ::= { ngNasManager 405 }
        
                hotplugDiskNoticeMesg OBJECT-TYPE    
                         SYNTAX DisplayString
                         ACCESS read-only
                         STATUS current
                         DESCRIPTION
                                 "Disk hotplug event messages"
                         ::= { ngNasManager 406 }        
                volumeNoticeMesg OBJECT-TYPE    
                         SYNTAX DisplayString
                         ACCESS read-only
                         STATUS current
                         DESCRIPTION
                                 "Disk usage warning"
                         ::= { ngNasManager 407 }        
                diskTempWarningMesg OBJECT-TYPE
                         SYNTAX DisplayString
                         ACCESS read-only
                         STATUS current
                         DESCRIPTION 
                                 "Disk temperature warning messages"
                         ::= { ngNasManager 408 }
                backupNoticeMesg OBJECT-TYPE    
                         SYNTAX DisplayString
                         ACCESS read-only
                         STATUS current
                         DESCRIPTION
                                 "Backup job status messages"
                         ::= { ngNasManager 409 }
                diskSmartWarningMesg OBJECT-TYPE    
                         SYNTAX DisplayString
                         ACCESS read-only
                         STATUS current
                         DESCRIPTION
                                 "Disk SMART messages"
                         ::= { ngNasManager 410 }
                psuWarningMesg OBJECT-TYPE    
                         SYNTAX DisplayString
                         ACCESS read-only
                         STATUS current
                         DESCRIPTION
                                 "PSU status messages"
                         ::= { ngNasManager 411 }
                systemNoticeMesg OBJECT-TYPE    
                         SYNTAX DisplayString
                         ACCESS read-only
                         STATUS current
                         DESCRIPTION
                                 "Various system alert messages"
                         ::= { ngNasManager 412 }

--
-- Trap definitions
--
        nasTraps OBJECT IDENTIFIER ::= { ngNasManager 300 }
    
        fanFailure TRAP-TYPE
            ENTERPRISE nasTraps    
            VARIABLES { fanFailureMesg }
            DESCRIPTION
                "Fan failure, fan speed is %s."
            ::=  10
--                fanFailure NOTIFICATION-TYPE
--                        SATAUS current
--                        OBJECTS { fanFailureMesg }
--                        DESCRIPTION "Fan failure"
--                        ::= { nasTraps 10}
--              #SEVERITY  ERROR
--              #STATE     FAILED
--              #STATUS    Mandatory
--              ******************************************************
        tempFailure  TRAP-TYPE
            ENTERPRISE nasTraps    
            VARIABLES { tempFailureMesg }
            DESCRIPTION
                "Temperature sensor reports out of normal range. "
            ::=  20
--              ******************************************************
        powerVoltage  TRAP-TYPE
            ENTERPRISE nasTraps    
            VARIABLES { powerVoltageMesg }
            DESCRIPTION
                "System power is out of spec, please check system status! "
            ::=  30
--              ******************************************************
            raidEventNotice  TRAP-TYPE
            ENTERPRISE nasTraps    
            VARIABLES { raidEventNoticeMesg  }
            DESCRIPTION
                "RAID event detected! "
            ::=  40
--              ******************************************************
            snapshotEventNotice  TRAP-TYPE
            ENTERPRISE nasTraps    
            VARIABLES { snapshotEventNoticeMesg  }
            DESCRIPTION
                "Snapshot event detected! "
            ::=  50
--              ******************************************************
            hotplugDiskNotice  TRAP-TYPE
            ENTERPRISE nasTraps    
            VARIABLES { hotplugDiskNoticeMesg }
            DESCRIPTION
                " Hotplug disk event detected! "
            ::=  60

--              ******************************************************
            upsEventNotice  TRAP-TYPE
            ENTERPRISE nasTraps    
            VARIABLES { upsEventNoticeMesg  }
            DESCRIPTION
                "UPS status. "
            ::=  70
--              ******************************************************
            volumeNotice  TRAP-TYPE
            ENTERPRISE nasTraps    
            VARIABLES { volumeNoticeMesg  }
            DESCRIPTION
                "Volume is approaching capacity. "
            ::=  80
            
--              ******************************************************
            diskTempWarning  TRAP-TYPE
            ENTERPRISE nasTraps    
            VARIABLES { diskTempWarningMesg  }
            DESCRIPTION
                "Disk temperature warning. "
            ::=  90
            
--              ******************************************************
            backupNotice  TRAP-TYPE
            ENTERPRISE nasTraps    
            VARIABLES { backupNoticeMesg  }
            DESCRIPTION
                "Backup job status. "
            ::=  100
            
--              ******************************************************
            diskSmartWarning  TRAP-TYPE
            ENTERPRISE nasTraps    
            VARIABLES { diskSmartWarningMesg  }
            DESCRIPTION
                "Disk SMART warning. "
            ::=  110
            
--              ******************************************************
            psuWarning  TRAP-TYPE
            ENTERPRISE nasTraps    
            VARIABLES { psuWarningMesg  }
            DESCRIPTION
                "Power supply unit warning. "
            ::=  120

--              ******************************************************
            systemNotice  TRAP-TYPE
            ENTERPRISE nasTraps    
            VARIABLES { systemNoticeMesg  }
            DESCRIPTION
                "Various system alerts. "
            ::=  130
            
--              ******************************************************
            
--              ******************************************************
            
    
    END

--
-- READYNASOS-MIB.txt
--

Die MIB-Tabelle kann man vom NAS herunterladen.

Hat jemand für mich ein Beispiel/Codezeile?.

Danke

Andreas

Hallo Andreas!

Im Forum finden sich einige Threads zum Thema SNMP. Muss ja nicht direkt mit deinem ReadyNAS zusammenhängen. SNMP ist SNMP :slight_smile:

Beispiele:
http://www.ip-symcon.de/wiki/SNMP

Oder hier: http://www.ip-symcon.de/service/dokumentation/installation/migration-v24-v25/
Dieser Abschnitt:

Durch eine Inkompatibilität von PHP 5.4 und OpenSSL 1.0 können über die „file_get_contents“ (u.ä.) Funktion keine Anfragen per SSL gestellt werden. Die IP-Symcon interne Funktion Sys_GetURLContent bietet dort passenden Ersatz. Falls die SSL Funktionalität zwingend notwendig ist (z.B. Exchange oder SNMP Extension), und SSL innerhalb vom WebFront nicht benötigt wird, kann die alte Verhaltensweise mit folgendem Zusatzpaket wiederhergestellt werden: OpenSSL 0.9.8

Den Rest darfst du alleine raussuchen :slight_smile:

Grüße,
Chris

Hallo,

irgendwie komme ich nicht weiter.
Wenn ich mit dem MIB-Browser die für mich relevanten ODIs abrufe bekomme ich die Daten. Kann es sein das ich mit ssnmp nicht alle ODIs abrufen kann?

Andreas

Wenn es mit dem MIB-Browser klappt, dann muss es auch über das Tool mit IPS funktionieren. Hast du vlt. vergessen die Read-Community mit anzugeben? Oder SNMP nur von bestimmten IP-Adressen erlaubt? …?

Hier hat grad jemand etwas passendes veröffentlicht, vlt. kommst du damit ans Ziel:
SNMP Client - Geräte-Status von NAS (QNAP, Synology) oder SNMP Servern allg. auslesen

Grüße,
Chris

Hallo,

das Script aus dem Link verwende ich verwende ich.


// Auszug 
$snmp->registerSNMPObj(".1.3.6.1.2.1.25.2.2.0", "SystemTotalMem");
$snmp->registerSNMPObj(".1.3.6.1.4.1.24681.1.2.3.0", "SystemFreeMem");
$snmp->registerSNMPObj(".1.3.6.1.4.1.4526.22.7.1.5.1", "SysVolumeTotalSize");
$snmp->registerSNMPObj(".1.3.6.1.4.1.4526.22.7.1.6", "SysVolumeFreeSpace"); 
$snmp->registerSNMPObj(".1.3.6.1.4.1.4526.22.7.1.4", "VolumeStatus"); 
$snmp->registerSNMPObj(".1.3.6.1.4.1.4526.22.7.1.3", "VolumeRAIDLevel"); 
$snmp->registerSNMPObj(".1.3.6.1.2.1.1.3.0", "SystemUptime"); 
$snmp->registerSNMPObj(".1.3.6.1.4.1.24681.1.2.6.0", "System-Temperature");
$snmp->registerSNMPObj(".1.3.6.1.4.1.4526.22.4.1.2", "System-FanSpeed"); 
$snmp->registerSNMPObj(".1.3.6.1.4.1.4526.22.4.1.3", "System-FanStatus"); 
$snmp->registerSNMPObj(".1.3.6.1.4.1.4526.22.3.1.10.1", "HDTemperature1"); 
$snmp->registerSNMPObj(".1.3.6.1.4.1.4526.22.3.1.10.2", "HDTemperature2"); 
$snmp->registerSNMPObj(".1.3.6.1.4.1.4526.22.5.1.2", "CPUTemperature"); 
$snmp->registerSNMPObj(".1.3.6.1.4.1.24681.1.2.11.1.3.4", "CPUTemperatureMax"); 
$snmp->registerSNMPObj(".1.3.6.1.4.1.4526.22.3.1.9.1", "HDStatus1");
$snmp->registerSNMPObj(".1.3.6.1.4.1.4526.22.3.1.9.2", "HDStatus2");

Um zu überprüfen werden die Werte erstmal in einer String-Variable gespeichert

und hier mal ein Print vom MIB-Browser bei dem die Werte angezeigt werden

Andreas

Abend Andreas!

Probier mal mit dieser „Mini-Version“. Vielleicht kommst du deinem Problem dann schneller auf die Spur.

<?
$host           = "10.0.0.110"; // IP Adresse
$community      = "read";     // SNMP Community
$binary = "C:\Tools\ssnmpq\ssnmpq.exe";   // Pfad zum Tool

function snmp($oid)
{
    global $host, $community, $binary;
    $oid = ltrim($oid,".");
    $value = IPS_Execute($binary, "/h:$host /c:$community /o:$oid /v", false, true);
    $value = trim($value);
    return $value;
}

echo snmp (".1.3.6.1.2.1.1.5.0")."
"; // device name
echo snmp (".1.3.6.1.4.1.6574.1.5.1.0")."
";  // modell
echo snmp (".1.3.6.1.4.1.6574.1.5.3.0")."
";  // version
?>

Ein Rechteproblem scheint es nicht zu sein, sonst würden Systemspezifische Sachen nicht ausgelesen werden können. Also vlt. eher ein Fehler im Script?! Mit diesem Mini-Script kannst du mal die ganzen Dinger durchtesten.

Grüße,
Chris

Hallo Chris,

das gleiche Ergebnis. Aber trotzdem Danke für den Tip. Scheint wirklich an der ssnmpq.exe zu liegen.

Schönen Sonntag

Andreas

Moin!

Im MIB-Browser nutzt du auch die Community „public“?

Poste doch mal bitte einen Screenshot vom NAS, wo man die SNMP Einstellungen sehen kann.

Edit: Wo ich gerade den Screenshot vom MIB-Browser nochmal sehe. Da sieht es aus als hättest du die MIB vom NAS geladen. Also könntest du noch versuchen die MIB mit dem SSNMPQ-Tool zu laden. Das geht wie folgt:

/m:<Path> Path to additional MIB-files (multiple allowed)

Also diese Zeil im Script ändern und $path mit deinem Pfad zur MIB füllen:

$path = ...........;
$value = IPS_Execute($binary, "/h:$host /c:$community /o:$oid /m:$path /v", false, true); 

Grüße,
Chris

Hallo Chris,

Einstellung vom NAS

Wenn nichts eingetragen ist können alle Hosts zugreifen (Ich habe es aber auch mit der IP vom IPS-Server probiert).
Welches Suffix muß das MIB-File haben? Oder ist das egal?

Leider wirft das Skript einen Fehler aus, der scheinbar mit dem Pfad zusammenhängt.

VG

Andreas

Abend!

Du hast in Zeile 5 oder 6 einen Fehler mit den "
…weil danach ist alles ausgegraut, als wäre es Text zwischen „“. Die Farben müssten anders aussehen im Editor, also stimmt da was nicht!

Und wenn dann, wenn du den Fehler gefunden hast, immer noch Probleme mit dem Pfad sind, dann probier mal statt /m einfach mal /w oder /r
> siehe hier: Simple SNMP Query Tool - Digi Grupp

Dateiendung ist *.mib

Grüße,
Chris

Hallo Chris,

ich mache nebenbei für den Betrieb die Bilanz :wink: mir gehen jetzt schon die Augen über. Der Fehler liegt in der Zeile 6 Der fehlt am Ende ein Blank

$path          = "D:\ServerFolders\IPSymcon\IP-Symcon\IPStools\ssnmpq\ ";

Notice:  Undefined variable: path in D:\ServerFolders\IPSymcon\IP-Symcon\scripts\51258.ips.php on line 12
507284

Notice:  Undefined variable: path in D:\ServerFolders\IPSymcon\IP-Symcon\scripts\51258.ips.php on line 12


Notice:  Undefined variable: path in D:\ServerFolders\IPSymcon\IP-Symcon\scripts\51258.ips.php on line 12
947268

Notice:  Undefined variable: path in D:\ServerFolders\IPSymcon\IP-Symcon\scripts\51258.ips.php on line 12


Notice:  Undefined variable: path in D:\ServerFolders\IPSymcon\IP-Symcon\scripts\51258.ips.php on line 12


Notice:  Undefined variable: path in D:\ServerFolders\IPSymcon\IP-Symcon\scripts\51258.ips.php on line 12


Notice:  Undefined variable: path in D:\ServerFolders\IPSymcon\IP-Symcon\scripts\51258.ips.php on line 12
07:34:16.7300000

Notice:  Undefined variable: path in D:\ServerFolders\IPSymcon\IP-Symcon\scripts\51258.ips.php on line 12


Notice:  Undefined variable: path in D:\ServerFolders\IPSymcon\IP-Symcon\scripts\51258.ips.php on line 12


Notice:  Undefined variable: path in D:\ServerFolders\IPSymcon\IP-Symcon\scripts\51258.ips.php on line 12

Abort Processing during exceed of maximal ErrorCount: Undefined variable: path
   Error in Script D:\ServerFolders\IPSymcon\IP-Symcon\scripts\51258.ips.php on Line 12

Jetzt mault IPS wegen dem Pfad :mad:.

Ich glaube es ist besser ich höre für heute auf.

VG

Andreas

Hallo Chris,

ich konnte doch nicht aufhören :p.
Den ersten Fehler gefunden. Mein neuer Verdacht hat sich bestätigt - es lag an den exportierten ODIs aus dem MIB-Browser. Nach dem ich den MIB-Browser auf einem anderen Rechner installiert hatte und ich die extrahierten ODIs erneut exportiert hatte funktionierte es.

Danke für die Hilfe und den Gedankenanstoß

Andreas

Moin Andreas!

Gern geschehen :slight_smile: Dran bleiben lohnt sich :slight_smile:

…und weiter geht es mit dem nächsten Projekt :smiley:

Grüße,
Chris

Hallo Chris,

bevor ich das Script anpasse hatte ich gedacht ich lese mal noch unser DATSI-NAS aus. Auch von NetGear etwas älter auch mit ReadyNAS OS
aber bis auf 4 gleiche ODIs sind die anderen Parameter Grund verschieden. Welche MIBs lädst du eigendlich im MIB Browser? Ich habe SNMPv2-TC und SNMPv2-MIB geladen. Welche MIB`s sollte man sonst noch laden.
Wie gesagt mit SNMP kenne ich mich nicht besonders aus.

VG

Andreas

Ich lade gar keine MIB :slight_smile: Eine MIB braucht man dann, wenn man die OID nicht selbst zuordnen kann. Also quasi um aus 1.3.5.7.3.2.5.4… einen sinnvoll lesbaren Text zu machen, um zu wissen, dass sich z.B. hinter dem Wert 44322, der freie Speicherplatz in MB versteckt.

z.B.:
1.3.6.1.2.1.1.5 - sysName

Und man braucht eine MIB, wenn man sonst nirgends dokumentiert findet, mit welchen OID man welche Daten bekommt? :slight_smile:

Es gibt „Grundwerte“, die sind immer in SNMP vorhanden, wie z.B. der Name. Dann gibt es noch weitere OID, welche jeder Hersteller selbst angibt und befüllt, diese findet man dann über eine MIB. Aber meistens sind die auch in irgendwelchen Papers dokumentiert. Zur Not hilft auch immer mal ein „snmpwalk“, die gefundenen Werte dann z.B. mit Webinterface Werten vergleichen und dann kommt man auch ans Ziel.

Grüße,
Chris

Hallo Chris,

So habe ich es auch gemacht. Einfach einen Walk und mit dem Webinterface verglichen. Aber leider sind beim ReadyNas Duo im Webinterface keine CPU-Temperatur und Lüfterangaben zu finden. Ich werde es mal auf die brutale Art versuchen und den Lüfter mal anhalten :stuck_out_tongue:

Danke

VG

Andreas

Dann vlt. doch lieber eine Runde googlen oder die MIB irgendwo auftreiben :smiley: Sollte eine MIB nicht online zu finden sein, bekommt man die meistens, auf Anfrage per Email, von den Herstellern geschickt.

Grüße,
Chris