• ELK


    版本信息

    • Elasticsearch -7.3.1
    • Kibana - 7.3.1

     

    以下是在 Kibana Console 中常用的一些操作

     在 Kibana Console 控制台可以操作绝大多数 API,?v - 显示题头,?pretty - 格式化输出,例如:

    GET /_cat/indices?v
    GET /_cat/thread_pool?pretty

     
     1.调整索引的间隔 - refresh_interval

      默认情况下 ElasticSearch 索引的 refresh_interval 为5秒,这意味着数据写入至少5秒后才可以被搜索到,因此 ElasticSearch 被称为近实时搜索引擎。
      如果需要调整数据刷新方案,则有三种途径: 

       (1)设置数据刷新间隔:refresh_interval
       (2)调用数据刷新接口:_refresh。
         刷新所有 index: POST /_refresh
         刷新指定 index: POST /order_logs/_refresh
       (3)设置数据刷新策略:RefreshPolicy.

    # 调整所有index的刷新间隔为15s
    PUT {
      "settings": {
        "refresh_interval": "15s"
      }
    } 
    
    # 调整指定index的刷新间隔为15秒
    PUT /order_logs_2019.12.11 {
      "settings": {     "refresh_interval": "15s"   } }

    例如:现在需要将 MySQL 中的数据做一次 Elasticsearch 全量更新,或者初次导入大量数据时,此时可以先关闭自动刷新,全量更新完成之后再打开。

    # 关闭全部index的数据刷新
    PUT /mysql_logs_2019.12.11
    {
      "settings": {
        "refresh_interval": -1
      }
    }
    
    # 调整指定index的刷新间隔为30秒
    PUT /order_logs_2019.12.11
    {
      "settings": {
        "refresh_interval": "30s"
      }
    }

     

    2.查看指定索引的 shards 和 replicas 数量

    GET /order_logs_2019.12.11/_settings

     

    3.新增一个 ilm policy (索引生命周期管理)模板

      indices lifecycle management,此例是从索引建立之后7天,自动删除索引,ilm policy 可以在索引模板中引用生效

    PUT /_ilm/order_logs_ilm_policy
    {
      "policy" : {
        "phase" : {
          "delete" : {
            "min_age" : "7d",
            "actions" : {
              "delete": {}
            }
          }
        }
      }
    }


    4.新建一个索引模板

     PUT /_template/template_order_logs
    {
      "index_patterns" : ["order_logs_*"],
        "order" : 99,
        "settings": {
          "number_of_shares" : 1,
          "number_of_replicas" : 0,
          "refresh_interval": "30s",
    "index.lifecycle.name" : "odrer_logs_ilm_policy"
    },
      "mapping" : {
        "dynamic" : "false",
        "properties" : {
          "@timestamp" : {
            "type" : "date",
          },
          "logtime" : {
            "type" : "text",
            "index" : "true"
          },
          "level" : {
            "type" : "text",
            "index" : "true"
          },      
          "component" : {
            "type" : "text",
            "index" : "true"
          },
          "threadId" : {
            "type" : "text",
            "index" : "true"
          },
          "host.name" : {
            "type" : "text",
            "index" : "true"
          },
          "log.file.path" : {
            "type" : "text",
            "index" : "true"
          },
          "logbody" : {
            "type" : "text",
            "index" : "true"
          }
        }
      } }

     

    5.条件筛选

    GET /_cat/indices?v&health=yellow

     

    6.结果排序

    GET /_cat/indices?v&s=docs.count:desc

     

    7.统计索引的doc行数

     统计以 “order_logs_2019.12“ 开头的索引的 doc 数量

    GET /_cat/count/order_logs_2019.12*?v&format=json&pretty

     

    8.查看指定索引的 setting

    GET /order_logs_2019.12.11/_settings?pretty

     

    9.擦看各个索引的 shards 配置和空间占用状态

    GET /_cat/shards&s=index:desc

     

    10.查看集群节点属性

    GET /_cat/nodeattrs?v

     

    11.查看jvm

    GET /_nodes/stats/jvm

     

    12.查看热点线程

    GET /nodes/hot_threads

     

    13.查看各个线程的状态,例如写入线程,查询线程

      6.0之后 bulk 被分拆了,可以通过观察 elasticsearch 后台日志或是通过使用 thread pool api 来观察内部线程池的使用情况,以及相应队列大小,判断是否还可以继续调整配置参数。

    GET /_node/stats/thread_pool

     

    14.查看集群在忙些啥

      正常情况一批 bulk 操作应该是毫秒级的,从 task_id、parent_task_id 可以看出,一个 bulk 操作下面分为写主分片的动作和写副本的动作,其中:
      indices:data/write/bulk[s][p]:s 表示分片,p 表示主分片。
      indices:data/write/bulk[s][r]:s 表示分片,r 表示副本。

    GET /_cat/tasks?v

     

    15.查看索引模板

    GET /_template/template_order_logs

     

    16.查看 ilm policy (索引生命周期管理)

    GET /_ilm/policy

     

    - 其他
      监控工具 - Cerebro
      监控工具 - Elasticsearch Head

     

  • 相关阅读:
    SQL数据转移
    怎么将控制台的打印输出到文本文件中
    用来控制 XML 序列化的属性
    excel内容转成xml
    HTTP状态码
    char、varchar、nchar、nvarchar的区别
    C# Cookie编程
    android的原理--为什么我们不需要手动关闭程序
    HTTP协议及HTTP包
    HTTP 方法:GET 对比 POST
  • 原文地址:https://www.cnblogs.com/unchch/p/12053358.html
Copyright © 2020-2023  润新知