監控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)]"
下表說明這些欄位:
欄位 | 意義 |
---|---|
ADMIN_USER |
帳戶名稱。 該帳戶必須具有管理權限。 |
CLUSTER |
您感興趣的集群。 |
DURATION |
指定首選時間序列查詢的持續時間。 從以下時間間隔之一中選擇:["5min", "30min", "1h", "12h", "24h", "1d", "3d", "7d", "1w", "1m", "3m", "6m", "12m", "1y"] 。DURATION 必須與 START 或 END 請求配對。 |
END |
採用ISO-8601或 UTC 紀元秒的 UTC 時間戳,指定時間序列查詢的結束時間。 時間戳記不能有 START 和 END 相同的查詢,或 END 在 START 之前,或 START 在 END 之後的查詢。 |
END_POINT |
您要監控的叢集的 方面。 |
START |
採用ISO-8601的 UTC 時間戳記或整數秒,其中紀元格式指定與 END 互斥的時間序列查詢的起點。 |
一些欄位具有預設值:
欄位 | 預設值 |
---|---|
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 提供的支援的監控端點:
端點 | 說明 |
---|---|
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
]
]
}
]
}