返回

让日志归位,灵活设定ES索引名称——Filebeat实战演练(四)

后端

前言

在前面的文章中,我们已经介绍了如何使用Filebeat将收集来的日志存储到Elasticsearch中。现在,我们将更进一步,探讨如何将日志存储到自定义名称的Elasticsearch索引中。这将使您能够更好地组织和管理您的日志数据。

配置Filebeat

要将日志存储到自定义名称的Elasticsearch索引中,您需要在Filebeat的配置文件中进行一些更改。具体来说,您需要修改以下设置:

  • output.elasticsearch.index:此设置指定要将日志存储到的Elasticsearch索引的名称。
  • output.elasticsearch.ilm_policy:此设置指定要应用到索引的生命周期管理策略的名称。
  • output.elasticsearch.template_name:此设置指定要应用到索引的模板的名称。

创建Elasticsearch索引模板

在Filebeat的配置文件中指定了索引名称和模板名称后,您需要在Elasticsearch中创建相应的索引模板。索引模板是一个定义了索引的设置和映射的JSON文档。它将用于创建新的索引。

您可以使用以下命令来创建索引模板:

curl -X PUT "http://localhost:9200/_template/my_template" -H 'Content-Type: application/json' -d'
{
  "template": "my_template-*",
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1
  },
  "mappings": {
    "properties": {
      "message": {
        "type": "text"
      },
      "timestamp": {
        "type": "date"
      }
    }
  }
}

创建生命周期管理策略

在Filebeat的配置文件中指定了索引名称和生命周期管理策略名称后,您需要在Elasticsearch中创建相应的生命周期管理策略。生命周期管理策略是一个定义了索引生命周期的JSON文档。它将用于管理索引的创建、滚动和删除。

您可以使用以下命令来创建生命周期管理策略:

curl -X PUT "http://localhost:9200/_ilm/policy/my_policy" -H 'Content-Type: application/json' -d'
{
  "policy": {
    "phases": {
      "hot": {
        "actions": {
          "rollover": {
            "max_size": "10gb",
            "max_age": "30d"
          }
        }
      },
      "warm": {
        "actions": {
          "set_read_only": {},
          "migrate": {
            "to": "cold"
          }
        }
      },
      "cold": {
        "actions": {
          "delete": {
            "min_age": "90d"
          }
        }
      }
    }
  }
}

总结

通过在Filebeat的配置文件中进行一些更改,以及在Elasticsearch中创建相应的索引模板和生命周期管理策略,您就可以将日志存储到自定义名称的Elasticsearch索引中。这将使您能够更好地组织和管理您的日志数据。