コード例 #1
0
ファイル: test_hostinfo.py プロジェクト: scopier/nelsnmp
def test_hostinfo_get_vendor(sysobject):
    handler = SnmpHandler(host='1.1.1.1', version='2c', community='public')
    hostinfo = HostInfo(handler)
    hostinfo.get_vendor()
    assert hostinfo.vendor == 'cisco'
コード例 #2
0
def test_hostinfo_get_vendor(declared_hostinfo):
    dev = SnmpHandler(host='1.1.1.1', version='2c', community='public')
    hostinfo = HostInfo(dev)
    hostinfo.get_vendor()
    assert hostinfo.vendor == 'cisco'
コード例 #3
0
def test_hostinfo_get_vendor_unknown(declared_hostinfo_unknown_vendor):
    dev = SnmpHandler(host='1.1.1.1', version='2c', community='public')
    hostinfo = HostInfo(dev)
    hostinfo.get_vendor()
    assert hostinfo.vendor == 'UNKNOWN'
コード例 #4
0
ファイル: check_environment.py プロジェクト: ogenstad/nelmon
def main():

    argparser = SnmpArguments(description)

    args = argparser.parser.parse_nelmon_args()
    snmp = NelmonSnmp(args)

    hostinfo = HostInfo(snmp)
    hostinfo.get_vendor()

    if hostinfo.vendor != 'cisco':
        nelmon_exit(C.UNKNOWN, '%s v%s only works with Cisco devices' % (C.CURRENT_PLUGIN, NelmonGlobals.PLUGIN_VERSION))

    env_tables = snmp.getnext(O.ciscoEnvMonObjects)
    volt_sensors = {}
    temp_sensors = {}
    fan_sensors = {}
    pw_sensors = {}
    s = SensorCollection()
    for env_table in env_tables:
        for oid, value in env_table:
            if O.ciscoEnvMonVoltageStatusTable in oid:
                sensor_id = oid.rsplit('.', 1)[-1]
                if not sensor_id in volt_sensors.keys():
                    volt_sensors[sensor_id] = Sensor(sensor_id)
                if O.ciscoEnvMonVoltageStatusDescr in oid:
                    volt_sensors[sensor_id].set_description(value)
                if O.ciscoEnvMonVoltageStatusValue in oid:
                    volt_sensors[sensor_id].set_value(value)
                if O.ciscoEnvMonVoltageState in oid:
                    volt_sensors[sensor_id].set_state(value)
            if O.ciscoEnvMonTemperatureStatusTable in oid:
                sensor_id = oid.rsplit('.', 1)[-1]
                if not sensor_id in temp_sensors.keys():
                    temp_sensors[sensor_id] = Sensor(sensor_id)
                if O.ciscoEnvMonTemperatureStatusDescr in oid:
                    temp_sensors[sensor_id].set_description(value)
                if O.ciscoEnvMonTemperatureStatusValue in oid:
                    temp_sensors[sensor_id].set_value(value)
                if O.ciscoEnvMonTemperatureState in oid:
                    temp_sensors[sensor_id].set_state(value)
            if O.ciscoEnvMonFanStatusTable in oid:
                sensor_id = oid.rsplit('.', 1)[-1]
                if not sensor_id in fan_sensors.keys():
                    fan_sensors[sensor_id] = Sensor(sensor_id)
                if O.ciscoEnvMonFanStatusDescr in oid:
                    fan_sensors[sensor_id].set_description(value)
                if O.ciscoEnvMonFanState in oid:
                    fan_sensors[sensor_id].set_state(value)
            if O.ciscoEnvMonSupplyStatusTable in oid:
                sensor_id = oid.rsplit('.', 1)[-1]
                if not sensor_id in pw_sensors.keys():
                    pw_sensors[sensor_id] = Sensor(sensor_id)
                if O.ciscoEnvMonSupplyStatusDescr in oid:
                    pw_sensors[sensor_id].set_description(value)
                if O.ciscoEnvMonSupplyState in oid:
                    pw_sensors[sensor_id].set_state(value)

    for sensor in volt_sensors:
        s.add_sensor('volt', volt_sensors[sensor].description, volt_sensors[sensor].state)
    for sensor in temp_sensors:
        s.add_sensor('temp', temp_sensors[sensor].description, temp_sensors[sensor].state)
    for sensor in fan_sensors:
        s.add_sensor('fan', fan_sensors[sensor].description, fan_sensors[sensor].state)
    for sensor in pw_sensors:
        s.add_sensor('pw', pw_sensors[sensor].description, pw_sensors[sensor].state)

    s.set_message()
    nelmon_exit(s.status, s.output)