ElasticSearch和索引策略

时间:2015-02-27 10:00:21

标签: iis logging elasticsearch kibana

我们目前正在设置ELK堆栈以使用我们的各种日志。目前我们只是每天使用一个索引,只有我们开发的各种应用程序的日志(大约100万个文档)。下一步是查看其他类型的日志,例如: IIS,来自网络设备的事件日志(nlb)以及可能将处理后的文档发布到统计数据中。所以现在的问题是我们应该采用什么样的指数策略。

  1. 在将文档后处理成统计数据方面,我最初的想法是为每个应用程序创建一个索引(可能每年/每月,具体取决于数据量)。有意义吗?
  2. 关于IIS日志和各种事件日志,我们可以只附加到每日应用程序日志(目前每天20k日志)。但是,我不确定混合日志类型是一个好主意,虽然更容易维护。另一种策略是为不同的日志类型(应用程序,iis,事件日志)创建单独的索引。
  3. 非常感谢任何有关好博客帖子/信息的建议或参考。

1 个答案:

答案 0 :(得分:0)

我建议针对不同的日志类型使用不同的ES类型。结构化日志记录非常重要,例如,您希望以与Elmah错误日志不同的方式查询IIS日志。您还可能希望更改特定字段的索引设置以使其不被分析。

您可以将所有内容保存在相同的每日/每周/每月滚动索引中,并按类型将它们分开。对于每日索引示例,这样的事情:

PUT 20150227

PUT 20150227/iis/_mapping
{
  "properties": {
    "value1": {
      "type": "string"
    }
  }
}

PUT 20150227/errors/_mapping
{
  "properties": {
    "value2": {
      "type": "string"
    }
  }
}