Responses codes

This commit is contained in:
Antoine Van Elstraete 2021-12-27 23:32:47 +01:00
parent 659bbc5c83
commit 8990114eb3
Signed by: AntoineVe
GPG Key ID: E36069A977E2A9ED
2 changed files with 53 additions and 0 deletions

52
knot_ Executable file
View File

@ -0,0 +1,52 @@
#!/usr/bin/env python3
import yaml
from sys import argv
from os import getenv
def responses(stats, config):
'''
This will show what knot have responded.
'''
responses_stats = {}
if 'response-code' not in stats['mod-stats']:
responses_stats.update({'NOERROR': 0})
else:
for code in stats['mod-stats']['response-code']:
responses_stats.update(
{
code:
stats['mod-stats']['response-code'][code]
}
)
# Configure the plugin :
if config:
print("graph_title Knot responses")
print("graph_category dns")
print("graph_vlabel responses")
print("graph_args --base 1000 --lower-limit 0")
for code in responses_stats:
print(f"{code}.label {code}")
print(f"{code}.type DERIVE")
print(f"{code}.min 0")
else: # Send the values
for code in responses_stats:
print(f"{code}.value {responses_stats[code]}")
if __name__ == '__main__':
# Retrieve datas :
file = getenv('stats_file_path')
with open(file, "r") as stats_file:
stats = yaml.safe_load(stats_file)
if len(argv) > 1 and argv[1] == "config":
config = True
else:
config = False
if "responses" in argv[0]:
responses(stats, config)
elif "proto" in argv[0]:
pass
else:
pass # Nothing happens if no "munin underscore args"

1
knot_responses Symbolic link
View File

@ -0,0 +1 @@
knot_