3
import logging
import graypy

my_logger = logging.getLogger('test_logger')
my_logger.setLevel(logging.DEBUG)

handler = graypy.GELFHandler('my_graylog_server', 12201)
my_logger.addHandler(handler)

my_adapter = logging.LoggerAdapter(logging.getLogger('test_logger'),
                                   { 'username': 'John' })

my_adapter.debug('Hello Graylog2 from John.')

動かない

/gelf ターミナルからグレイログサーバーにカールすると機能するため、送信先のURLに問題があると思います

 curl -XPOST http://my_graylog_server:12201/gelf -p0 -d '{"short_message":"Hello there", "host":"example1111.org", "facility":"test", "_foo":"bar"}'
4

2 に答える 2

6

Graylog Web アプリを開き、[システム] をクリックします。右側にリンクのリストが表示されます。それらの 1 つが「入力」です。これをクリックします。これで、さまざまなポートでリッスンしている、実行中のすべての入力の概要がわかりました。ページの上部で、新しいページを作成できます。入力リスナーの特定のモードを含むドロップ ボックスが必要です (「GELF AMQP」が標準だと思います)。これを GELF UDP に変更し、次のダイアログで [Launch new input] をクリックして、サービスのポートを指定できます。メッセージを保存する必要があるノードも設定する必要があります。このノードは、graylog2 システム全体と同じ IP として (または持つ必要があります)。

これでメッセージを受信できるはずです

于 2015-06-09T08:48:54.313 に答える
1

UDP の代わりに Gelf TCP の入力ストリームをセットアップしたと思います。TCP ストリームをセットアップすると、curl メッセージが表示されました。ただし、私の python アプリケーションはストリームに送信されません。次に、Gelf UDP ストリームを作成すると、出来上がりです! ほんの少し前に、Graylog EC2 アプライアンスを構成するのと同じ問題に遭遇しました。

また、ファイアウォール/セキュリティ グループがポート 12201 でも UDP プロトコルをブロックしていないことを確認してください。

頑張ってください。これがあなたの問題であることを願っています!

于 2015-03-20T19:43:55.500 に答える