99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Solr度量標準報告

2018-12-22 14:08 更新

Solr包含一個開發(fā)人員API和工具,用于在Solr服務及其各個組件的整個生命周期中收集詳細的以性能為導向的度量標準。

在內部,此功能使用 Dropwizard 度量 API,該API使用以下類別的度量工具來度量事件:

  • 計數(shù)器(counters)- 只需計數(shù)事件。它們提供一個單一的長期值,例如請求的數(shù)量。
  • 表(meters)- 另外計算事件的速率。提供一個計數(shù)(如上所述)以及1、5和15分鐘的指數(shù)衰減速率,類似于Unix系統(tǒng)的負載平均值。
  • 直方圖(histograms)- 根據它們的值計算事件的近似分布。提供以下近似的統(tǒng)計數(shù)據,如上述類似的指數(shù)衰減:平均值(算術平均數(shù))、中位數(shù)、最大值、最小值、標準偏差和75 個,95 個,98 個,99 個和999 個百分位數(shù)。
  • 定時器(timers)- 測量事件的數(shù)量和持續(xù)時間。它們提供計時的計數(shù)和直方圖。
  • 儀表(gauges)- 提供當前值的即時讀取,例如當前隊列深度、當前活動連接數(shù)量,可用堆大小。

每個具有唯一名稱的相關度量標準都在度量注冊表中進行管理。Solr維護了幾個這樣的注冊表,每個都對應一個高級組,例如:jvm、jetty、node和core(參見下面的公制注冊表)。

對于每個組(或每個注冊表),可以有幾個reporter,這些reporter是負責從選定的注冊中心到外部系統(tǒng)的度量的通信的組件。目前實施的reporter支持通過JMX、Ganglia、Graphite和SLF4J發(fā)布指標。

還有一個專門的/admin/metrics處理程序,可以查詢以報告所有或一個子集的當前指標從多個注冊。

度量冊表

Solr包含多個度量注冊表,它將相關的度量標準進行分組。

度量標準從流程開始直到關閉時,通過組件的所有生命周期進行維護和累積 - 例如,通過可能的幾個加載,卸載或重命名操作來跟蹤特定SolrCore的度量標準,并且僅在核心被明確刪除。但是,度量標準在進程重新啟動之間不會持久;重新啟動Solr將放棄所有收集的度量值。

以下這些是收集的主要度量標準組:

JVM注冊表

此注冊表在solr.jvm中返回,并包含以下信息。使用Metrics API發(fā)出請求時,您可以指定&group=jvm限制為僅限這些度量標準。

  • 直接和映射的緩沖池
  • 類加載/卸載
  • 操作系統(tǒng)內存、CPU時間、文件描述符、交換、系統(tǒng)負載
  • GC計數(shù)和時間
  • 堆,非堆內存和GC池
  • 線程數(shù)量、狀態(tài)和死鎖
  • 系統(tǒng)屬性,如Java信息、各種安裝目錄路徑、端口和類似信息。您可以通過修改solr.xml來控制這里顯示的內容。

Node / CoreContainer注冊表

此注冊表在solr.node返回并包含以下信息。使用Metrics API發(fā)出請求時,您可以指定&group=node限制為僅限這些度量標準。

  • 處理程序請求(計數(shù),計時):集合、信息、管理、configSets等
  • 內核的數(shù)量(已加載、惰性、已卸載)

Core(SolrCore)注冊表

Core (SolrCore) 注冊表包括solr.core.<collection>,每個核心一個。使用Metrics API發(fā)出請求時,您可以指定&group=core限制為僅限這些度量標準。

  • 所有常見的RequestHandler-s報告:請求計時器/計數(shù)器、超時、錯誤。
  • 索引級事件:次要/主要合并的計量單位,已合并文檔的數(shù)量,已刪除文檔的數(shù)量,當前正在運行的合并的測量器及其大小。
  • 分片復制和事務日志重放(TBD,SOLR-9856)
  • 分片處理程序和更新處理程序的打開/可用/掛起連接

Jetty注冊表

此注冊表返回solr.jetty并包含以下信息。使用Metrics API發(fā)出請求時,您可以指定&group=jetty限制為僅限這些度量標準。

  • 線程和池
  • 連接和請求計時器
  • HTTP類(1xx,2xx等)響應的表

