我需要什么样的设置 - Storing/Aggregating/Reporting 云中的日志文件
What kind of setup I need for - Storing/Aggregating/Reporting Log files in the cloud
我在多个 windows 集群上有大约 1000 个站点。 IIS 日志文件(文本文档)可用于服务器上设置位置中的每个站点。我正在查看的解决方案应该能够执行以下操作。
1) 将日志文件推送到云端。
2) 读取这些日志文件并汇总 url 的访问、查看、点击等数据,并将其存储在云中以便于报告。
3) 通过第三方报告解决方案访问汇总数据。
首先,我想弄清楚我的选择是什么以及我需要什么样的设置。
我和你有类似的用例。我使用工具 NXLog -> Logstash -> Elasticsearch -> Kibana(ELK 堆栈)。我发现此解决方案易于使用和扩展。我的使用非常关注规模(>40,000 logs/second)和高可用性(无停机时间),这是一个很好的解决方案。我会按照您提出问题的顺序解决您的问题:
我们使用 NXLog 发送日志文件。
- 在每台要从中收集日志的 Windows 机器上安装 NXLog。 https://www.loggly.com/docs/logging-from-windows/
- 配置 NXLog 以将 IIS 日志转换为 JSON https://www.loggly.com/docs/iis-web-server-logs/
NXLog 将这些日志发送到 Logstash。
- 安装和配置 Logstash。 Logstash 将收集您的所有日志(如果您选择使用 Logstash,您甚至可以从其他来源发送)并对数据进行规范化。
https://www.elastic.co/guide/en/logstash/current/installing-logstash.html
- 将 NXLog 配置为指向您刚刚设置的 Logstash。
- 安装和配置 Elasticsearch。 Elasticsearch 是一个高度可扩展的全文搜索引擎,允许您存储和分析大量数据。
https://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html
- 将 Logstash 配置为指向该 Elasticsearch。这是一个带有示例配置的博客 post。
https://blog.sstorie.com/importing-iis-logs-into-elasticsearch-with-logstash/
- 安装和配置 Kibana 以实现可视化。
https://www.elastic.co/downloads/kibana
- 使用 Kibana 创建和可视化聚合
https://www.elastic.co/blog/kibana-aggregation-execution-order-and-you
- 哪个第三方报告解决方案?您能否提供更多信息,也许我也可以提供帮助?
有关将 ELK 堆栈用于日志记录用例的更多资源:
- http://logz.io/learn/complete-guide-elk-stack
- https://www.elastic.co/webinars/introduction-elk-stack
编辑:
查尔蒂奥 integrates with Elasticsearch。你问 "Where in the process can I aggregate the data and store it so it is easily consumable by reporting application?" Elasticsearch 做数据聚合和存储。您使用我上面详述的堆栈将数据存储在 Elasticsearch 中,然后您可以集成一个报告应用程序,例如 Chartio。
我在多个 windows 集群上有大约 1000 个站点。 IIS 日志文件(文本文档)可用于服务器上设置位置中的每个站点。我正在查看的解决方案应该能够执行以下操作。
1) 将日志文件推送到云端。 2) 读取这些日志文件并汇总 url 的访问、查看、点击等数据,并将其存储在云中以便于报告。 3) 通过第三方报告解决方案访问汇总数据。
首先,我想弄清楚我的选择是什么以及我需要什么样的设置。
我和你有类似的用例。我使用工具 NXLog -> Logstash -> Elasticsearch -> Kibana(ELK 堆栈)。我发现此解决方案易于使用和扩展。我的使用非常关注规模(>40,000 logs/second)和高可用性(无停机时间),这是一个很好的解决方案。我会按照您提出问题的顺序解决您的问题:
我们使用 NXLog 发送日志文件。
- 在每台要从中收集日志的 Windows 机器上安装 NXLog。 https://www.loggly.com/docs/logging-from-windows/
- 配置 NXLog 以将 IIS 日志转换为 JSON https://www.loggly.com/docs/iis-web-server-logs/
NXLog 将这些日志发送到 Logstash。
- 安装和配置 Logstash。 Logstash 将收集您的所有日志(如果您选择使用 Logstash,您甚至可以从其他来源发送)并对数据进行规范化。 https://www.elastic.co/guide/en/logstash/current/installing-logstash.html
- 将 NXLog 配置为指向您刚刚设置的 Logstash。
- 安装和配置 Elasticsearch。 Elasticsearch 是一个高度可扩展的全文搜索引擎,允许您存储和分析大量数据。 https://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html
- 将 Logstash 配置为指向该 Elasticsearch。这是一个带有示例配置的博客 post。 https://blog.sstorie.com/importing-iis-logs-into-elasticsearch-with-logstash/
- 安装和配置 Kibana 以实现可视化。 https://www.elastic.co/downloads/kibana
- 使用 Kibana 创建和可视化聚合 https://www.elastic.co/blog/kibana-aggregation-execution-order-and-you
- 哪个第三方报告解决方案?您能否提供更多信息,也许我也可以提供帮助?
有关将 ELK 堆栈用于日志记录用例的更多资源:
- http://logz.io/learn/complete-guide-elk-stack
- https://www.elastic.co/webinars/introduction-elk-stack
编辑: 查尔蒂奥 integrates with Elasticsearch。你问 "Where in the process can I aggregate the data and store it so it is easily consumable by reporting application?" Elasticsearch 做数据聚合和存储。您使用我上面详述的堆栈将数据存储在 Elasticsearch 中,然后您可以集成一个报告应用程序,例如 Chartio。