From 66e7062a2cff7c5bdb7f0abd5b347343d03ea452 Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Sat, 3 Jun 2023 17:24:02 +0200 Subject: [PATCH] update project --- agent_based/inv_huawei_hw_components.py | 114 ++++++++++++++++++++ gui/views/inv_huawei_hw_components.py | 36 +++++++ inv_huawei_hw_components-0.2.0-20230602.mkp | Bin 0 -> 2163 bytes inv_huawei_hw_components.mkp | Bin 2092 -> 2163 bytes packages/inv_huawei_hw_components | 18 ++-- 5 files changed, 159 insertions(+), 9 deletions(-) create mode 100644 agent_based/inv_huawei_hw_components.py create mode 100644 gui/views/inv_huawei_hw_components.py create mode 100644 inv_huawei_hw_components-0.2.0-20230602.mkp diff --git a/agent_based/inv_huawei_hw_components.py b/agent_based/inv_huawei_hw_components.py new file mode 100644 index 0000000..2c395dc --- /dev/null +++ b/agent_based/inv_huawei_hw_components.py @@ -0,0 +1,114 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +# License: GNU General Public License v2 +# +# Author: thl-cmk[at]outlook[dot]com +# URL : https://thl-cmk.hopto.org +# Date : 2020-07-14 +# +# extended inventory of Huawei hardware components +# +# 2023-06-02: rewritten for cmk 2.1 + +from typing import Dict, List + +from cmk.base.plugins.agent_based.agent_based_api.v1 import ( + register, + SNMPTree, + startswith, + TableRow, + OIDEnd, +) +from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( + InventoryResult, + StringTable, +) + + +def _get_snmp_date(manufactured_date): + year = (ord(manufactured_date[0]) << 8) + ord(manufactured_date[1]) + month = ord(manufactured_date[2]) + day = ord(manufactured_date[3]) + return f'{year}-{month:02d}-{day:02d}' + + +def parse_inv_huawei_hw_components(string_table: List[StringTable]) -> Dict: + phys_entities, huawei_entities = string_table + section = {} + phys_dict = {} + + for entry in phys_entities: + oid_end, description, name, hardware_rev, firmware_rev, software_rev, serial_num, mfg_name = entry + phys_dict[oid_end] = {} + phys_dict[oid_end]['description'] = description + phys_dict[oid_end]['name'] = name + phys_dict[oid_end]['hardware_revision'] = hardware_rev + phys_dict[oid_end]['firmware_revision'] = firmware_rev + phys_dict[oid_end]['software_revision'] = software_rev + phys_dict[oid_end]['vendor'] = mfg_name + phys_dict[oid_end]['serial_number'] = serial_num + + for entry in huawei_entities: + oid_end, bom_id, bom_en_desc, manufactured_date, board_type, optical_vendor_sn = entry + if bom_en_desc != '': + section[oid_end] = {} + section[oid_end]['bom_id'] = bom_id + section[oid_end]['bom_description'] = bom_en_desc + section[oid_end]['manufactured_date'] = _get_snmp_date(manufactured_date) + section[oid_end]['board_type'] = board_type + section[oid_end].update(phys_dict[oid_end]) + section[oid_end]['serial_number'] = optical_vendor_sn + + return section + + +def inventory_huawei_hw_components(section: Dict) -> InventoryResult: + path = ['hardware', 'components', 'huawei'] + + for key, value in section.items(): + yield TableRow( + path=path, + key_columns={ + 'index': key + }, + inventory_columns=value + ) + + +register.snmp_section( + name='inv_huawei_hw_components', + parse_function=parse_inv_huawei_hw_components, + fetch=[ + SNMPTree( + base='.1.3.6.1.2.1.47.1.1.1.1', + oids=[ + OIDEnd(), + '2', # entPhysicalDescr + '7', # entPhysicalName + '8', # entPhysicalHardwareRev + '9', # entPhysicalFirmwareRev + '10', # entPhysicalSoftwareRev + '11', # entPhysicalSerialNum + '12', # entPhysicalMfgName + ] + ), + SNMPTree( + base='.1.3.6.1.4.1.2011.5.25.31.1.1', + oids=[ + OIDEnd(), + '2.1.1', # hwEntityBomId + '2.1.2', # hwEntityBomEnDesc + '2.1.4', # hwEntityManufacturedDate + '2.1.11', # hwEntityBoardType + '3.1.4' # hwEntityOpticalVendorSn + ] + ) + ], + detect=startswith('.1.3.6.1.2.1.1.2.0', '.1.3.6.1.4.1.2011') +) + +register.inventory_plugin( + name='inv_huawei_hw_components', + inventory_function=inventory_huawei_hw_components, +) diff --git a/gui/views/inv_huawei_hw_components.py b/gui/views/inv_huawei_hw_components.py new file mode 100644 index 0000000..aa33b5b --- /dev/null +++ b/gui/views/inv_huawei_hw_components.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*-; py-indent-offset: 4 -*- + +from cmk.gui.plugins.views.utils import ( + inventory_displayhints, +) +from cmk.gui.plugins.views.inventory import ( + declare_invtable_view, + ) +from cmk.gui.i18n import _ + + +inventory_displayhints.update({ + '.hardware.components.huawei:': {'title': _('Huawei'), + 'keyorder': ['index', 'name', 'description', 'board_type', 'serial_number', + 'manufactured_date', 'vendor', + ], + 'view': 'invhuaweicomponents_of_host', + }, + '.hardware.components.huawei:*.index': {'title': _('Index'), }, + '.hardware.components.huawei:*.name': {'title': _('Name')}, + '.hardware.components.huawei:*.description': {'title': _('Description'), }, + '.hardware.components.huawei:*.bom_id': {'title': _('BOM ID'), }, + '.hardware.components.huawei:*.bom_description': {'title': _('BOM Description')}, + '.hardware.components.huawei:*.manufactured_date': {'title': _('Manufactured Date')}, + '.hardware.components.huawei:*.board_type': {'title': _('Board Type'), }, + '.hardware.components.huawei:*.software_revision': {'title': _('Software Revision'), }, + '.hardware.components.huawei:*.firmware_revision': {'title': _('Firmware Revision'), }, + '.hardware.components.huawei:*.hardware_revision': {'title': _('Hardware Revision'), }, + '.hardware.components.huawei:*.serial_number': {'title': _('Serial Number'), }, + '.hardware.components.huawei:*.vendor': {'title': _('Vendor'), }, + +}) + +declare_invtable_view('invhuaweicomponents', '.hardware.components.huawei:', _('Huawei hardware components'), + _('Huawei hardware components')) diff --git a/inv_huawei_hw_components-0.2.0-20230602.mkp b/inv_huawei_hw_components-0.2.0-20230602.mkp new file mode 100644 index 0000000000000000000000000000000000000000..aa676f3dc822dfbfacb4a2f2508a03f7f70839bd GIT binary patch literal 2163 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 literal 0 HcmV?d00001 diff --git a/inv_huawei_hw_components.mkp b/inv_huawei_hw_components.mkp index 084edc35b50cb44e40f93d34bbbe1d7102e05a33..aa676f3dc822dfbfacb4a2f2508a03f7f70839bd 100644 GIT binary patch delta 2126 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 E0EjFxKL7v# delta 2074 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 E02LfFi2wiq diff --git a/packages/inv_huawei_hw_components b/packages/inv_huawei_hw_components index cce8645..acd8777 100644 --- a/packages/inv_huawei_hw_components +++ b/packages/inv_huawei_hw_components @@ -1,11 +1,11 @@ -{'author': u'Th.L. (thl-cmk[at]outlook[dot]com)', - 'description': u'SNMP inventory for Huawei hardware components.', +{'author': 'Th.L. (thl-cmk[at]outlook[dot]com)', + 'description': 'SNMP inventory for Huawei hardware components.\n', 'download_url': 'https://thl-cmk.hopto.org', - 'files': {'inventory': ['huawei_hw_components'], - 'web': ['plugins/views/inv_huawei_hw_components.py']}, + 'files': {'agent_based': ['inv_huawei_hw_components.py'], + 'gui': ['views/inv_huawei_hw_components.py']}, 'name': 'inv_huawei_hw_components', - 'num_files': 2, - 'title': u'Inventory for Huawei hardware components', - 'version': '20200714.v0.1c', - 'version.min_required': '1.2.8b8', - 'version.packaged': '1.4.0p38'} \ No newline at end of file + 'title': 'Inventory for Huawei hardware components', + 'version': '0.2.0-20230602', + 'version.min_required': '2.1.0b1', + 'version.packaged': '2.1.0p21', + 'version.usable_until': '2.2.0b1'} \ No newline at end of file -- GitLab