IBM Cloud Docs
監控IBM Cloudant集群

監控IBM Cloudant集群

確保最佳效能或解決任何問題的關鍵部分是監控受影響的系統。

監控 API 僅適用於擁有專用叢集的IBM® Cloudant® for IBM Cloud®企業客戶,不適用於IBM Cloud®公共客戶。

您希望能夠回答以下問題:

任何配置或應用程式修改導致系統行為以何種方式改變?

要回答這個問題,您需要數據。 數據來自監控系統。 可以使用 _active_tasks 端點在複製時監視系統,活動任務 文件中對此進行了更詳細的描述。

如需更詳細的系統信息,請使用叢集監控API。

監控指標概述

當您監控叢集時,您可以獲得有關其運行情況的資料。 每秒處理的HTTP請求數、每秒處理多少文件等詳細資訊都可以透過監控API取得。 此API只能由管理使用者調用,並應用於特定的監控端點。

例如,如果您想監控地圖函數每秒處理的文件數量,您可以將請求定向到 map_doc 端點。

有關更多信息,請參閱可用 端點 的完整列表。

資料預設以JSON格式傳回。 如果您願意,可以指定 raw 格式。

監控請求的語法

所有對監控 API 的請求都具有以下形式:

curl -u $ADMIN_USER "https://$ADMIN_USER.cloudant.com/_api/v2/monitoring/$END_POINT?cluster=$CLUSTER[&format=(json|raw)]"

下表說明這些欄位:

監控API請求字段
欄位 意義
ADMIN_USER 帳戶名稱。 該帳戶必須具有管理權限。
CLUSTER 您感興趣的集群。
DURATION 指定首選時間序列查詢的持續時間。 從以下時間間隔之一中選擇:["5min", "30min", "1h", "12h", "24h", "1d", "3d", "7d", "1w", "1m", "3m", "6m", "12m", "1y"]DURATION 必須與 STARTEND 請求配對。
END 採用ISO-8601或 UTC 紀元秒的 UTC 時間戳,指定時間序列查詢的結束時間。 時間戳記不能有 STARTEND 相同的查詢,或 ENDSTART 之前,或 STARTEND 之後的查詢。
END_POINT 您要監控的叢集的 方面
START 採用ISO-8601的 UTC 時間戳記或整數秒,其中紀元格式指定與 END 互斥的時間序列查詢的起點。

一些欄位具有預設值:

監控API請求欄位的預設值
欄位 預設值
DURATION 5 分鐘
END 沒有預設值
START 目前時間

結果格式

預設情況下,監控結果以 JSON 格式 傳回。 如果您願意,您可以選擇以 raw 格式 接收結果。

結果包括一個文字字串,用於標識儲存在提供 API 功能的伺服器上的指標,例如:

sumSeries(net.cloudant.mycustomer001.db*.df.srv.used)

結果包括集群級數據。

IBM Cloudant以以下解析度儲存查詢的資料:過去24小時內10秒;過去7天1分鐘;過去 2 年 1 小時。 因此,為了確保IBM Cloudant始終儲存更高解析度的間隔長度,這些解析度邊界上的增量將被修剪一個間隔的長度。

format=json (預設)

除非您另外指定,否則傳回的指標資料為 JSON 格式。 傳回的每個值均由 [datapoint, timestamp] 值組成。

請參閱以 JSON 格式傳回的磁碟使用資料的監控請求範例:

curl "https://$ACCOUNT.cloudant.com/_api/v2/monitoring/disk_use?cluster=myclustername&format=json"

JSON 格式請求磁碟使用資料後,請參閱範例結果:

[
	{
		"target": "sumSeries(net.cloudant.mycustomer001.db*.df.srv.used)",
		"datapoints": [
			[523562172416.0, 1391019360],
			[524413976576.0, 1391019420],
			[519036682240.0, 1391019480],
			[518762102784.0, 1391019540],
			[523719393280.0, 1391019600]
		]
	},
	{
		"target": "sumSeries(net.cloudant.mycustomer001.db*.df.srv.free)",
		"datapoints": [
			[6488926978048.0, 1391019360],
			[6487768301568.0, 1391019420],
			[6493145661440.0, 1391019480],
			[6493420257280.0, 1391019540],
			[4330660167680.0, 1391019600]
		]
	}
]

具有 format=raw

raw 格式資料包含一系列文字字串,用於識別指標名稱和關聯值。

文字字串(例如 sumSeries(net.cloudant.mycustomer001.db*.df.srv.used) )是指標的名稱。 接下來的兩個數字是開始時間和結束時間,以 UTC 紀元秒錶示。 最終數字是以秒為單位的步長。

