首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果重新启动日志记录实例,Nginx无法将日志发送到远程syslog。

如果重新启动日志记录实例,Nginx无法将日志发送到远程syslog。
EN

Stack Overflow用户
提问于 2019-02-14 15:32:29
回答 1查看 1K关注 0票数 1

我使用一个kubernetes集群,其中我有一个Nginx实例和一个ELK来收集集群日志。

为了将它的日志输出到我的logstash容器,我对nginx进行了以下配置:

代码语言:javascript
运行
复制
access_log syslog:server=qa-logstash.monitoring.svc:5046,tag=nginx_access main;
error_log syslog:server=qa-logstash.monitoring.svc:5046,tag=nginx_error info;

这种配置似乎没有问题,因为当我启动nginx时,日志将被正确地发送到logstash.

如果由于某种原因,logstash容器关闭或重新启动,则会出现问题。如果发生这种情况,nginxs就会停止将其日志发送到我的logstash,,即使日志存储已经启动并再次运行。

让它再次工作的唯一方法是重新启动我的nginx。

nginx有处理这种案件的机制吗?我的配置中遗漏了什么吗?我觉得这件事应该开门见山,我在我的头上犯了一些错误。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-02-14 15:47:20

我建议您使用一个日志收集工具,如fluentd或filebeat来获取您的nginx日志。因此,即使logstash实例失败,nginx也将继续正常工作,而无需重新启动它。

您可以选择将日志收集工具部署为与nginx容器并排的侧服务器,或者使用守护进程从集群中的所有荚收集日志。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54693921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档