未來,將為分片領導者和集群節(jié)點添加度量,包括來自每個核心度量的聚合。

度量配置

系統(tǒng)中可用的指標可以在solr.xml通過修改<metrics>元素來定制。

Note:有關該Solr.xml文件的更多信息,在何處查找以及如何編輯, 請參閱“Solr.xml的格式”部分。

<metrics> <hiddenSysProps>元素

本部分的solr.xml允許您定義被認為系統(tǒng)敏感的系統(tǒng)屬性,但是不應通過Metrics API公開。

如果未定義此部分,將使用以下默認配置來隱藏密碼和身份驗證信息:

<metrics>
  <hiddenSysProps>
    <str>javax.net.ssl.keyStorePassword</str>
    <str>javax.net.ssl.trustStorePassword</str>
    <str>basicauth</str>
    <str>zkDigestPassword</str>
    <str>zkDigestReadonlyPassword</str>
  </hiddenSysProps>
</metrics>

<metrics> <reporter>元素

reporter使用Solr生成的度量數(shù)據。有關如何配置自定義reporter的詳細信息, 請參閱下面的reporter部分。

<metrics> <suppliers>元素

供應商幫助Solr生成度量數(shù)據。solr.xml的<metrics><suppliers>部分允許您定義自己的度量標準實現(xiàn)并為其配置參數(shù)。

自定義度量標準供應商的實現(xiàn)超出了本指南的范圍,但通過下面描述的元素,還可以使用默認實現(xiàn)進行其他自定義設置。

此元素定義計數(shù)器供應商的實現(xiàn)和配置。默認實現(xiàn)不支持任何配置。

  • <counter>

    該元素定義了Counter供應商的實現(xiàn)和配置。默認實現(xiàn)不支持任何配置。

  • <meter>

    這個元素定義了一個Meter供應商的實現(xiàn)。默認的實現(xiàn)支持一個額外的參數(shù):

    • <str name="clock"> 參數(shù)

      用于計算EWMA速率的時鐘類型。支持的值是:

      • user,默認值,使用System.nanoTime()

      • cpu,它使用當前線程的CPU時間

  • <histogram>

    這個元素定義了一個Histogram供應商的實現(xiàn)。這個元素也支持上面用meter元素顯示的 clock 參數(shù),還有:

    • <str name="reservoir"> 

      要使用的 Reservoir 實現(xiàn)的完全限定的類名稱。默認值是com.codahale.metrics.ExponentiallyDecayingReservoir,但是Solr使用的Codahale Metrics庫還有其他選項。在上述提到的限制內支持以下參數(shù):

      • size,存儲庫大小。默認值是1028。

      • alpha,衰變參數(shù)。默認值是0.015。這只適用于ExponentiallyDecayingReservoir。

      • window,窗口的大小,以秒為單位,只對SlidingTimeWindowReservoir有效。默認值是300(5分鐘)。

  • <timer>

    這個元素定義了一個Timer供應商的實現(xiàn)。默認實現(xiàn)支持上面描述的clockreservoir參數(shù)。

作為solr.xml其中的一部分定義,它定義了這些自定義參數(shù)中的一些,下面定義了默認的Meter表供應商具有非默認的clock,默認Timer值與非默認的庫一起使用:

<metrics>
  <suppliers>
    <meter>
      <str name="clock">cpu</str>
    </meter>
    <timer>
      <str name="reservoir">com.codahale.metrics.SlidingTimeWindowReservoir</str>
      <long name="window">600</long>
    </timer>
  </suppliers>
</metrics>

reporter

reporter配置在<metrics><reporter>部分的solr.xml文件中指定,例如:

<solr>
 <metrics>
  <reporter name="graphite" group="node, jvm" class="org.apache.solr.metrics.reporters.SolrGraphiteReporter">
    <str name="host">graphite-server</str>
    <int name="port">9999</int>
    <int name="period">60</int>
  </reporter>
  <reporter name="collection1Updates" registry="solr.core.collection1" class="org.apache.solr.metrics.reporters.SolrSlf4jReporter">
    <int name="period">300</int>
    <str name="prefix">example</str>
    <str name="logger">updatesLogger</str>
    <str name="filter">QUERYHANDLER./update</str>
  </reporter>
 </metrics>
...
</solr>

這個例子配置了兩個reporter:Graphite和SLF4J。請參閱下面有關如何配置reporter的更多細節(jié)。

reporter參數(shù)

reporter插件使用以下參數(shù):

  • name - (必填)reporter插件的唯一名稱。
  • class -(必需的)完全合格的插件實現(xiàn)類,必須擴展SolrMetricReporter
  • group - (可選)一個或多個預定義的組(請參閱上文)
  • registry - (可選)一個或多個有效的完全限定的注冊表名稱
  • 如果指定了group和registry屬性,則只考慮group屬性。如果這兩個屬性都沒有指定,那么插件將被用于所有組和注冊表??梢灾付ǘ鄠€組或注冊表名稱,用逗號或空格分隔。

此外,可以在嵌套元素中指定幾個特定于實現(xiàn)的初始化參數(shù)。SLF4J,Ganglia和Graphite reporter有一些共同點:

  • period - (可選int)報告之間的時間間隔(秒)。默認值是60。
  • prefix - (可選str)要添加到度量標準名稱中的前綴,可能對相關Solr實例的邏輯分組有幫助,例如計算機名稱或集群名稱。默認是空字符串,即,只需使用注冊表名稱和度量標準名稱即可形成完全限定的度量標準名稱。
  • filter - (可選str)如果不為空,那么只有以此值開頭的度量名稱才會被報告。默認是沒有過濾,即,來自選定注冊表的所有度量都將被報告。

reporter被實例化為他們被配置的每個組和注冊表,當相應的組件被初始化時(例如,在JVM啟動或SolrCore加載)。

當reporter被創(chuàng)建時,他們的配置被驗證(例如,建立必要的連接)。在初始化階段未捕獲的錯誤導致reporter從運行配置中被丟棄。

當相應組件關閉時(例如,在SolrCore關閉或JVM關閉時),reporter被關閉,但是他們報告的度量標準仍然保留在相應的注冊表中,如上一節(jié)所述。

以下各節(jié)提供了有關實現(xiàn)特定參數(shù)的信息。所有與Solr一起提供的實現(xiàn)類可以在org.apache.solr.metrics.reporters下面找到。

JMX Reporter

JMX Reporter使用這個org.apache.solr.metrics.reporters.SolrJmxReporter類。

它需要以下參數(shù):

  • domain- (可選字符串)JMX域名。如果未指定,則使用注冊表名稱。
  • serviceUrl - (可選字符串)JMX服務器的服務URL。如果未指定,Solr將嘗試發(fā)現(xiàn)JVM是否具有MBean服務器并將使用該地址。有關更多信息,請參閱下文。
  • agentId - (可選字符串)JMX服務器的代理ID。請注意,serviceUrl或者agentId可以指定,但不能同時指定 - 如果同時指定了那么將使用默認的MBean服務器。

reporter創(chuàng)建的對象名稱是分層的、點分隔的,并且結構正確,以形成相應的層次結構,例如JConsole。該層次結構由以下元素按照自頂向下的順序組成:

  • 注冊表名稱(例如,solr.core.collection1.shard1.replica1)。由點分隔的注冊表名稱也被分割成ObjectName層次結構級別,因此該注冊表的度量將顯示在JConsole下的/solr/core/collection1/shard1/replica1中,每個域部分都被分配給dom1, dom2, …? domN屬性。
  • reporter 名稱(reporter的name屬性值)
  • 請求處理程序的類別,范圍和名稱
  • 或來自其他組件的度量的其他的name1, name2, …? nameN元素。

JMX Reporter取代了7.0之前的Solr版本中可用的JMX功能。如果您從早期版本升級并在Solr啟動時運行MBean Server,則Solr將自動發(fā)現(xiàn)本地MBean服務器的位置,并使用SolrJmxReporter的默認配置。

您可以在啟動時通過將-Dcom.sun.management.jmxremote添加到啟動命令來啟動具有系統(tǒng)屬性的本地 MBean 服務器到啟動命令。這不會將reporter配置添加到solr.xml中,所以如果您使用系統(tǒng)屬性啟用它,則必須始終使用系統(tǒng)屬性啟動Solr,否則在后續(xù)啟動時將不啟用 JMX。