| 字元後面的數字包含從您選擇的終端節點取得的指標資料。 例如,從磁碟使用端點請求度量資料會傳回 df 命令的輸出,其中磁碟使用表示為儲存的位元組數。

請參閱以 raw 格式傳回的磁碟使用資料的監控請求範例:

curl "https://$ACCOUNT.cloudant.com/_api/v2/monitoring/disk_use?cluster=myclustername&format=raw"

raw 格式請求磁碟使用資料後,請參閱範例結果:

sumSeries(net.cloudant.mycustomer001.db*.df.srv.used),1391019780,1391020080,60|344708448256.0,345318227968.0,346120126464.0,346716471296.0,175483256832.0
sumSeries(net.cloudant.mycustomer001.db*.df.srv.free),1391019780,1391020080,60|6.49070326579e+12,6.4896982057e+12,6.48884414054e+12,6.48801589658e+12,4.32277107507e+12

監控端點

若要列出目前支援的所有監控端點,請向 monitoring 端點發出請求。

下表列出了 API 提供的支援的監控端點:

監控API端點
端點 說明
connections 多個負載平衡器連線的狀態。
disk_use 磁碟使用情況,透過 df 指令測量。
kv_emits 每秒發出的 key:value 數量。
map_doc 地圖函數每秒處理的文件數。
network 接收和發送的八位元組。
rate/status_code 請求率,按狀態代碼分組。
rate/verb 請求率,按 HTTP 動詞分組。
rps 每秒讀取的次數。
wps 每秒寫入次數。

請參閱顯示如何取得目前支援的監控端點清單的範例:

curl "https://$ACCOUNT.cloudant.com/_api/v2/monitoring"

請參閱列出可用監控端點的範例回應:

{
    "targets": [
        "node_disk_free_srv",
        "rps",
        "kv_emits",
        "smoosh_channels/slack_dbs",
        "smoosh_channels/upgrade_dbs",
        "smoosh_channels/ratio_dbs",
        "smoosh_channels/ratio_views",
        "smoosh_channels/slack_views",
        "smoosh_channels/upgrade_views",
        "uptime",
        "map_doc",
        "wps",
        "node_peak_cpu",
        "rate/status_code",
        "rate/verb",
        "disk_use",
        "node_mean_cpu",
        "memory",
        "os_proc_count",
        "run_queue",
        "node_disk_use_srv",
        "process_count",
        "response_time"
    ]
}

監控請求範例

connections

查看 connections 監控請求的範例:

curl "https://$ACCOUNT.cloudant.com/_api/v2/monitoring/connections?cluster=myclustername&node=myloadbalancername&format=json"

回應包括以下連線狀態的資料系列:

{
  "end": 1512989500,
  "start": 1512989170,
  "target_responses": [
     {
       "datapoints": [
            [
              0,
              1512989170
            ]
        ],
        "target": "myclustername.myloadbalancername Connections CLOSED"
      },
      {
        "datapoints": [
            [
              19,
              1512989170
            ]
        ],
        "target": "myclustername.myloadbalancername Connections CLOSE_WAIT"
      },
      {
        "datapoints": [
            [
              2,
              1512989170
            ]
        ],
        "target": "myclustername.myloadbalancername Connections CLOSING"
      },
      {
        "datapoints": [
            [
              280,
              1512989170
            ]
        ],
        "target": "myclustername.myloadbalancername Connections ESTABLISHED"
      },
      {
        "datapoints": [
            [
              7,
              1512989170
            ]
        ],
        "target": "myclustername.myloadbalancername Connections FIN_WAIT1"
      },
      {
        "datapoints": [
            [
              0,
              1512989170
            ]
        ],
        "target": "myclustername.myloadbalancername Connections FIN_WAIT2"
      },
      {
        "datapoints": [
            [
              0,
              1512989170
            ]
        ],
        "target": "myclustername.myloadbalancername Connections LAST_ACK"
      },
      {
        "datapoints": [
            [
              4,
              1512989170
            ]
        ],
        "target": "myclustername.myloadbalancername Connections LISTEN"
      },
      {
        "datapoints": [
            [
              1,
              1512989170
            ]
        ],
        "target": "myclustername.myloadbalancername Connections SYN_RECV"
      },
      {
        "datapoints": [
            [
              0,
              1512989170
            ]
        ],
        "target": "myclustername.myloadbalancername Connections SYN_SENT"
      },
      {
        "datapoints": [
            [
              28,
              1512989170
              ]
            ],
        "target": "myclustername.myloadbalancername Connections TIME_WAIT"
      }
   ]
}

