日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

01. elastcsearch-monitor (es 监控)

發布時間:2024/2/28 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 01. elastcsearch-monitor (es 监控) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1.數據的搜集目的地維度可以有兩個
    • 2. 監控在一個集群內的配置也可以有多個維度
    • 3. 監控的實現方式也有多種
    • 4. kibana配置監控
      • 4.1 監控相關的通用配置
      • 4.2 kibana的monitor-data相關
      • 4.3 極簡集群搭建
      • 4.4 開啟集群監控功能
        • 4.4.1 通過es開啟集群監控
        • 4.4.2 通過kibana開啟集群監控
      • 4.5 kibana monitor-data的設置
      • 4.6 簡單回顧
    • 5. logstash monitor-data設置
      • 5.1 監控相關的配置
      • 5.2 logstash使用metrict作為監控
    • 6. elasticsearch 的配置
      • 6.1 相關配置概覽
      • 6.2 xpack.monitoring.enabled
        • 6.2.1 當前節點為非master節點
        • 6.2.2 當前節點為master節點
      • 6.3 xpack.monitoring.elasticsearch.collection.enabled

這里主要是學習一下es的monitor機制
首先是整個鏈路的數據都要監控的包括filebeat,logstash,kibana,es,都可以收集到es集群中去。
借用es官方的一個圖

