62 lines
1.5 KiB
Python
62 lines
1.5 KiB
Python
defaults = {
|
|
'apt': {
|
|
'packages': {
|
|
'ppp': {},
|
|
'pppoe': {},
|
|
'python3-requests': {},
|
|
'python3-netifaces': {},
|
|
'ndisc6': {},
|
|
},
|
|
},
|
|
'cron': {
|
|
'jobs': {
|
|
'restart-pppoe-if-no-public-ip': '*/5 * * * * root /usr/local/bin/restart-pppoe-if-no-public-ip',
|
|
},
|
|
},
|
|
'icinga2_api': {
|
|
'pppd': {
|
|
'services': {
|
|
'PPPD PROCESS': {
|
|
'command_on_monitored_host': '/usr/lib/nagios/plugins/check_procs -C pppd -c 1:',
|
|
},
|
|
'PPPOE PROCESS': {
|
|
'command_on_monitored_host': '/usr/lib/nagios/plugins/check_procs -C pppoe -c 1:',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
|
|
@metadata_reactor.provides(
|
|
'interfaces',
|
|
)
|
|
def ignore_interface(metadata):
|
|
return {
|
|
'interfaces': {
|
|
metadata.get('pppd/interface'): {
|
|
'ignore': True,
|
|
},
|
|
},
|
|
}
|
|
|
|
|
|
@metadata_reactor.provides(
|
|
'icinga2_api/pppd/services',
|
|
)
|
|
def icinga_dyndns(metadata):
|
|
if not metadata.get('pppd/dyndns', {}):
|
|
return {}
|
|
|
|
return {
|
|
'icinga2_api': {
|
|
'pppd': {
|
|
'services': {
|
|
'DYNDNS UPDATE': {
|
|
'command_on_monitored_host': '/usr/local/share/icinga/plugins/check_dyndns_update',
|
|
'vars.notification.mail': True,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|