nginx: remove telegraf and icinga2 metadata reactors
This commit is contained in:
parent
210eb40aa6
commit
2960c1d5d8
1 changed files with 1 additions and 71 deletions
|
@ -98,51 +98,6 @@ def index_files(metadata):
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@metadata_reactor.provides(
|
|
||||||
'icinga2_api/nginx/services',
|
|
||||||
)
|
|
||||||
def monitoring(metadata):
|
|
||||||
services = {}
|
|
||||||
|
|
||||||
for vname, vconfig in metadata.get('nginx/vhosts', {}).items():
|
|
||||||
domain = vconfig.get('domain', vname)
|
|
||||||
|
|
||||||
if vconfig['ssl']:
|
|
||||||
scheme = 'https'
|
|
||||||
else:
|
|
||||||
scheme = 'http'
|
|
||||||
|
|
||||||
if 'website_check_path' in vconfig and 'website_check_string' in vconfig:
|
|
||||||
services['NGINX VHOST {} CONTENT'.format(vname)] = {
|
|
||||||
'check_command': 'check_http_wget',
|
|
||||||
'vars.http_wget_contains': vconfig['website_check_string'],
|
|
||||||
'vars.http_wget_url': '{}://{}{}'.format(scheme, domain, vconfig['website_check_path']),
|
|
||||||
'vars.notification.sms': True,
|
|
||||||
}
|
|
||||||
|
|
||||||
if vconfig.get('check_ssl', vconfig['ssl']):
|
|
||||||
services['NGINX VHOST {} CERTIFICATE'.format(vname)] = {
|
|
||||||
'check_command': 'check_https_cert_at_url',
|
|
||||||
'vars.domain': domain,
|
|
||||||
'vars.notification.mail': True,
|
|
||||||
}
|
|
||||||
|
|
||||||
max_connections = metadata.get('nginx/worker_connections') * metadata.get('nginx/worker_processes')
|
|
||||||
connections_warn = int(max_connections * 0.8)
|
|
||||||
connections_crit = int(max_connections * 0.9)
|
|
||||||
|
|
||||||
services['NGINX STATUS'] = {
|
|
||||||
'command_on_monitored_host': '/usr/local/share/icinga/plugins/check_nginx_status --warn={},-1,-1 --critical={},-1,-1 -H 127.0.0.1:22999'.format(connections_warn, connections_crit),
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
'icinga2_api': {
|
|
||||||
'nginx': {
|
|
||||||
'services': services,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
@metadata_reactor.provides(
|
@metadata_reactor.provides(
|
||||||
'monit/services/nginx/http',
|
'monit/services/nginx/http',
|
||||||
)
|
)
|
||||||
|
@ -171,6 +126,7 @@ def monithttp(metadata):
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@metadata_reactor.provides(
|
@metadata_reactor.provides(
|
||||||
'firewall/port_rules/80',
|
'firewall/port_rules/80',
|
||||||
'firewall/port_rules/443',
|
'firewall/port_rules/443',
|
||||||
|
@ -184,29 +140,3 @@ def firewall(metadata):
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@metadata_reactor.provides(
|
|
||||||
'telegraf/input_plugins/tail',
|
|
||||||
)
|
|
||||||
def telegraf_anon_timing(metadata):
|
|
||||||
result = {}
|
|
||||||
|
|
||||||
for vhost in metadata.get('nginx/vhosts', {}):
|
|
||||||
result[f'nginx-{vhost}'] = {
|
|
||||||
'files': [f'/var/log/nginx-timing/{vhost}.log'],
|
|
||||||
'from_beginning': False,
|
|
||||||
'grok_patterns': ['%{LOGPATTERN}'],
|
|
||||||
'grok_custom_patterns': 'LOGPATTERN \[%{HTTPDATE:ts:ts-httpd}\] %{NUMBER:request_time:float} (?:%{NUMBER:upstream_response_time:float}|-) "%{WORD:verb:tag} %{NOTSPACE:request} HTTP/%{NUMBER:http_version:float}" %{NUMBER:resp_code:tag}',
|
|
||||||
'data_format': 'grok',
|
|
||||||
'name_override': 'nginx_timing',
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
'telegraf': {
|
|
||||||
'input_plugins': {
|
|
||||||
'tail': result,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue