Compare commits
4 Commits
8990114eb3
...
0f1ac76bcc
Author | SHA1 | Date | |
---|---|---|---|
0f1ac76bcc | |||
3e3608960f | |||
3a1845d8cd | |||
d7f2926222 |
38
knot_
38
knot_
@ -24,7 +24,7 @@ def responses(stats, config):
|
||||
if config:
|
||||
print("graph_title Knot responses")
|
||||
print("graph_category dns")
|
||||
print("graph_vlabel responses")
|
||||
print("graph_vlabel responses / ${graph_period}")
|
||||
print("graph_args --base 1000 --lower-limit 0")
|
||||
for code in responses_stats:
|
||||
print(f"{code}.label {code}")
|
||||
@ -35,18 +35,50 @@ def responses(stats, config):
|
||||
print(f"{code}.value {responses_stats[code]}")
|
||||
|
||||
|
||||
def proto(stats, config):
|
||||
'''
|
||||
This will show if ipv4 or ipv6 and if tcp or udp are used.
|
||||
'''
|
||||
proto_stats = {}
|
||||
if 'request-protocol' not in stats['mod-stats']:
|
||||
proto_stats.update({'udp4': 0})
|
||||
else:
|
||||
for proto in stats['mod-stats']['request-protocol']:
|
||||
proto_stats.update(
|
||||
{
|
||||
proto:
|
||||
stats['mod-stats']['request-protocol'][proto]
|
||||
}
|
||||
)
|
||||
if config: # Configure the plugin
|
||||
print("graph_title Knot protocols")
|
||||
print("graph_category dns")
|
||||
print("graph_vlabel numbers of requests / ${graph_period}")
|
||||
print("graph_args --base 1000 --lower-limit 0")
|
||||
for proto in proto_stats:
|
||||
print(f"{proto}.label {proto}")
|
||||
print(f"{proto}.type DERIVE")
|
||||
print(f"{proto}.min 0")
|
||||
else: # Send the values
|
||||
for proto in proto_stats:
|
||||
print(f"{proto}.value {proto_stats[proto]}")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Retrieve datas :
|
||||
file = getenv('stats_file_path')
|
||||
munin_time = getenv('munin_time', 300)
|
||||
with open(file, "r") as stats_file:
|
||||
stats = yaml.safe_load(stats_file)
|
||||
if "mod-stats" not in stats:
|
||||
raise Exception("Please configure knot with mod-stats")
|
||||
if len(argv) > 1 and argv[1] == "config":
|
||||
config = True
|
||||
else:
|
||||
config = False
|
||||
if "responses" in argv[0]:
|
||||
responses(stats, config)
|
||||
responses(stats, config, munin_time)
|
||||
elif "proto" in argv[0]:
|
||||
pass
|
||||
proto(stats, config, munin_time)
|
||||
else:
|
||||
pass # Nothing happens if no "munin underscore args"
|
||||
|
1
knot_proto
Symbolic link
1
knot_proto
Symbolic link
@ -0,0 +1 @@
|
||||
knot_
|
Loading…
Reference in New Issue
Block a user