IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:Logstash

共 2 篇相关文章

IT 累计浏览 2,548

用 LEK 组合处理 Nginx 访问日志

这篇讲的是作者在使用 Logstash 处理 Tengine/Nginx 通过 syslog 发送的访问日志时,遇到的几个实际性能瓶颈及优化方案。文章首先指出,在高压力下 Logstash 的 Grok 插件容易成为瓶颈,因此作者建议在日志格式可控时,优先考虑用分隔符格式配合 Ruby 脚本或自定义 LogFormat 来替代 Grok 解析。 然而真正的坑在后面:运行后发现日志接收带宽异常低,排查发现是 Logstash 的 syslog input 插件采用了单线程 UDP 监听,导致接收队列(Recv-Q)持续堆积。作者对比了 Fluentd 的异步实现,并考虑到 Logstash 基于 JRuby 的扩展复杂性,最终选择了一个更直接的方案:用 Perl 的高性能 AnyEvent 库重写了一个专门的异步日志收集脚本。这个脚本同样将日志输出为 Elasticsearch 兼容格式,使得原有的 Kibana 仪表盘无需任何改动。最终效果立竿见影,日志接收带宽从瓶颈时的 60 MBps 恢复到了正常的 300 MBps。

IT 累计浏览 2,652

【翻译】用 elasticsearch 和 elasticsearch 为数十亿次客户搜索提供服务

这篇讲的是邮件服务商 Mailgun 如何为数百万客户提供对每月数十亿封邮件事件的实时搜索与分析。面对原有日志 API 的功能短板,他们构建了基于 Elasticsearch 和 Logstash 的新后端。 核心方案是将所有邮件事件(如发送、拒绝、打开等)通过 Logstash 从 Redis 接入,存入 Elasticsearch 集群,从而提供灵活的字段过滤与全文搜索。文章详细分享了几个关键实践:为满足不同账户的数据保留需求,他们设计了灵活的索引轮转策略;为了处理复杂的事件数据结构,他们定义了详细的自定义 mapping,并巧妙运用了 not_analyzed 属性和多字段类型来优化查询与聚合统计。 此外,文章还介绍了如何通过一个名为 Vulcan 的双层代理来解决 Elasticsearch 原生缺乏的认证问题,以及如何利用 Graphite 和自研的 Vör 工具监控集群状态。整个方案最终让 Mailgun 控制面板拥有了强大的实时日志分析能力。