您必須在請求中明確指定負載平衡器。

disk_use

查看 disk_use 監控請求的範例:

curl "https://$ACCOUNT.cloudant.com/_api/v2/monitoring/disk_use?cluster=myclustername&format=json"

請參閱 disk_use 監控請求的範例結果(縮寫):

{
	"start": 1435935759,
	"end": 1435936059,
	"target_responses": [
		{
			"target": "myclustername Used disk space (bytes)",
			"datapoints": [
				[
					6855438336.0,
					1435935780
				],
				[
					null,
					1435935795
				],
				[
					null,
					1435935810
				],
				...
				[
					null,
					1435936065
				]
			]
		},
		{
			"target": "myclustername Free disk space (bytes)",
			"datapoints": [
				[
					7141069422592.0,
					1435935780
				],
				[
					null,
					1435935795
				],
				[
					null,
					1435935810
				],
				...
				[
					null,
					1435936065
				]
			]
		}
	]
}

kv_emits

查看 kv_emits 監控請求的範例:

curl "https://$ACCOUNT.cloudant.com/_api/v2/monitoring/kv_emits?cluster=myclustername&format=json"

請參閱 kv_emits 監控請求的範例結果(縮寫):

{
	"start": 1436194248,
	"end": 1436194548,
	"target_responses": [
		{
			"target": "myclustername Key:value pairs emitted per second from map functions",
			"datapoints": [
				[
					0.0,
					1436194230
				],
				[
					0.0,
					1436194245
				],
				[
					0.8000000000001819,
					1436194260
				],
				...
				[
					null,
					1436194515
				]
			]
		}
	]
}

map_doc

查看 map_doc 監控請求的範例:

curl "https://$ACCOUNT.cloudant.com/_api/v2/monitoring/map_doc?cluster=myclustername&format=json"

請參閱 map_doc 監控請求的範例結果(縮寫):

{
	"start": 1436194475,
	"end": 1436194775,
	"target_responses": [
		{
			"target": "myclustername Documents per second through map functions",
			"datapoints": [
				[
					0.0,
					1436194480
				],
				[
					0.5,
					1436194495
				],
				[
					0.4000000000005457,
					1436194510
				],
				...
				[
					0.0,
					1436194765
				]
			]
		}
	]
}

network

curl "https://$ACCOUNT.cloudant.com/_api/v2/monitoring/network?cluster=myclustername&node=myloadbalancername&format=json"
{
  "end": 1512989748,
  "start": 1512989450,
  "target_responses": [
      {
        "datapoints": [
          [
           20247725.5,
           1512989450
          ]
        ],
        "target": "myclustername Octets tx Per Second"
      },
      {
         "datapoints": [
             [
               17697329.3046875,
               1512989450
             ]
         ],
         "target": "myclustername Octets rx Per Second"
       }
    ]
}

您必須在請求中明確指定負載平衡器。

rate/status_code

查看 rate/status_code 監控請求的範例:

curl "https://$ACCOUNT.cloudant.com/_api/v2/monitoring/rate/status_code?cluster=myclustername&format=json"

請參閱 rate/status_code 監控請求的範例結果(縮寫):

{
	"start": 1436194902,
	"end": 1436195202,
	"target_responses": [
		{
			"target": "myclustername 2xx",
			"datapoints": [
				[
					null,
					1436194910
				],
				[
					36.0,
					1436194920
				],
				...
				[
					0.0,
					1436195200
				]
			]
		},
		{
			"target": "myclustername 3xx",
			"datapoints": [
				[
					null,
					1436194910
				],
				[
					0.0,
					1436194920
				],
				...
				[
					null,
					1436195200
				]
			]
		},
		{
			"target": "myclustername 4xx",
			"datapoints": [
				[
					null,
					1436194910
				],
				[
					0.0,
					1436194920
				],
				...
				[
					0.0,
					1436195200
				]
			]
		},
		{
			"target": "myclustername 5xx",
			"datapoints": [
				[
					null,
					1436194910
				],
				[
					0.0,
					1436194920
				],
				...
				[
					null,
					1436195200
				]
			]
		}
	]
}

rate/verb

查看 rate/verb 監控請求的範例:

curl "https://$ACCOUNT.cloudant.com/_api/v2/monitoring/rate/verb?cluster=myclustername&format=json"

請參閱 rate/verb 監控請求的範例結果(縮寫):

