Recon API

    容器

    • /containers

      URL 结构

      参数

      • prevKey (可选)

        只回传ID大于给定的 prevKey 的容器。 示例:prevKey=1

      • limit (可选)

        只回传有限数量的结果。默认限制是1000。

      回传

      回传所有 ContainerMetadata 对象。

      1. "data": {
      2. "totalCount": 3,
      3. "containers": [
      4. {
      5. "ContainerID": 1,
      6. "NumberOfKeys": 834
      7. },
      8. {
      9. "ContainerID": 2,
      10. "NumberOfKeys": 833
      11. },
      12. {
      13. "ContainerID": 3,
      14. "NumberOfKeys": 833
      15. }
      16. ]
      17. }
      18. }
    • /containers/:id/keys

      URL 结构

      1. GET /api/v1/containers/:id/keys

      参数

      • prevKey (可选)

        只回传在给定的 prevKey 键前缀之后的键。 示例:prevKey=/vol1/bucket1/key1

      • limit (可选)

        只回传有限数量的结果。默认限制是1000。

      回传

      回传给定容器 ID 的所有 KeyMetadata 对象。

      1. {
      2. "totalCount":7,
      3. "keys": [
      4. {
      5. "Volume":"vol-1-73141",
      6. "Bucket":"bucket-3-35816",
      7. "Key":"key-0-43637",
      8. "DataSize":1000,
      9. "Versions":[0],
      10. "Blocks": {
      11. "0": [
      12. {
      13. "containerID":1,
      14. "localID":105232659753992201
      15. }
      16. ]
      17. },
      18. "CreationTime":"2020-11-18T18:09:17.722Z",
      19. "ModificationTime":"2020-11-18T18:09:30.405Z"
      20. },
      21. ...
      22. ]
      23. }
    • /containers/missing

      URL 结构

      1. GET /api/v1/containers/missing

      参数

      没有参数。

      回传

      回传所有丢失容器的 MissingContainerMetadata 对象。

      1. {
      2. "totalCount": 26,
      3. "containers": [{
      4. "containerID": 1,
      5. "missingSince": 1605731029145,
      6. "keys": 7,
      7. "pipelineID": "88646d32-a1aa-4e1a",
      8. "replicas": [{
      9. "containerId": 1,
      10. "datanodeHost": "localhost-1",
      11. "lastReportTimestamp": 1605731201301
      12. },
      13. ...
      14. ]
      15. },
      16. ...
      17. }
    • /containers/:id/replicaHistory

      URL 结构

      1. GET /api/v1/containers/:id/replicaHistory

      参数

      没有参数。

      回传

    • /containers/unhealthy

      URL 结构

      1. GET /api/v1/containers/unhealthy

      参数

      • batchNum (可选)

        回传结果的批号(如“页码”)。 传递1,将回传记录1到limit。传递2,将回传limit + 1到2 * limit,依此类推。

      • limit (可选)

        只回传有限数量的结果。默认限制是1000。

      回传

      回传所有不健康容器的 UnhealthyContainerMetadata 对象。

      1. {
      2. "missingCount": 2,
      3. "underReplicatedCount": 0,
      4. "overReplicatedCount": 0,
      5. "misReplicatedCount": 0,
      6. "containers": [{
      7. "containerID": 1,
      8. "containerState": "MISSING",
      9. "unhealthySince": 1605731029145,
      10. "expectedReplicaCount": 3,
      11. "actualReplicaCount": 0,
      12. "replicaDeltaCount": 3,
      13. "reason": null,
      14. "keys": 7,
      15. "pipelineID": "88646d32-a1aa-4e1a",
      16. "replicas": [{
      17. "containerId": 1,
      18. "datanodeHost": "localhost-1",
      19. "firstReportTimestamp": 1605722960125,
      20. "lastReportTimestamp": 1605731230509
      21. },
      22. ...
      23. ]
      24. },
      25. ...
      26. ]
      27. }
    • /containers/unhealthy/:state

      URL 结构

      1. GET /api/v1/containers/unhealthy/:state

      参数

      • batchNum (可选)

        回传结果的批号(如“页码”)。 传递1,将回传记录1到limit。传递2,将回传limit + 1到2 * limit,依此类推。

      • limit (可选)

        只回传有限数量的结果。默认限制是1000。

      回传

      回传处于给定状态的容器的 UnhealthyContainerMetadata 对象。 不健康的容器状态可能为MISSING, MIS_REPLICATED, UNDER_REPLICATED, OVER_REPLICATED。 响应结构与/containers/unhealthy相同。

    集群状态

    • /clusterState

      URL 结构

      1. GET /api/v1/clusterState

      参数

      没有参数。

      回传

      返回 Ozone 集群当前状态的摘要。

      1. {
      2. "pipelines": 5,
      3. "totalDatanodes": 4,
      4. "healthyDatanodes": 4,
      5. "storageReport": {
      6. "capacity": 1081719668736,
      7. "used": 1309212672,
      8. "remaining": 597361258496
      9. },
      10. "containers": 26,
      11. "volumes": 6,
      12. "buckets": 26,
      13. "keys": 25
      14. }

    数据节点

    • /datanodes

      URL 结构

      1. GET /api/v1/datanodes

      参数

      没有参数。

      回传

    管道

    • /pipelines

      URL 结构

      1. GET /api/v1/pipelines

      参数

      没有参数

      回传

      回传在集群中的所有管道。

      1. {
      2. "totalCount": 5,
      3. "pipelines": [{
      4. "pipelineId": "b9415b20-b9bd-4225",
      5. "leaderNode": "localhost-1",
      6. "datanodes": ["localhost-1", "localhost-2", "localhost-3"],
      7. "duration": 23166128,
      8. "leaderElections": 0,
      9. "replicationType": "RATIS",
      10. "replicationFactor": 3,
      11. "containers": 0
      12. },
      13. ...
      14. ]
      15. }

    任务

    • /task/status

      URL 结构

      1. GET /api/v1/task/status

      参数

      没有参数

      回传

      回传所有 Recon 任务的状态。

      1. [
      2. {
      3. "taskName": "OmDeltaRequest",
      4. "lastUpdatedTimestamp": 1605724099147,
      5. "lastUpdatedSeqNumber": 186
      6. },
      7. ...
      8. ]

    使用率

    • /utilization/fileCount

      URL 结构

      1. GET /api/v1/utilization/fileCount

      参数

      • volume (可选)

        根据给定的卷名过滤结果。

      • bucket (可选)

        根据给定的桶名过滤结果。

      • fileSize (可选)

        根据给定的文件大小筛选结果。

      回传

      回传不同文件范围内的文件计数,其中响应对象中的fileSize是文件大小范围的上限。

      1. [{
      2. "volume": "vol-2-04168",
      3. "bucket": "bucket-0-11685",
      4. "fileSize": 1024,
      5. "count": 1
      6. }, {
      7. "volume": "vol-2-04168",
      8. "bucket": "bucket-1-41795",
      9. "fileSize": 1024,
      10. "count": 1
      11. }, {
      12. "volume": "vol-2-04168",
      13. "bucket": "bucket-2-93377",
      14. "fileSize": 1024,
      15. "count": 1
      16. }, {
      17. "volume": "vol-2-04168",
      18. "bucket": "bucket-3-50336",
      19. "fileSize": 1024,
      20. "count": 2
      21. }]

    指标

    • /metrics/:api

      URL 结构

      参数

      请参阅 以获取完整的查询文档。

      回传

      这是 Prometheus 的代理端点,并回传与 Prometheus 端点相同的响应。 示例:/api/v1/metrics/query?query=ratis_leader_election_electionCount

      1. {
      2. "status": "success",
      3. "data": {
      4. "resultType": "vector",
      5. "result": [
      6. {
      7. "metric": {
      8. "__name__": "ratis_leader_election_electionCount",
      9. "exported_instance": "33a5ac1d-8c65-4c74-a0b8-9314dfcccb42",
      10. "group": "group-03CA9397D54B",
      11. "instance": "ozone_datanode_1:9882",
      12. "job": "ozone"
      13. },
      14. "value": [
      15. 1599159384.455,
      16. "5"
      17. ]
      18. }
      19. ]