2016-12-22 5 views
0

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

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

+0

У вас есть дополнительная информация. Что вы имеете в виду, что это не удается? –

ответ

0

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

Надеется, что это помогает !!