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