1.數據的搜集目的地維度可以有兩個

  • 監控數據放到原來的集群,和存放業務數據的集群是同一個集群
  • 監控數據放到新的集群,監控數據單獨存放
  • 2. 監控在一個集群內的配置也可以有多個維度

  • 有些配置是針對整個集群的配置
  • 有些配置只是針對es 或者kibana,或者logstash,或者kibana
  • 3. 監控的實現方式也有多種

  • 使用export
  • 使用metricbeat
  • 4. kibana配置監控

    因為kibana是用來顯示所有的監控數據的,他的監控數據也可以分發到任意的其他集群。
    kibana是使用node-server將數據發送到了對應的es當中,不像es,logstash可以使用exporter,metricbeat多種收集方式,

    4.1 監控相關的通用配置

    xpack.monitoring.enabled: true 打開監控的features,如果設置為false,負責監控的進程的進程就不會啟動, 包括產生kibana的監控數據,包括去es中拉取對應的其他的比如es,logstash,filebeat等的監控數據。下面3個配置的是kibana監控數據將發到那個es集群 xpack.monitoring.elasticsearch.hosts xpack.monitoring.elasticsearch.username xpack.monitoring.elasticsearch.password

    4.2 kibana的monitor-data相關

    1. xpack.monitoring.kibana.collection.enabled: true 這個是設置收集kibana monitor data數據到es當中 2. xpack.monitoring.kibana.collection.interval: 監控數據收集的間隔ms

    4.3 極簡集群搭建

    es的配置為

    cluster.name: dev-log node.name: ES01 bootstrap.system_call_filter: false network.host: 10.76.0.98 http.port: 12200 transport.port: 12300 discovery.seed_hosts: ["10.76.0.98:12300","10.76.3.145:12300","10.76.0.129:12300"] cluster.initial_master_nodes: ["ES01", "ES02","ES03"]

    此時的kibana配置

    server.name: ch-dev server.port: 45601 server.host: 10.76.0.129 elasticsearch.hosts: ["http://10.76.0.98:12200"]

    此時可以看到沒有任何關于監控的顯式設置,監控相關都是使用的默認設置
    啟動es之后,直接打開kibna,如果打開監控對應的菜單,顯示

    We checked the cluster defaults settings and found that xpack.monitoring.collection.enabled is set to false Would you like to turn it on?

    說明默認情況下數據并不能成功的收集到集群當中去。還是需要開啟的。

    4.4 開啟集群監控功能

    ??通過上面的配置不能進行監控,并不是kibana的設置有問題,而是整個集群的監控功能沒有開啟,xpack.monitoring.collection.enabled 配置就是針對整個集群的配置,這個配置針對的是es,告訴es是否收集自己的monitor-data,是否接收由kibana,logstash,filebeat等發送過來的監控數據。這個可以直接通過api在集群中進行動態的設置。也可以在每個es節點中進行設置。

    4.4.1 通過es開啟集群監控

    如果在每個es節點中都設置

    xpack.monitoring.collection.enabled: true

    重啟整個集群,kibana就不會有這個提示了,而且可以直接顯示出來監控面板
    同時還有kibana的監控菜單里面也有kibana的monitor-data

    4.4.2 通過kibana開啟集群監控

    在kibana的提示下開啟監控:
    這個時候是使用集群的_cluster/setting api進行設置的
    點擊完kibana的確認按鈕之后可以查詢接口查詢到cluster已經有了這樣的設置。

    GET _cluster/settings 只能顯示動態配置的東西{"persistent" : {"xpack" : {"monitoring" : {"collection" : {"enabled" : "true"}}}},"transient" : { } }

    4.5 kibana monitor-data的設置

    如果將

    xpack.monitoring.kibana.collection.enabled: false

    添加到kibana的配置當中,那么kibana的數據就從監控面板中消失了,但是es的數據還是有的

    如果再添加一個設置

    xpack.monitoring.enabled: false

    kibana服務還可以訪問,但是監控的菜單直接消失了,就是所有的監控相關的功能都不再提供了,不會去es中拉取相關的數據了。
    所以xpack.monitoring.enabled 控制的是kibana中提供監控展示等服務模塊是否還工作。

    4.6 簡單回顧

    在進一步學習之前,通過對kibana的監控配置簡單做一個回顧
    集群做了很多的默認配置,使監控變得更加簡單,但是默認情況下是無法進行監控的,需要通過

    xpack.monitoring.collection.enabled: true

    來開啟集群的設置,然后kibana通過開啟

    xpack.monitoring.enabled: true 打開監控的features,如果設置為false,負責監控的進程的進程就不會啟動,包括產生kibana的監控數據,包括去es中拉取對應的其他的比如es,logstash,filebeat等的監控數據。xpack.monitoring.elasticsearch.hosts 默認使用kibana連接的集群,可以單獨配置 xpack.monitoring.elasticsearch.username 在集群開啟security配置的時候才需要這個 xpack.monitoring.elasticsearch.password 同上 xpack.monitoring.kibana.collection.enabled: true 這個是設置收集kibana monitor-data數據到es當中, xpack.monitoring.kibana.collection.interval: 10000 (10s)

    5. logstash monitor-data設置

    logstash相對于es和kibana需要設置的東西更少,因為在整個監控鏈路中,es不僅作為被監控對象,同時作為監控數據的存儲庫,kibana不僅作為被監控對象,而且是監控數據的展示終端,需要有專門的進程去對監控數據做聚合等查詢,而logstash則僅僅是作為被監控對象存在。

    5.1 監控相關的配置

  • 首先要要保證集群的監控功能開啟了,即
  • xpack.monitoring.collection.enabled: true

    在es節點或者_cluster/setting當中進行設置了

  • logstash自身的配置
    在config/logstash.yml中配置
  • xpack.monitoring.enabled: true # 默認配置 xpack.monitoring.elasticsearch.hosts: ["http://es-prod-node-1:9200", "http://es-prod-node-2:9200"] xpack.monitoring.elasticsearch.username: "logstash_system" xpack.monitoring.elasticsearch.password: "changeme" xpack.monitoring.collection.interval: 10000

    可以看到,直接通過xpack.monitoring.enabled控制了是否收集logstash的數據。
    不像kibana中單獨使用了xpack.monitoring.kibana.collection.enabled來進行kibana數據是否搜集的配置,同樣在es中也有一個類似的這樣的配置

    5.2 logstash使用metrict作為監控

    在5.1中logstash使用的監控默認的是internal的collection收集方式
    可以使用metricbeat來進行收集,應為使用metricbeat是單獨部署的方式,后面再看

    6. elasticsearch 的配置

    es身兼的角色比較多,所以相關的配置也更多。

    6.1 相關配置概覽

    首先,集群級別的配置

    xpack.monitoring.collection.enabled: true

    可以通過cluster-setting api進行設置,也可以通過在es的配置文件中進行設置

    接下來是es的三個相關設置

    xpack.monitoring.enabled: true 開啟當前node的monitor設置 xpack.monitoring.elasticsearch.collection.enabled: true 這個設置了是否收集es相關的data xpack.monitoring.collection.interval: 10000

    xpack.monitoring.collection.enabled: true的作用自不必多說,下面主要說一下其他兩個的作用

    6.2 xpack.monitoring.enabled

    當我在es的節點上設置

    xpack.monitoring.enabled: false

    出現了下面兩種情況

    6.2.1 當前節點為非master節點

    只要這個節點不是master節點話,kibana上的監控都比較正常,有kibana的數據,也有es的數據,但是對應的那個設置為false的es節點的數據沒有了。
    這個也很自然,這個配置理論上至少可以達到禁止當前節點的monitor的效果。

    6.2.2 當前節點為master節點

    如果master節點設置了

    xpack.monitoring.enabled: false

    打開kibana的監控菜單,會看到這樣的信息

    You need to make some adjustments To run monitoring please perform the following stepsWe checked the nodeId: ADi2c-NmTnWhTmb2dDlCeA settings and found that xpack.monitoring.enabled is set to false set, which disables monitoring. Removing the xpack.monitoring.enabled: false setting from your configuration will put the default into effect and enable Monitoring.


    也就是說這個應該是以master的為主,在es集群內生效,可能會導致kibana拿不到數據。

    6.3 xpack.monitoring.elasticsearch.collection.enabled

    這個配置的含義是比較直觀的,經過測試,確實是這樣,他的作用類似

    xpack.monitoring.kibana.collection.enabled: true 這個是設置收集kibana monitor-data數據到es當中,

    就是設置了當前node的數據是否收集到es當中
    在實際測試中當master節點設置了false的話,kibana的顯示也是不正常的,監控菜單打不開,

    但是這個時候kibana的數據實際上是能夠進入es的,因為在調整為true后發現es對應節點在過去的一段時間里面是沒有數據的,但是kibana的數據是有的,所以是展示有一些問題,但是功能上和描述相差不大。

    總結

    以上是生活随笔為你收集整理的01. elastcsearch-monitor (es 监控)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。