Вы также можете использовать пользовательский сценарий, если конфигурация по умолчанию не работает. он дает возможность записывать только те данные, которые вы хотите сохранить, перед запуском скрипта установите InfluxDBClient (sudo apt-get install python-influxdb)
from influxdb import InfluxDBClient
import fileinput
import json
import string
import datetime
json_body = " "
for line in fileinput.input():
json_body = json_body + string.replace(line, '\n', ' ')
json_body = json.loads(json_body)
alert_in_ip = str(json_body["client"]["name"])
alert_in_ip = 'ip-' + string.replace(alert_in_ip, '.', '-')
alert_type = json_body["check"]["name"]
status = str(json_body['check']['status'])
time_stamp =(datetime.datetime.fromtimestamp(int(json_body["timestamp"])).strftime('%Y-%m-%d %H:%M:%S'))
json_body = [{ "measurement": alert_type,
"tags": {
"host": alert_in_ip
},
"time": time_stamp,
"fields": {
"value": int(status)
}
}]
client = InfluxDBClient('localhost', 8086, 'root', 'root', 'sensu')
client.write_points(json_body)
И вызовите приведенный выше скрипт из своего обработчика.
Например:
"sendinflux":{
"type": "pipe",
"command": "echo $(cat) | /usr/bin/python /home/ubuntu/save_to_influx.py",
"severites": ["critical", "unknown"]
}
Надеюсь, поможет!!
person
Roshan
schedule
09.01.2017