elasticsearch - 如何在ElasticSearch中读取最新索引

标签 elasticsearch nest metricbeat

在我的ElasticSearch中,使用日期后缀创建一个新的metricbeat索引。即“metricbeat-7.1-2019.12.20”。现在,我正在尝试从最新创建的索引中读取系统参数,但不确定如何执行此操作。

 var nodes = new Uri[]
            {
                new Uri(_options.Value.ElasticSearchUrl),
            };
            connectionPool = new StaticConnectionPool(nodes);
            string indexName = "metricbeat*";
            connectionSettings = new ConnectionSettings(connectionPool).DefaultIndex(indexName);
            elasticClient = new ElasticClient(connectionSettings);

            string[] systemFields = new string[]
            {
                "system.memory.*"
            };
            var elasticResponse = elasticClient.Search<object>(s => s
                .DocValueFields(dvf => dvf.Fields(systemFields)));

elasticResponse给了我数据,但它显示了时间戳中的较早日期。

请提出建议。
  string[] systemFields = new string[]
            {
                "system.memory.actual.used.pct",
                "system.cpu.total.norm.pct",
                "system.load.5",
                "docker.diskio.summary.bytes"
            };
            var elasticResponse = elasticClient.Search<object>(s => s
                .DocValueFields(dvf => dvf.Fields(systemFields))
                .Aggregations(ag => ag.Max("last_process_time", sa => sa
                    .Field("@timestamp")))
                );

最佳答案

Cat indices API将创建日期用作排序参数,可以帮助您找到所需的索引。

    await client.Indices.CreateAsync("metricbeat-7.1-2019.12.20", create => create);
    await client.Indices.CreateAsync("metricbeat-7.1-2019.12.21", create => create);

    var response = await client.Cat.IndicesAsync(i => i.Index("metricbeat-7.1-*")
        .Headers("index", "creation.date")
        .SortByColumns("creation.date"));

    Console.WriteLine(response.Records.LastOrDefault()?.Index);

输出:
metricbeat-7.1-2019.12.21

希望您为索引定义了ILM policy,但我的解决方案不会找回
来自Elasticsearch的数千种索引信息。

希望能有所帮助。

关于elasticsearch - 如何在ElasticSearch中读取最新索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59559815/

相关文章:

elasticsearch - 在 elastica 中搜索多个索引

elasticsearch - Rsyslog模板捕获组

elasticsearch - Kibana 脚本化字段循环遍历数组

elasticsearch - 无法使用 metricbeat 获取 kubernetes 资源 "events",出现错误 "Failure 403 events is forbidden:"

elasticsearch - 以编程方式设置 Kibana 的默认索引模式

python - ElasticSearch 在索引整数和字符串的 JSON 数组时抛出映射器解析异常

elasticsearch - 将多个 bool 过滤器附加到 NEST 查询

c# - Elasticsearch-如何使用NEST 7.1 SDK重新索引

elasticsearch - NEST是否支持嵌套数据类型?

elasticsearch - 如何使用 Datadog 监控 Elastic Cloud 上的 ElasticSearch 集群?