私は、私のdjangoサーバから集中ログにELKスタックを使用しています。マイELKスタックは、リモートサーバー上にあり、logstash.confが働いているelasticsearchとlogstashこのDjangoサーバはログをログに送信しません
input {
tcp {
port => 5959
codec => json
}
}
output {
elasticsearch {
hosts => ["xx.xx.xx.xx:9200"]
}
}
両方のサービスのように見える(docker-compose logs logstash
を使用してチェック)。私は、コンソールがまったくlogs.Iは、上記構築するためのDjangoサーバでのpython-logstashライブラリを使用していない示して私のジャンゴ・サーバとlogstashハンドラは、ログを処理実行
LOGGING = {
'version': 1,
'handlers': {
'logstash': {
'level': 'INFO',
'class': 'logstash.TCPLogstashHandler',
'host': 'xx.xx.xx.xx',
'port': 5959, # Default value: 5959
'version': 0, # Version of logstash event schema. Default value: 0 (for backward compatibility of the library)
'message_type': 'django', # 'type' field in logstash message. Default value: 'logstash'.
'fqdn': True, # Fully qualified domain name. Default value: false.
'tags': ['django.request'], # list of tags. Default: None.
},
},
'loggers': {
'django.request': {
'handlers': ['logstash'],
'level': 'DEBUG',
},
}
}
以下のように
私のジャンゴサーバーの設定ファイルには、CONFをログに記録していますCONFしかしログは、私は多くの質問で確認
私のリモートサーバーに送信されていない、サービスが実行されているポートが正しいですが、ログが送信されない理由を手掛かりはconfiguratiを見てみると
"django.request"はすべてのイベントをフィルタリングしないのですか? –
Djangoリクエストはすべてのリクエストログを送信すると仮定されています –
'fqdn'を' False'に変更しようとしましたか? –