<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          干貨 | Elasticsearch 開發(fā)實戰(zhàn)常用命令清單

          共 4284字,需瀏覽 9分鐘

           ·

          2020-09-15 17:54

          0、背景

          Elasticsearch 具有一組豐富的易于理解的 REST API,這些 API ?均可如下幾種方式通過 HTTP 調(diào)用進(jìn)行訪問。

          • Curl
          • Postman
          • head 插件
          • cerebro 工具
          • kibana

          開發(fā)實戰(zhàn)環(huán)節(jié),我推薦使用:kibana Dev-tools。

          原因如下:

          • 有提示功能
          • 方便快捷、效率高
          • 不容易出錯

          本文結(jié)合多年實戰(zhàn)經(jīng)驗和網(wǎng)絡(luò)資源,梳理出開發(fā)環(huán)節(jié)最重要的命令清單,希望對你有幫助!

          1、Elasticsearch REST URL 拆解

          1.1 REST URL和選項概述

          舉個栗子:

          POST?products/_search?size=0
          {
          ??"aggs":?{
          ????"product_aggs":?{
          ??????"terms":?{
          ????????"field":"name.keyword"
          ??????}
          ????}
          ??}
          }

          調(diào)用REST API很容易,除了實際的主機(jī)名/ IP和端口外,它還包含四個部分:

          • 動詞——REST調(diào)用的 GET,PUT,POST和DELETE部分。

          在Kibana中,您可以直接指定這些名稱,對于cURL,請使用-X選項。

          對應(yīng)示例中的:POST

          • 路徑——API和路徑。

          例如:/_cluster / health 或 /logstash-cron-2020.07.03/_mapping-路徑的第一部分通常是索引名稱,除非它以_開頭。

          對應(yīng)示例中的:products/_search,其中products是索引。

          • 參數(shù)——后面的各種選項?

          例如?h或?v

          對應(yīng)示例中的:?size=0。參數(shù)設(shè)定部分。

          • 正文——某些調(diào)用需要JSON正文(例如設(shè)置選項),并將包含在{}中

          對應(yīng)示例中的:檢索語句部分。

          1.2 常用選項

          有一些通用選項適用于許多(不是全部)URL。這些是:

          • ?help——幫助選項。

          將在列表中提供 API 可用的字段,其中包含短名稱和長名稱、說明等。

          舉例:

          GET?_cat/indices?help
          • ?h =-“ h”——使用上方“幫助”顯示中的短名稱或長名稱指定要包括在結(jié)果中的字段。這些用逗號分隔,沒有空格。

          舉例:

          GET?_cat/indices?h=docs.count,store.size

          這樣以后返回結(jié)果一頭霧水,相當(dāng)于 Excel 有 N 列字段,但沒有表頭一樣,很痛苦!

          • ?v——'v'在回復(fù)的頂部包括字段名稱。
          GET?_cat/indices?h=docs.count,store.size&v

          -v 參數(shù)的妙處主要體現(xiàn)在:加上了表頭,直觀交互呈現(xiàn)。

          • ?s——'s'用于排序,使用列出的字段作為排序鍵。

          如下所示:我們可能會看到節(jié)點列表。包括:返回字段名稱,字段名稱要顯示并按名稱name排序:

          GET?/_cat/nodes?v&h=heap.percent,diskUsedPercent,cpu,master,name&s=name

          另外,Kibana 會將您的 Dev Tools 查詢保存在 cookie 中。

          有了上面的背景知識,下面的常見開發(fā)相關(guān)的常用命令清單看起來就相對容易了。

          2、狀態(tài) & 統(tǒng)計相關(guān)命令清單

          最有用的 API 調(diào)用通常與集群的運(yùn)行狀況,狀態(tài)和統(tǒng)計信息有關(guān),例如:

          2.1 獲取版本和集群名稱等信息。

          GET?/?

          2.2 獲取集群健康狀態(tài)等信息,包括集群名稱、節(jié)點數(shù)、數(shù)據(jù)節(jié)點數(shù)、分片等的一些統(tǒng)計信息。

          GET?/_cluster/health

          2.3 獲取節(jié)點列表信息。顯示了堆內(nèi)存、磁盤使用情況,CPU 、負(fù)載和主機(jī)角色。

          用途:用來監(jiān)視負(fù)載和磁盤使用情況以及主機(jī)角色。

          GET?/_cat/nodes?v&h=heap.percent,diskUsedPercent,cpu,load_1m,master,name&s=name

          2.4 Index Level 索引層面健康

          GET?/_cluster/health?level=indices&pretty

          2.5 Shard Level 分片層面健康

          GET?/_cluster/health?level=shards&pretty

          2.6 獲取索引,文檔,緩存,段,節(jié)點等的集群統(tǒng)計信息的更深入概述。

          用途:有助于基本故障排除。

          GET?/_cluster/stats?

          2.7 獲取節(jié)點級別的更多統(tǒng)計信息,包括堆使用情況等。

          GET?/_nodes/stats?

          3、線程相關(guān)狀態(tài)&統(tǒng)計命令清單

          3.1 很長但有用的線程隊列視圖

          GET?/_cat/thread_pool?v&h=node_name,name,type,active,size,queue,queue_size,rejected,largest,completed,min,max&s=node_name,name

          3.2 查看熱點線程,用于排查誰在占用CPU資源等

          GET?/_nodes/hot_threads/?

          3.3 快速獲取索引模式。

          例如:所有這些logstash *前綴索引的文檔總數(shù)的方法。

          GET?/_cat/count/logstash*?v

          4、索引相關(guān)狀態(tài)&統(tǒng)計命令清單

          4.1 通配符索引列表獲取

          包含:大小,文檔計數(shù),狀態(tài)等。

          GET?/_cat/indices/logstash*?v

          4.2 找到size 最大的索引

          GET?/_cat/indices/logstash-*?v&h=index,ss&s=ss:desc

          4.3 獲取狀態(tài)為黃色的索引

          GET?/_cat/indices?v&health=yellow
          • 紅色 red:至少一個主分片不可用。
          • 黃色 yellow:至少一個副本分片不可用。
          • 綠色 green:集群主、副本分片都可用,集群健康。

          5、 設(shè)置相關(guān)清單

          Elasticsearch中有許多設(shè)置,但最常見的是“集群”和“索引”級別。

          5.1 ?集群設(shè)置

          最基本的集群設(shè)置視圖——顯示非默認(rèn)的持久性和瞬態(tài)設(shè)置信息。

          GET?/_cluster/settings

          更大的列表視圖——包括所有默認(rèn)值,并使用平面視圖使其更易于閱讀。

          GET?/_cluster/settings?include_defaults=true&flat_settings=true

          5.2 索引設(shè)置

          獲取指定索引的設(shè)置列表信息。

          GET?/logstash-cron-2020.08.03/_settings?

          獲取索引的元信息、設(shè)置信息以及Mapping信息。

          GET?/logstash-cron-2020.08.03?

          6、 關(guān)閉&刪除索引

          6.1 關(guān)閉索引

          支持單個或者模糊匹配多個索引。

          POST?/logstash-*-2020.03.*/_close?

          6.2 刪除索引

          支持單個或者模糊匹配多個

          DELETE?/logstash-*-2020.04.*?

          7、故障排查清單

          之前運(yùn)維清單有過陳述,開發(fā)也需要。

          7.1 獲取:已分配和未分配的分片。

          GET?/_cat/shards?v&h=n,index,shard,prirep,state,sto,sc,unassigned.reason,unassigned.details&s=sto,index

          7.2 查看未分配的分片及原因

          GET?_cat/shards?v&h=index,shard,prirep,state,unassigned.reason&s=state?

          7.3 查看未分配的細(xì)節(jié)說明信息

          GET?/_cluster/allocation/explain

          7.4 查看指定分片未分配的細(xì)節(jié)

          GET?/_cluster/alloGET?/_cluster/allocation/explain?
          {?"index":?"logstash-cloudtrail-2019.10.16",?"shard":?0,?"primary":?true}?cation/explain?{?"index":?"logstash-cloudtrail-2019.10.16",?"shard":?0,?"primary":?true}?

          7.5 下線節(jié)點

          PUT?_cluster/settings?pretty
          {
          ??"transient":?{
          ????"cluster.routing.allocation.exclude._ip":?"10.0.0.1"
          ??}
          }

          8、模板清單

          8.1 列舉已定義的所有模板

          GET?/_cat/templates?v&s=order,name

          8.2 列舉指定名稱的模板信息

          GET?/_template/logstash

          9、快照&恢復(fù)

          9.1 列出系統(tǒng)中配置的快照存儲庫。大多數(shù)其他API調(diào)用都需要這些名稱。

          GET?/_snapshot?

          9.2 獲取任何正在運(yùn)行的快照的狀態(tài)和統(tǒng)計信息

          GET?/_snapshot/_status?

          9.3 獲取快照的有用信息

          GET?/_cat/snapshots/my_repository?v&h=id,status,start_time,duration,indicies,successful_shards,failed_shards,total_shards

          10、 分片分配與恢復(fù)清單

          10.1 分片分配查看

          GET?/_cat/allocation?v

          10.2 分片恢復(fù)查看

          GET?/_cat/recovery?v

          10.3 運(yùn)行任務(wù)查看

          GET?/_cat/pending_tasks?v

          10.4 清理緩存

          POST?/_cache/clear

          小結(jié)

          清單沒有面面俱到,清單的目的只是梳理知識體系。

          而基礎(chǔ)知識的習(xí)得還是建議通過官方文檔查看即可,前提:熟悉官方文檔的目錄結(jié)構(gòu),做到會查、快查,逐步掌握開發(fā)實戰(zhàn)知識。

          參考:

          https://www.elkman.io/blog/useful-elasticsearch-api-urls

          https://preview.mailerlite.com/u3c7e3/1490690490360665893/f2l9/


          推薦:

          干貨 | Elasticsearch 運(yùn)維實戰(zhàn)常用命令清單

          重磅 | 死磕 Elasticsearch 方法論認(rèn)知清單(2020年五一更新版)

          短時間快習(xí)得多干貨!

          中國40%+Elastic認(rèn)證工程師出自于此!

          瀏覽 102
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  奇米影视狠狠久久中文 | 深爱五月网 | 豆花成人理论在线电影一区二区 | 疯狂日逼网站 | 大屌插逼 |