コンテンツにスキップ

Nacos

Nacos の性能メトリクスの表示。Nacos の稼働時間、Nacos Config の長接続数、Nacos Config の設定数、Service Count、HTTP リクエスト数などを含みます。

インストールと設定

対応バージョン

  • 対応 OS: Linux / Windows
  • Nacos バージョン: >= 0.8.0

注記: サンプルの Nacos バージョンは 1.4.1 です。

( Linux / Windows 環境は同じです)

メトリクス収集 (必須)

  • application.properties ファイルを設定し、metrics データを公開する
management.endpoints.web.exposure.include=*
  • Nacos を再起動する

クラスタ方式とシングルインスタンスモードでは起動パラメータが異なります。詳細は Nacos 公式ドキュメント を参照してください。

  • 確認

{ip}:8848/nacos/actuator/prometheus にアクセスし、metrics データにアクセスできるか確認します

  • DataKit Prometheus プラグインを有効化する
cd /usr/local/datakit/conf.d/samples/
cp prom.conf.sample nacos-prom.conf
  • nacos-prom.conf 設定ファイルを修正する

主要パラメータの説明

  • urls: prometheus メトリクスのアドレス。ここには Nacos が公開しているメトリクスの URL を入力します
  • source: 収集器の別名。nacos と書くことを推奨します
  • interval: 収集間隔
  • measurement_prefix: メトリクスのプレフィックス。メトリクスを分類して検索しやすくします
  • tls_open: TLS 設定
  • metric_types: メトリクスの種類。未設定の場合はすべてのメトリクスを収集します
[[inputs.prom]]
  urls = ["http://192.168.0.189:8848/nacos/actuator/prometheus"]
  ## url へのリクエストエラーを無視する
  ignore_req_err = false
  ## 収集器の別名
  source = "nacos"
  metric_types = []
  measurement_prefix = "nacos_"
  ## 収集間隔 "ns", "us" (or "µs"), "ms", "s", "m", "h"
  interval = "10s"
  ## TLS 設定
  tls_open = false
  ## カスタム Tags
  [inputs.prom.tags]
  # some_tag = "some_value"
  # more_tag = "some_other_value"
  • DataKit を再起動する

DataKit を再起動

メトリクス詳細

JVM metrics

指標 意味
system_cpu_usage CPU 使用率
system_load_average_1m load
jvm_memory_used_bytes メモリ使用バイト数。各メモリ領域を含みます
jvm_memory_max_bytes メモリ最大バイト数。各メモリ領域を含みます
jvm_gc_pause_seconds_count gc 回数。各種 gc を含みます
jvm_gc_pause_seconds_sum gc 所要時間。各種 gc を含みます
jvm_threads_daemon スレッド数

Nacos 監視メトリクス

指標 意味
http_server_requests_seconds_count http リクエスト数。複数の要素 (url, method, code) を含みます
http_server_requests_seconds_sum http リクエスト総所要時間。複数の要素 (url, method, code) を含みます
nacos_timer_seconds_sum Nacos config の水平通知所要時間
nacos_timer_seconds_count Nacos config の水平通知回数
nacos_monitor{name='longPolling'} Nacos config の長接続数
nacos_monitor{name='configCount'} Nacos config の設定数
nacos_monitor{name='dumpTask'} Nacos config 設定のディスク書き込みタスク滞留数
nacos_monitor{name='notifyTask'} Nacos config 設定の水平通知タスク滞留数
nacos_monitor{name='getConfig'} Nacos config の設定読み取り統計数
nacos_monitor{name='publish'} Nacos config の設定書き込み統計数
nacos_monitor{name='ipCount'} Nacos naming の IP 数
nacos_monitor{name='domCount'} Nacos naming のドメイン数 (1.x バージョン)
nacos_monitor{name='serviceCount'} Nacos naming のドメイン数 (2.x バージョン)
nacos_monitor{name='failedPush'} Nacos naming の配信失敗数
nacos_monitor{name='avgPushCost'} Nacos naming の平均配信所要時間
nacos_monitor{name='leaderStatus'} Nacos naming のロール状態
nacos_monitor{name='maxPushCost'} Nacos naming の最大配信所要時間
nacos_monitor{name='mysqlhealthCheck'} Nacos naming の mysql ヘルスチェック回数
nacos_monitor{name='httpHealthCheck'} Nacos naming の http ヘルスチェック回数
nacos_monitor{name='tcpHealthCheck'} Nacos naming の tcp ヘルスチェック回数

Nacos 異常メトリクス

指標 意味
nacos_exception_total{name='db'} データベース例外
nacos_exception_total{name='configNotify'} Nacos config の水平通知失敗
nacos_exception_total{name='unhealth'} Nacos config server 間のヘルスチェック例外
nacos_exception_total{name='disk'} Nacos naming のディスク書き込み例外
nacos_exception_total{name='leaderSendBeatFailed'} Nacos naming の leader からのハートビート送信例外
nacos_exception_total{name='illegalArgument'} リクエストパラメータが不正
nacos_exception_total{name='nacos'} Nacos リクエスト応答の内部エラー例外(読み書き失敗、権限なし、パラメータエラー)

Nacos のその他のメトリクスについては、Nacos 公式サイト - 監視 を参照してください

ベストプラクティス

フィードバック

このページは役に立ちましたか?