logstash - 在 ELK 堆栈中使用 filebeat 和 logstash 从多个服务器获取日志的任何推荐想法?
问题描述
在我的办公室基础设施中有 3 个服务器,即 feature_server、develop_server 和 log_server。两台服务器当前都在运行 nginx 服务。我想做的是如何使用 ELk 堆栈(logstash 和 filebeats)从他们两个收集 nginx 日志。它已经在一台服务器上工作。任何想法都将不胜感激。
解决方案
您需要在两台服务器上安装 filebeat 并将 filebeat 输出配置为发送到单个 logstash 实例。您可以添加其他字段作为来自具有不同服务器值的 filebeat 的输入,并在 logstash 中使用该字段来区分日志。
filebeat.inputs:
- type: log
paths:
- "/var/log/apache2/*"
fields:
server_name: "feature"
fields_under_root: true
当您将它们从 logstash 发送到 Elasticsearch 时,您还可以将该字段用作索引。
Output:{
elasticsearch {
index => "logstash-%{[fields][server_name]}-%{+YYYY.MM.dd}"
}
}
所有配置都取决于您希望如何在 Kibana 中查看日志。
推荐阅读
- java - recyclerview-selection 如何监听事件 onSelectionEnter 和事件 onSelectionExit
- c# - C# 中用于硬币点的 REST API
- sql - 为什么我不能将数据从 CSV 文件导入到表中?
- postgresql - Flask 从 flask_sqlalchemy 查询返回 '(Decimal('0.82483097725875845114'),),'。如何清理?
- python - Python pandas cumsum 在另一列中按值重置
- python - Python:在深度嵌套的字典或数组中转换类型
- java - 在单独的 JVM 上执行新的 JavaFX 应用程序
- python - 散景仅绘制网络抓取数据中的特定列
- python - 如何获取字符串的每个组合?
- r - 如何根据R中的类别将长格式转换为宽格式