我使用ELK堆栈来从我的django服务器进行集中式日志记录。我ELK栈是一个远程服务器上,并logstash.conf看起来像elasticsearch和logstash正在此Django服务器不发送日志到logstash
input {
tcp {
port => 5959
codec => json
}
}
output {
elasticsearch {
hosts => ["xx.xx.xx.xx:9200"]
}
}
两个服务(使用docker-compose logs logstash
选中)。
我Django的服务器的设置文件中有记录的conf像下面
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',
},
}
}
我跑我的Django服务器和logstash处理程序处理的日志,控制台显示没有logs.I使用中的python-logstash库在Django服务器之上构建CONF但日志不能发送到我的远程服务器
我经历了许多的问题检查,验证服务正在运行的端口是正确的,但不知道为什么日志不会被发送到logstash
你确定“django.request”没有过滤掉所有的事件吗? –
Django请求应该发送所有的请求日志 –
你有没有试过把'fqdn'改成'False'? –