SLF4J Reporter

SLF4J Reporter使用這個org.apache.solr.metrics.reporters.SolrSlf4jReporter類。

除了上面的公共參數(shù)外,它還需要下列參數(shù):

  • logger - (可選的str)要使用的logger的名稱。默認值為空,在這種情況下,如果在插件配置中指定,則將使用組或注冊表名稱。

用戶可以指定logger名稱(例如,Log4j 配置中相應的日志記錄配置),以便將與度量相關的日志記錄輸出到單獨的文件,然后由外部應用程序進行處理。

本reporter生成的每個日志行由特定于配置的字段和一條符合以下格式的消息組成:

type=COUNTER, name={}, count={}

type=GAUGE, name={}, value={}

type=TIMER, name={}, count={}, min={}, max={}, mean={}, stddev={}, median={}, p75={}, p95={}, p98={}, p99={}, p999={}, mean_rate={}, m1={}, m5={}, m15={}, rate_unit={}, duration_unit={}

type=METER, name={}, count={}, mean_rate={}, m1={}, m5={}, m15={}, rate_unit={}

type=HISTOGRAM, name={}, count={}, min={}, max={}, mean={}, stddev={}, median={}, p75={}, p95={}, p98={}, p99={}, p999={}

(花括號僅作為實際值的占位符添加)。

Graphite Reporter

該Graphite Reporter使用org.apache.solr.metrics.reporters.SolrGraphiteReporter)類。

除了上面的通用屬性之外,它還具有以下屬性:

  • host - (必需的 str)主機名,其中正在運行Graphite服務器。
  • port - (必需的 int)服務器的端口號
  • pickled - (可選的 bool)使用“pickled”Graphite協(xié)議,可能會更有效。默認值為 false(使用純文本協(xié)議)。

如果使用純文本協(xié)議(pickled==false),則可以使用reporter與Graphite以外的其他系統(tǒng)進行集成,只要它們能夠接受以以下格式的空間分隔和以線為導向的網絡輸入:

dot.separated.metric.name[.and.attribute] value epochTimestamp

例如:

example.solr.node.cores.lazy 0 1482932097
example.solr.node.cores.loaded 1 1482932097
example.solr.jetty.org.eclipse.jetty.server.handler.DefaultHandler.2xx-responses.count 21 1482932097
example.solr.jetty.org.eclipse.jetty.server.handler.DefaultHandler.2xx-responses.m1_rate 2.5474287707930614 1482932097
example.solr.jetty.org.eclipse.jetty.server.handler.DefaultHandler.2xx-responses.m5_rate 3.8003171557510305 1482932097
example.solr.jetty.org.eclipse.jetty.server.handler.DefaultHandler.2xx-responses.m15_rate 4.0623076220244245 1482932097
example.solr.jetty.org.eclipse.jetty.server.handler.DefaultHandler.2xx-responses.mean_rate 0.5698031798408144 1482932097

Ganglia Reporter

該Ganglia Reporter使用org.apache.solr.metrics.reporters.SolrGangliaReporter類。

除了上面的常見參數(shù)外,它還有以下參數(shù):

  • host - (必需的 str)主機名Ganglia服務器在哪里運行。
  • port - (必需的 int)服務器的端口號
  • multicast - (可選 bool)當真正使用多播UDP通信時,否則使用UDP單播。默認值為 false。

核心級度量

這些度量標準僅在每個核心的基礎上可用??绾诵膮R總的度量尚不可用。

索引合并度量標準

這些度量標準在每個核心(例如 solr.core.collection1…?.)的相應注冊表中收集,在INDEX類別下。

基本度量標準總是被收集 - 在solrconfig.xml的/config/indexConfig/metrics部分中使用布爾參數(shù)可以打開其他度量的集合:

<config>
  ...
  <indexConfig>
    <metrics>
      <majorMergeDocs>524288</majorMergeDocs>
      <bool name="mergeDetails">true</bool>
      <bool name="directoryDetails">true</bool>
    </metrics>
    ...
  </indexConfig>
...
</config>

