0

Logstash からの出力としてメッセージのサブセットを Flowdock に送信しようとしています。残念ながら、この問題により、メッセージが届かない理由については基本的に何も返ってきません。基本的な例に落とし込むと、出力構成を次のように変更しても問題が発生します。

output {
  http {
    http_method => "post"
    url => "https://api.flowdock.com/v1/messages/team_inbox/API_TOKEN"
    format => "message"
    content_type => "application/json"
    message => "{\"source\":\"logstash\",\"from_address\":\"me@example.com\", \"subject\":\"Log Message\", \"content\":\"test\"}"
  }
}

ただし、出力に次を追加すると、ログメッセージがファイルに書き込まれるため、出力は一般的に機能していることはわかっています。

file {
  path => "/mnt/test.log"
}

また、Flowdock に送信している http メッセージが機能するはずであることも知っています。

curl -X POST https://api.flowdock.com/v1/messages/team_inbox/API_TOKEN -d "{\"source\":\"logstash\",\"from_address\":\"me@example.com\",\"subject\":\"Log Message\",\"content\":\"test\"}" -H "Content-Type: application/json"

チームの受信トレイにメッセージが投稿されます。

この問題を回避して、logstash からの出力が失敗する理由を特定する方法はありますか?

4

1 に答える 1

3

最初に Logstash からのリクエストを、受信したリクエストを出力するだけのサービス ( RequestBin など) に送信して、問題のデバッグを開始します

何かのようなもの:

output {
  http {
    http_method => "post"
    url => "http://requestb.in/<created_id>"
    format => "message"
    content_type => "application/json"
    message => "{\"source\":\"logstash\",\"from_address\":\"me@example.com\",\"subject\":\"Log Message\", \"content\":\"test\"}"
  }
}

Logstash が行っている要求が正しいことを確認したら、その要求 (できれば正確なデータ) を受け取り、curlまたは他の手段を使用して Flowdock に送信してみてください。

この時点で、どちらの側でもリクエストが失敗した理由を説明し、それに応じて関係者に通知できるはずです (つまり、https: //logstash.jira.com/secure/Dashboard.jspa へのチケットを開くか、support@flowdock に電子メールを送信します)。 .com)。

于 2014-04-10T07:18:41.680 に答える