Monitoring statsd

感應器 (資料收集)

Instana 代理程式充當 statsd 收集器常駐程式,並且可以使用與實際 statsd 常駐程式相同的方式來接收度量值。 因此您不需要啟動另一個 statsd 常駐程式。 如果使用任何用戶端程式庫的標準 statsd 通訊協定,當資料傳送至感應器時,主機儀表板上最多會顯示 3000 個自訂度量值。 主機是代理程式接收度量資料的位置。 每一種度量類型最多可以收集 1000 個度量: 計數器、量規、計時器。

若要檢視度量值,請在「Instana 使用者」介面的資訊看板中選取 基礎架構 ,按一下特定的受監視主機,然後您可以看到包含所有已收集度量值及受監視處理程序的主機儀表板。

配置

依預設,會停用 statsd 感應器。 若要啟用感應器,請編輯 代理程式配置檔 <agent_install_dir>/etc/instana/configuration.yaml:

com.instana.plugin.statsd:
  enabled: true
  ports:
    udp: 8125
    mgmt: 8126
  bind-ip: "0.0.0.0" # all IPs by default
  flush-interval: 10 # in seconds

附註: 不要 執行一般 statsd 服務,它將阻止代理程式在這些埠上接聽。 僅執行代理程式,它將充當 statsd 伺服器。

度量傳輸

透過 UDP ,度量會以 statsd 格式傳送至已配置的 UDP 埠。 如需格式的相關資訊,請參閱 statsd 文件

例如,下列 Script 會將稱為 hits 的計數器增量 1:

echo "hits:1|c" | nc -u -w0 127.0.0.1 8125

使用 \n 作為分隔字元,多個度量值會透過 UDP 以 statsd 格式傳送至已配置的 UDP 埠:

echo "hits:1|c\nlatency:320|ms\nvisits:333|g\nresponse time:765|s" | nc -u -w0 127.0.0.1 8125

感應器也接受包括標籤的度量值格式:

echo "host.network_receive_errs_total:10|c|#collector:network,device:utun2,host:testmachine" | nc -u -w0 127.0.0.1 8125

附註: 若要檢查 Instana StatsD 感應器是否已開啟 UDP 埠,請遵循下列步驟:

  1. 停用 StatsD 感應器。
  2. 在將接受要求的機器上執行指令 nc -l -u 8125 (使用已啟動 StatsD 感應器安裝 Instana 代理程式的機器)。
  3. 從其他機器傳送指令,例如 echo -n "custom.metric.name-test:1|c" | 34.135.37.172 8125
  4. 如果在埠 8125 上執行的接聽器輸出中顯示度量,則會建立與 StatsD 的連線。 如果沒有,則不會在該機器上開啟 UDP 埠。