Отправка данных Sensu в базу данных притока не удалась

Я пытался отправить данные из Sensu в Influx DB. Я создал БД для Sensu, а также обновил для прослушивания порта 8090 в моем случае. Логин пользователя выглядит нормально на influxdb.
Я настроил почти все, что похоже на эту ссылку https://libraries.io/github/nohtyp/sensu-influxdb

Я не добился никакого успеха и не вижу никаких данных в базе данных. Кто-нибудь пробовал это?


person pczanwar    schedule 22.12.2016    source источник
comment
Можете ли вы включить немного больше информации. Что вы имеете в виду, что это не удается?   -  person Michael Desa    schedule 28.12.2016


Ответы (1)


Вы также можете использовать пользовательский сценарий, если конфигурация по умолчанию не работает. он дает возможность записывать только те данные, которые вы хотите сохранить, перед запуском скрипта установите 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