Exemplo n.º 1
0
)

# We are not sure how to safely detect the UCD SNMP Daemon. We know that
# it is mainly used on Linux, but not only. But fetching and OID outside
# of the info area for scanning is not a good idea. It will slow down
# scans for *all* hosts.

#   ---ucd cpu load---------------------------------------------------------

# We prefer HOST-RESOURCES-MIB implementation but not in case
# of check 'ucd_cpu_load' because the HR-MIB has not data
# about cpu load

#   ---general ucd/hr-------------------------------------------------------

HR = exists(".1.3.6.1.2.1.25.1.1.0")

_NOT_HR = not_exists(".1.3.6.1.2.1.25.1.1.0")

UCD = any_of(
    contains(".1.3.6.1.2.1.1.1.0", "linux"),
    contains(".1.3.6.1.2.1.1.1.0", "cmc-tc"),
    contains(".1.3.6.1.2.1.1.1.0", "hp onboard administrator"),
    contains(".1.3.6.1.2.1.1.1.0", "barracuda"),
    contains(".1.3.6.1.2.1.1.1.0", "pfsense"),
    contains(".1.3.6.1.2.1.1.1.0", "genugate"),
    contains(".1.3.6.1.2.1.1.1.0", "bomgar"),
    contains(".1.3.6.1.2.1.1.1.0", "pulse secure"),
    all_of(  # Artec email archive appliances
        equals(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.8072.3.2.10"),
        contains(".1.3.6.1.2.1.1.1.0", "version"),
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright (C) 2019 tribe29 GmbH - License: GNU General Public License v2
# This file is part of Checkmk (https://checkmk.com). It is subject to the terms and
# conditions defined in the file COPYING, which is part of this source code package.
from cmk.base.plugins.agent_based.agent_based_api.v0 import (
    exists,
    parse_string_table,
    register,
    SNMPTree,
)

register.snmp_section(
    name="snmp_quantum_storage_info",
    parse_function=parse_string_table,
    trees=[
        SNMPTree(
            base=".1.3.6.1.4.1.2036.2.1.1",  # qSystemInfo
            oids=[
                "4",  # 0 1 qVendorID
                "5",  # 0 2 qProdId
                "6",  # 0 3 qProdRev
                "12",  # 0 4 qSerialNumber
            ],
        ),
    ],
    detect=exists(".1.3.6.1.4.1.2036.2.1.1.4.0"),
)
Exemplo n.º 3
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright (C) 2019 tribe29 GmbH - License: GNU General Public License v2
# This file is part of Checkmk (https://checkmk.com). It is subject to the terms and
# conditions defined in the file COPYING, which is part of this source code package.
from cmk.base.plugins.agent_based.agent_based_api.v0 import (
    all_of,
    contains,
    exists,
)

DETECT_RICOH = all_of(
    contains(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.367.1.1"),
    exists(".1.3.6.1.4.1.367.3.2.1.2.19.5.1.5.1"),
)
Exemplo n.º 4
0
# conditions defined in the file COPYING, which is part of this source code package.
from cmk.base.plugins.agent_based.agent_based_api.v0 import (
    exists,
    OIDEnd,
    parse_string_table,
    register,
    SNMPTree,
)

register.snmp_section(
    name="snmp_extended_info",
    parse_function=parse_string_table,
    trees=[
        SNMPTree(
            base=".1.3.6.1.2.1.47.1.1.1.1",
            oids=[
                OIDEnd(),
                "2",  # entPhysicalDescr
                "4",  # entPhysicalContainedIn
                "5",  # entPhysicalClass
                "7",  # entPhysicalName
                "10",  # entPhysicalSoftwareRev (NEW)
                "11",  # entPhysicalSerialNum
                "12",  # entPhysicalMfgName (NEW)
                "13",  # entPhysicalModelName
            ],
        ),
    ],
    detect=exists(".1.3.6.1.2.1.47.1.1.1.1.*"),
)
Exemplo n.º 5
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright (C) 2019 tribe29 GmbH - License: GNU General Public License v2
# This file is part of Checkmk (https://checkmk.com). It is subject to the terms and
# conditions defined in the file COPYING, which is part of this source code package.
from cmk.base.plugins.agent_based.agent_based_api.v0 import (
    all_of,
    contains,
    exists,
    parse_string_table,
    register,
    SNMPTree,
)

register.snmp_section(
    name="infoblox_osinfo",
    parse_function=parse_string_table,
    trees=[
        SNMPTree(
            base=".1.3.6.1.4.1.2021.100",
            oids=[
                '6.0',  # versionConfigureOptions
            ],
        ),
    ],
    detect=all_of(
        exists(".1.3.6.1.4.1.2021.4.1.*"),
        contains(".1.3.6.1.2.1.1.1.0", "infoblox"),
    ),
)
Exemplo n.º 6
0
# -*- coding: utf-8 -*-
# Copyright (C) 2019 tribe29 GmbH - License: GNU General Public License v2
# This file is part of Checkmk (https://checkmk.com). It is subject to the terms and
# conditions defined in the file COPYING, which is part of this source code package.
from cmk.base.plugins.agent_based.agent_based_api.v0 import (
    exists,
    parse_string_table,
    register,
    SNMPTree,
)

register.snmp_section(
    name="dell_hw_info",
    parse_function=parse_string_table,
    trees=[
        SNMPTree(
            base=".1.3.6.1.4.1.674.10892.5",
            oids=[
                "1.3.2.0",  # IDRAC-MIB::systemServiceTag
                "1.3.3.0",  # IDRAC-MIB::systemExpressServiceCode
                "4.300.50.1.7.1.1",  # IDRAC-MIB::systemBIOSReleaseDateName
                "4.300.50.1.8.1.1",  # IDRAC-MIB::systemBIOSVersionName
                "4.300.50.1.11.1.1",  # IDRAC-MIB::systemBIOSManufacturerName
                "5.1.20.130.1.1.2.1",  # IDRAC-MIB::controllerName
                "5.1.20.130.1.1.8.1",  # IDRAC-MIB::controllerFWVersion
            ],
        ),
    ],
    detect=exists(".1.3.6.1.4.1.674.10892.5.1.1.1.0"),
)
Exemplo n.º 7
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright (C) 2019 tribe29 GmbH - License: GNU General Public License v2
# This file is part of Checkmk (https://checkmk.com). It is subject to the terms and
# conditions defined in the file COPYING, which is part of this source code package.
from cmk.base.plugins.agent_based.agent_based_api.v0 import (
    exists,
    parse_string_table,
    register,
    SNMPTree,
)

register.snmp_section(
    name="snmp_os",
    parse_function=parse_string_table,
    trees=[
        SNMPTree(
            base=".1.3.6.1.2.1.1",
            oids=[
                '1.0',  # sysDescr
                '2.0',  # sysObjectID
                '3.0',  # sysUpTime
                '5.0',  # sysName
            ],
        ),
    ],
    detect=exists(".1.3.6.1.2.1.1.1.0"),
)