add check disk usage

This commit is contained in:
2025-02-23 12:45:32 +01:00
parent 16b1bd0d24
commit 45ca563416

View File

@@ -123,6 +123,26 @@ class DockerSwarmMemoryResource(nagiosplugin.Resource):
return nagiosplugin.Metric(name='memory', value=memory_usage_percent, uom='%', context='scalar_context') return nagiosplugin.Metric(name='memory', value=memory_usage_percent, uom='%', context='scalar_context')
#
# Check Swarm disk
#
class DockerSwarmDiskResource(nagiosplugin.Resource):
def __init__(self, api) -> None:
self.api = api
def probe(self) -> list:
"""check disk usage of full swarm
Returns:
nagiosplugin.Metric: single metric element (return)
"""
data = self.api.statistics()
disk = data['disk']
disk_usage_percent = round(disk['usage'], 2)
return nagiosplugin.Metric(name='disk', value=disk_usage_percent, uom='%', context='scalar_context')
# #
# Check Swarm services # Check Swarm services
# #
@@ -277,6 +297,7 @@ def parse_args() -> argparse.Namespace:
choices=[ choices=[
'load', 'load',
'memory', 'memory',
'disk',
'service_states', 'service_states',
'service_updates' 'service_updates'
], ],
@@ -322,6 +343,12 @@ def main():
nagiosplugin.ScalarContext(name='scalar_context', warning=args.warning, critical=args.critical), nagiosplugin.ScalarContext(name='scalar_context', warning=args.warning, critical=args.critical),
nagiosplugin.Summary()) nagiosplugin.Summary())
check.name = "swarm memory" check.name = "swarm memory"
case 'disk':
check = nagiosplugin.Check(
DockerSwarmDiskResource(api=api),
nagiosplugin.ScalarContext(name='scalar_context', warning=args.warning, critical=args.critical),
nagiosplugin.Summary())
check.name = "swarm disk"
case 'service_states': case 'service_states':
check = nagiosplugin.Check( check = nagiosplugin.Check(
DockerSwarmServiceStatesResource(api=api), DockerSwarmServiceStatesResource(api=api),