1
0
mirror of https://github.com/librenms/librenms-agent.git synced 2024-05-09 09:54:52 +00:00
Files
librenms-librenms-agent/snmp/redis.py
Jellyfrog 61064dc9fe Cleanup some code (#355)
* Format with isort

* Format with Black

* Fix CRLF

* Format with shellcheck

* Fix some warning

* Fix PHP style

* Dont modifiy check_mk files

* Fixes
2021-03-18 12:24:30 +01:00

55 lines
1017 B
Python
Executable File

#!/usr/bin/env python3
import json
import subprocess
shell_cmd = "redis-cli info"
all_data = (
subprocess.Popen(shell_cmd, shell=True, stdout=subprocess.PIPE)
.stdout.read()
.split(b"\n")
)
version = 1
error = 0
error_string = ""
redis_data = {}
# stdout list to json
try:
category = ""
for d in all_data:
d = d.replace(b"\r", b"")
if d in [b""]:
continue
if d.startswith(b"#"):
category = d.replace(b"# ", b"").decode("utf-8")
redis_data[category] = {}
continue
if not len(category):
error = 2
error_string = "category not defined"
break
k, v = d.split(b":")
k = k.decode("utf-8")
v = v.decode("utf-8")
redis_data[category][k] = v
except:
error = 1
error_string = "data extracting error"
output = {
"version": version,
"error": error,
"errorString": error_string,
"data": redis_data,
}
print(json.dumps(output))