{
	"start": 1436195497,
    "end": 1436195797,
	"target_responses": [
		{
			"target": "myclustername GET",
			"datapoints": [
				[
					null,
					1436195500
				],
				[
					36.0,
					1436195510
				],
				...
				[
					49.5,
					1436195790
				]
			]
		},
		{
			"target": "myclustername POST",
			"datapoints": [
				[
					null,
					1436195500
				],
				[
					0.0,
					1436195510
				],
				...
				[
					0.0,
					1436195790
				]
			]
		},
		{
			"target": "myclustername PUT",
			"datapoints": [
				[
					null,
					1436195500
				],
				[
					0.0,
					1436195510
				],
				...
				[
					0.0,
					1436195790
				]
			]
		},
		{
			"target": "myclustername DELETE",
			"datapoints": [
				[
					null,
					1436195500
				],
				[
					0.0,
					1436195510
				],
				...
				[
					0.0,
					1436195790
				]
			]
		},
		{
			"target": "myclustername COPY",
			"datapoints": [
				[
					null,
					1436195500
				],
				[
					0.0,
					1436195510
				],
				...
				[
					0.0,
					1436195790
				]
			]
		},
		{
			"target": "myclustername HEAD",
			"datapoints": [
				[
					null,
					1436195500
				],
				[
					0.0,
					1436195510
				],
				...
				[
					0.0,
					1436195790
				]
			]
		}
	]
}

response_time

查看 response_time 監控請求的範例:

curl "https://$ACCOUNT.cloudant.com/_api/v2/monitoring/response_time?cluster=myclustername&format=json"

請參閱 response_time 監控請求的範例結果(縮寫):

{
  "start": 1523984559,
  "end": 1523984859,
  "target_responses": [
    {
      "datapoints": [
        [
          118.1668472290039,
          1523984540
        ],
        [
          90.57628631591797,
          1523984550
        ],
        [
          142.6778106689453,
          1523984560
        ],
        [
          118.42487335205078,
          1523984570
        ],
        [
          120.38044738769531,
          1523984580
        ],
        [
          103.94148254394531,
          1523984590
        ],
        [
          126.64134979248047,
          1523984600
        ],
        [
          113.03324127197266,
          1523984610
        ],
        [
          136.9058074951172,
          1523984620
        ],
        [
          148.68711853027344,
          1523984630
        ],
        [
          121.22771453857422,
          1523984640
        ],
        [
          142.86459350585938,
          1523984650
        ],
        [
          103.75953674316406,
          1523984660
        ],
        [
          139.1707763671875,
          1523984670
        ],
        [
          118.29866027832031,
          1523984680
        ],
        [
          126.3541259765625,
          1523984690
        ],
        [
          115.5962905883789,
          1523984700
        ],
        [
          106.68751525878906,
          1523984710
        ],
        [
          144.12387084960938,
          1523984720
        ],
        [
          103.8598861694336,
          1523984730
        ],
        [
          136.84429931640625,
          1523984740
        ],
        [
          110.58084106445312,
          1523984750
        ],
        [
          94.69702911376953,
          1523984760
        ],
        [
          126.85747528076172,
          1523984770
        ],
        [
          100.8759994506836,
          1523984780
        ],
        [
          145.0876922607422,
          1523984790
        ],
        [
          100.77622985839844,
          1523984800
        ],
        [
          null,
          1523984810
        ],
        [
          null,
          1523984820
        ],
        [
          null,
          1523984830
        ]
      ],
      "target": "myclustername Response Time (ms)"
    }
  ]
}

rps

查看 rps 監控請求的範例:

curl "https://$ACCOUNT.cloudant.com/_api/v2/monitoring/rps?cluster=myclustername&format=json"

請參閱 rps 監控請求的範例結果(縮寫):

{
	"start": 1436195908,
	"end": 1436196208,
	"target_responses": [
		{
			"target": "myclustername Document Reads Per Second",
			"datapoints": [
				[
					0.20000000001164153,
					1436195910
				],
				[
					0.10000000000582077,
					1436195925
				],
				...
				[
					null,
					1436196195
				]
			]
		}
	]
}

wps

查看 wps 監控請求的範例:

curl "https://$ACCOUNT.cloudant.com/_api/v2/monitoring/wps?cluster=myclustername&format=json"

請參閱 wps 監控請求的範例結果(縮寫):

{
	"start": 1436195999,
	"end": 1436196299,
	"target_responses": [
		{
			"target": "myclustername Document Writes Per Second",
			"datapoints": [
				[
					1.2999999999992724,
					1436196000
				],
				[
					0.5,
					1436196015
				],
				...
				[
					null,
					1436196285
				]
			]
		}
	]
}