Compare commits
2 Commits
4294372e41
...
4d6becffa1
| Author | SHA1 | Date | |
|---|---|---|---|
| 4d6becffa1 | |||
| 493a395150 |
@@ -8,7 +8,7 @@
|
||||
- https://easysnmp.readthedocs.io/en/latest/session_api.html
|
||||
"""
|
||||
|
||||
__version__ = '0.13.1'
|
||||
__version__ = '0.14.0'
|
||||
__author__ = 'anima'
|
||||
|
||||
# imports
|
||||
@@ -491,6 +491,7 @@ class SNMPSynologyDiskHealthResource(nagiosplugin.Resource, SNMPSynologyDisk):
|
||||
Generator[nagisplugin.Metric]: multiple metric elements (yield)
|
||||
"""
|
||||
disks = self.get_disks()
|
||||
yield nagiosplugin.Metric(name='disk_count', value=len(disks), context='disk_scalar_context')
|
||||
for disk in disks:
|
||||
yield nagiosplugin.Metric(name=disk['id'], value=disk, context='disk_status_context')
|
||||
yield nagiosplugin.Metric(name=disk['id'], value=disk, context='disk_health_context')
|
||||
@@ -759,80 +760,96 @@ def main():
|
||||
# dice which check will be run bases on check_mode
|
||||
match args.check_mode:
|
||||
case 'system':
|
||||
check = nagiosplugin.Check(SNMPSynologySystemResource(session=session),
|
||||
SNMPSynologySystemContext(name='system_context'),
|
||||
nagiosplugin.Summary())
|
||||
check = nagiosplugin.Check(
|
||||
SNMPSynologySystemResource(session=session),
|
||||
SNMPSynologySystemContext(name='system_context'),
|
||||
nagiosplugin.Summary())
|
||||
check.name = "System Status"
|
||||
case 'temperature':
|
||||
check = nagiosplugin.Check(SNMPSynologyTemperatureResource(session=session),
|
||||
nagiosplugin.ScalarContext(name='temperature_scalar_context', warning=args.warning, critical=args.critical),
|
||||
nagiosplugin.Summary())
|
||||
check = nagiosplugin.Check(
|
||||
SNMPSynologyTemperatureResource(session=session),
|
||||
nagiosplugin.ScalarContext(name='temperature_scalar_context', warning=args.warning, critical=args.critical),
|
||||
nagiosplugin.Summary())
|
||||
check.name = "System Temperature"
|
||||
case 'powersupply':
|
||||
check = nagiosplugin.Check(SNMPSynologyPowerSupplyResource(session=session),
|
||||
SNMPSynologyPowerSupplyContext(name='powersupply_context'),
|
||||
nagiosplugin.Summary())
|
||||
check = nagiosplugin.Check(
|
||||
SNMPSynologyPowerSupplyResource(session=session),
|
||||
SNMPSynologyPowerSupplyContext(name='powersupply_context'),
|
||||
nagiosplugin.Summary())
|
||||
check.name = "Power Supply Status"
|
||||
case 'fans':
|
||||
check = nagiosplugin.Check(SNMPSynologyFansResource(session=session),
|
||||
SNMPSynologyFansContext(name='fan_context'),
|
||||
SNMPSynologySummary())
|
||||
check = nagiosplugin.Check(
|
||||
SNMPSynologyFansResource(session=session),
|
||||
SNMPSynologyFansContext(name='fan_context'),
|
||||
SNMPSynologySummary())
|
||||
check.name = "Fans Status"
|
||||
case 'firmware':
|
||||
check = nagiosplugin.Check(SNMPSynologyFirmwareResource(session=session),
|
||||
SNMPSynologyFirmwareContext(name='firmware_context'),
|
||||
nagiosplugin.Summary())
|
||||
check = nagiosplugin.Check(
|
||||
SNMPSynologyFirmwareResource(session=session),
|
||||
SNMPSynologyFirmwareContext(name='firmware_context'),
|
||||
nagiosplugin.Summary())
|
||||
check.name = "Firmware"
|
||||
case 'cpu':
|
||||
check = nagiosplugin.Check(SNMPSynologyCPUResource(session=session),
|
||||
nagiosplugin.ScalarContext(name='cpu_scalar_context', warning=args.warning, critical=args.critical),
|
||||
nagiosplugin.Summary())
|
||||
check = nagiosplugin.Check(
|
||||
SNMPSynologyCPUResource(session=session),
|
||||
nagiosplugin.ScalarContext(name='cpu_scalar_context', warning=args.warning, critical=args.critical),
|
||||
nagiosplugin.Summary())
|
||||
check.name = "CPU Usage"
|
||||
case 'memory':
|
||||
check = nagiosplugin.Check(SNMPSynologyMemoryResource(session=session),
|
||||
nagiosplugin.ScalarContext(name='memory_scalar_context', warning=args.warning, critical=args.critical),
|
||||
nagiosplugin.Summary())
|
||||
check = nagiosplugin.Check(
|
||||
SNMPSynologyMemoryResource(session=session),
|
||||
nagiosplugin.ScalarContext(name='memory_scalar_context', warning=args.warning, critical=args.critical),
|
||||
nagiosplugin.Summary())
|
||||
check.name = "Memory Usage"
|
||||
case 'disk':
|
||||
check = nagiosplugin.Check(SNMPSynologyDiskHealthResource(session=session),
|
||||
SNMPSynologyDiskHealthContext(name='disk_health_context'),
|
||||
SNMPSynologyDiskStatusContext(name='disk_status_context'),
|
||||
SNMPSynologySummary())
|
||||
check = nagiosplugin.Check(
|
||||
SNMPSynologyDiskHealthResource(session=session),
|
||||
SNMPSynologyDiskHealthContext(name='disk_health_context'),
|
||||
SNMPSynologyDiskStatusContext(name='disk_status_context'),
|
||||
nagiosplugin.ScalarContext(name='disk_scalar_context', warning=args.warning, critical=args.critical),
|
||||
SNMPSynologySummary())
|
||||
check.name = "Disk Health"
|
||||
case 'disk_retry':
|
||||
check = nagiosplugin.Check(SNMPSynologyDiskRetryResource(session=session),
|
||||
nagiosplugin.ScalarContext(name='disk_retry_scalar_context', warning=args.warning, critical=args.critical),
|
||||
nagiosplugin.Summary())
|
||||
check = nagiosplugin.Check(
|
||||
SNMPSynologyDiskRetryResource(session=session),
|
||||
nagiosplugin.ScalarContext(name='disk_retry_scalar_context', warning=args.warning, critical=args.critical),
|
||||
nagiosplugin.Summary())
|
||||
check.name = "Disk Connection Retrys"
|
||||
case 'disk_life':
|
||||
check = nagiosplugin.Check(SNMPSynologyDiskLifeResource(session=session),
|
||||
nagiosplugin.ScalarContext(name='disk_life_scalar_context', warning=args.warning, critical=args.critical),
|
||||
nagiosplugin.Summary())
|
||||
check = nagiosplugin.Check(
|
||||
SNMPSynologyDiskLifeResource(session=session),
|
||||
nagiosplugin.ScalarContext(name='disk_life_scalar_context', warning=args.warning, critical=args.critical),
|
||||
nagiosplugin.Summary())
|
||||
check.name = "Disk Remaining Life"
|
||||
case 'disk_ident':
|
||||
check = nagiosplugin.Check(SNMPSynologyDiskIdentResource(session=session),
|
||||
nagiosplugin.ScalarContext(name='disk_ident_scalar_context', warning=args.warning, critical=args.critical),
|
||||
nagiosplugin.Summary())
|
||||
check = nagiosplugin.Check(
|
||||
SNMPSynologyDiskIdentResource(session=session),
|
||||
nagiosplugin.ScalarContext(name='disk_ident_scalar_context', warning=args.warning, critical=args.critical),
|
||||
nagiosplugin.Summary())
|
||||
check.name = "Disk IdentFail"
|
||||
case 'disk_sectors':
|
||||
check = nagiosplugin.Check(SNMPSynologyDiskSectorsResource(session=session),
|
||||
nagiosplugin.ScalarContext(name='disk_sectors_scalar_context', warning=args.warning, critical=args.critical),
|
||||
nagiosplugin.Summary())
|
||||
check = nagiosplugin.Check(
|
||||
SNMPSynologyDiskSectorsResource(session=session),
|
||||
nagiosplugin.ScalarContext(name='disk_sectors_scalar_context', warning=args.warning, critical=args.critical),
|
||||
nagiosplugin.Summary())
|
||||
check.name = "Disk BadSectors"
|
||||
case 'raid':
|
||||
check = nagiosplugin.Check(SNMPSynologyRaidStatusResource(session=session),
|
||||
SNMPSynologyRaidStatusContext(name='raid_status_context'),
|
||||
SNMPSynologySummary())
|
||||
check = nagiosplugin.Check(
|
||||
SNMPSynologyRaidStatusResource(session=session),
|
||||
SNMPSynologyRaidStatusContext(name='raid_status_context'),
|
||||
SNMPSynologySummary())
|
||||
check.name = "Raid status"
|
||||
case 'raid_space':
|
||||
check = nagiosplugin.Check(SNMPSynologyRaidSpaceResource(session=session),
|
||||
nagiosplugin.ScalarContext(name='raid_space_scalar_context', warning=args.warning, critical=args.critical),
|
||||
nagiosplugin.Summary())
|
||||
check = nagiosplugin.Check(
|
||||
SNMPSynologyRaidSpaceResource(session=session),
|
||||
nagiosplugin.ScalarContext(name='raid_space_scalar_context', warning=args.warning, critical=args.critical),
|
||||
nagiosplugin.Summary())
|
||||
check.name = "Raid space usage"
|
||||
case 'ups':
|
||||
check = nagiosplugin.Check(SNMPSynologyUPSResource(session=session),
|
||||
SNMPSynologyUPSContext(name='ups_context'),
|
||||
SNMPSynologySummary())
|
||||
check = nagiosplugin.Check(
|
||||
SNMPSynologyUPSResource(session=session),
|
||||
SNMPSynologyUPSContext(name='ups_context'),
|
||||
SNMPSynologySummary())
|
||||
check.name = "UPS status"
|
||||
case _:
|
||||
raise nagiosplugin.CheckError(f'Unknown check mode: {args.check_mode}')
|
||||
|
||||
Reference in New Issue
Block a user