收集以下指標:

  • INDEX.merge.major - 至少包含“majorMergeDocs”的合并操作的計時器(此參數(shù)的默認值為512k文檔)。
  • INDEX.merge.minor - 包含少于“majorMergeDocs”的合并操作的計時器。
  • INDEX.merge.errors - 合并錯誤的計數(shù)器。
  • INDEX.flush - meter索引刷新操作。

此外,還會報告以下量規(guī),以幫助監(jiān)視索引合并操作的瞬間狀態(tài):

  • INDEX.merge.major.running- 正在運行的主要合并操作的數(shù)量(取決于所使用的 MergeScheduler 的實現(xiàn),可以同時運行多個合并操作)。
  • INDEX.merge.minor.running - 如上所述,對于小規(guī)模的合并操作。
  • INDEX.merge.major.running.docs - 當前在主要合并操作中合并的段中的文檔總數(shù)。
  • INDEX.merge.minor.running.docs - 如上所述,對于小規(guī)模的合并操作。
  • INDEX.merge.major.running.segments - 當前在主要合并操作中合并的段數(shù)。
  • INDEX.merge.minor.running.segments - 如上所述,對于小規(guī)模的合并操作。

如果布爾標志mergeDetails為true,則收集以下附加度量標準:

  • INDEX.merge.major.docs - 主要合并操作中合并的文檔的數(shù)量。
  • INDEX.merge.major.deletedDocs - 主要合并操作中刪除的文檔數(shù)量的表

Metrics API

該admin/metrics端點提供對所有度量組的所有度量的訪問。

有幾個查詢參數(shù)可用于將您的請求僅限于某些度量:

  • group

    要檢索的度量標準組。默認值是all檢索所有組的所有度量標準。其他可能的值是:jvm,jettynodecore。請求中可以指定多個組;多個組名應該用逗號分隔。

  • type

    要檢索的度量的類型。默認是all檢索所有度量類型。其他可能的值是counter,gaugehistogram,metertimer。一個請求中可以指定多個類型;多個類型應該用逗號隔開。

  • prefix

    度量標準名稱的第一個字符,它將過濾返回給那些以提供的字符串開頭的度量標準。它可以與grouptype參數(shù)結合使用。可以在請求中指定多個前綴;多個前綴應該用逗號分隔。前綴匹配也是區(qū)分大小寫的。

  • property

    允許從任何復合度量中僅請求該度量。多個property參數(shù)可以組合起來作為OR請求。例如,要僅從所有度量標準類型和組中獲得第99和第999百分位數(shù)值,可以添加&property=p99_ms&property=p999_ms到您的請求中。這可以結合group,type以及prefix如果有必要。

  • compact

    如果為false,則會返回更詳細的響應格式。而不是像這樣的回應:

     "metrics": [
        "solr.core.gettingstarted",
        {
          "CORE.aliases": {
            "value": ["gettingstarted"]
          },
          "CORE.coreName": {
            "value": "gettingstarted"
          },
          "CORE.indexDir": {
            "value": "/solr/example/schemaless/solr/gettingstarted/data/index/"
          },
          "CORE.instanceDir": {
            "value": "/solr/example/schemaless/solr/gettingstarted"
          },
          "CORE.refCount": {
            "value": 1
          },
          "CORE.startTime": {
            "value": "2017-03-14T11:43:23.822Z"
          }
        }
      ]

    答案將如下所示:

    "metrics": [
        "solr.core.gettingstarted",
        {
          "CORE.aliases": [
            "gettingstarted"
          ],
          "CORE.coreName": "gettingstarted",
          "CORE.indexDir": "/solr/example/schemaless/solr/gettingstarted/data/index/",
          "CORE.instanceDir": "/solr/example/schemaless/solr/gettingstarted",
          "CORE.refCount": 1,
          "CORE.startTime": "2017-03-14T11:43:23.822Z"
        }
      ]

與其他請求處理程序一樣,Metrics API也可以使用該wt參數(shù)來定義輸出格式。

例子

在“core”組中只請求“counter”類型的度量,以JSON返回:

http://localhost:8983/solr/admin/metrics?type=counter&group=core

僅請求以“INDEX”開頭的以“XML”返回的“core”組度量標準:

http://localhost:8983/solr/admin/metrics?wt=xml&prefix=INDEX&group=core
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號