83 lines
1.8 KiB
Python
83 lines
1.8 KiB
Python
defaults = {
|
|
'apt': {
|
|
'packages': {
|
|
'docker-ce': {},
|
|
'docker-ce-cli': {},
|
|
'docker-compose-plugin': {},
|
|
},
|
|
'repos': {
|
|
'docker': {
|
|
'items': {
|
|
'deb https://download.docker.com/linux/debian {os_release} stable',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
'backups': {
|
|
'paths': {
|
|
'/var/opt/docker-engine',
|
|
},
|
|
},
|
|
'hosts': {
|
|
'entries': {
|
|
'172.17.0.1': {
|
|
'host.docker.internal',
|
|
},
|
|
},
|
|
},
|
|
'docker-engine': {
|
|
'config': {
|
|
'iptables': False,
|
|
'no-new-privileges': True,
|
|
},
|
|
},
|
|
'zfs': {
|
|
'datasets': {
|
|
'tank/docker-data': {
|
|
'mountpoint': '/var/opt/docker-engine',
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
|
|
@metadata_reactor.provides(
|
|
'icinga2_api/docker-engine/services',
|
|
)
|
|
def monitoring(metadata):
|
|
services = {
|
|
'DOCKER PROCESS': {
|
|
'command_on_monitored_host': '/usr/lib/nagios/plugins/check_procs -C dockerd -c 1:',
|
|
},
|
|
}
|
|
|
|
for app in metadata.get('docker-engine/containers', {}):
|
|
services[f'DOCKER CONTAINER {app}'] = {
|
|
'command_on_monitored_host': f'sudo /usr/local/share/icinga/plugins/check_docker_container {app}'
|
|
}
|
|
|
|
return {
|
|
'icinga2_api': {
|
|
'docker-engine': {
|
|
'services': services,
|
|
},
|
|
},
|
|
}
|
|
|
|
|
|
@metadata_reactor.provides(
|
|
'zfs/datasets',
|
|
)
|
|
def zfs(metadata):
|
|
datasets = {}
|
|
|
|
for app in metadata.get('docker-engine/containers', {}):
|
|
datasets[f'tank/docker-data/{app}'] = {
|
|
'mountpoint': f'/var/opt/docker-engine/{app}'
|
|
}
|
|
|
|
return {
|
|
'zfs': {
|
|
'datasets': datasets,
|
|
},
|
|
}
|