2016-12-22 7 views
0

SensuからInflux DBにデータを送信しようとしました。 Sensu用にDBを作成しましたが、私のケースではポート8090でリッスンするように更新しました。 ユーザーのログインは、influxdb上で正常に見えます。
私は 誰もがこれを試してみました。..任意の成功を得ていない、データベース内のデータが表示されないのですか?このリンクに似てほとんどすべて https://libraries.io/github/nohtyp/sensu-influxdbSensuデータをinfluxデータベースに送信できません

を設定し

+0

さらに詳しい情報を含めることができますか?それが失敗するとはどういう意味ですか? –

答えて

0

デフォルトの設定が機能しない場合は、カスタムスクリプトを使用することもできます。それはあなたが保存したいデータのみを書き込むようにオプションを与える、スクリプトを実行する前に、インストールInfluxDBClient(須藤はapt-getのの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"] 
} 

はそれが役に立てば幸い!

関連する問題