

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# API Dasbor
<a name="Grafana-API-Dashboard"></a>

Gunakan API Dasbor untuk membuat, memperbarui, menghapus, dan bekerja dengan dasbor di ruang kerja Grafana Terkelola Amazon. 

Pengenal (id) dasbor adalah nilai numerik yang bertambah otomatis dan hanya unik per ruang kerja. Pengenal unik (uid) dasbor dapat digunakan untuk mengidentifikasi dasbor secara unik di antara beberapa ruang kerja Grafana yang Dikelola Amazon. Ini dibuat secara otomatis jika Anda tidak menyediakannya saat Anda membuat dasbor. Uid memungkinkan memiliki konsistensi URLs untuk mengakses dasbor dan saat menyinkronkan dasbor antara beberapa ruang kerja. Penggunaan uid berarti bahwa mengubah judul dasbor tidak merusak tautan yang ditandai ke dasbor itu.

Uid dapat memiliki panjang maksimal 40 karakter.

**catatan**  
Untuk menggunakan Grafana API dengan ruang kerja Grafana Amazon Managed, Anda harus memiliki token Grafana API yang valid. Anda menyertakan ini di `Authorization` bidang dalam permintaan API. Untuk informasi tentang cara membuat token untuk mengautentikasi panggilan API Anda, lihat[Otentikasi dengan token](authenticating-grafana-apis.md).

## Buat/Perbarui dasbor
<a name="Grafana-API-Dashboard-createupdate"></a>

```
POST /api/dashboards/db
```

Membuat dasbor baru atau memperbarui dasbor yang ada.

**Contoh permintaan untuk membuat dasbor baru**

```
POST /api/dashboards/db HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "dashboard": {
    "id": null,
    "uid": null,
    "title": "Production Overview",
    "tags": [ "templated" ],
    "timezone": "browser",
    "schemaVersion": 16,
    "version": 0,
    "refresh": "25s"
  },
  "folderId": 0,
  "folderUid": "l3KqBxCMz",
  "message": "Made changes to xyz",
  "overwrite": false
}
```

Skema tubuh JSON:
+ **dashboard** — Model dasbor lengkap. Gunakan null untuk membuat dasbor baru.
+ **dashboard.id** — Gunakan null untuk membuat dasbor baru.
+ **dashboard.uid** - Pengidentifikasi unik opsional saat Anda menggunakan ini untuk membuat dasbor baru. Jika null, uid baru dihasilkan. 
+ **folderid** — Id folder untuk menyimpan dasbor.
+ **FoldeRuid** — Uid folder untuk menyimpan dasbor. Mengesampingkan nilai `folderid`
+ **overwrite** - Tentukan `true` untuk menimpa dasbor yang ada dengan versi yang lebih baru, judul dasbor yang sama di folder atau uid dasbor yang sama.
+ **message** - Tetapkan pesan komit untuk riwayat versi.
+ **refresh** - Atur interval penyegaran dasbor. Jika ini lebih rendah dari interval penyegaran minimum, itu diabaikan dan interval penyegaran minimum digunakan. 

Untuk menambah atau memperbarui aturan peringatan untuk panel dasbor, deklarasikan blok. `dashboard.panels.alert`

**Contoh permintaan untuk memperbarui aturan peringatan dasbor**

```
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78

{
 "dashboard":  {
        "id": 104,
        "panels": [
            {
                "alert": {
                    "alertRuleTags": {},
                    "conditions": [
                        {
                            "evaluator": {
                                "params": [
                                    25
                                ],
                                "type": "gt"
                            },
                            "operator": {
                                "type": "and"
                            },
                            "query": {
                                "params": [
                                    "A",
                                    "5m",
                                    "now"
                                ]
                            },
                            "reducer": {
                                "params": [],
                                "type": "avg"
                            },
                            "type": "query"
                        }
                    ],
                    "executionErrorState": "alerting",
                    "for": "5m",
                    "frequency": "1m",
                    "handler": 1,
                    "name": "Panel Title alert",
                    "noDataState": "no_data",
                    "notifications": []
                },
                "aliasColors": {},
                "bars": false,
                "dashLength": 10,
                "dashes": false,
                "datasource": null,
                "fieldConfig": {
                    "defaults": {
                        "custom": {}
                    },
                    "overrides": []
                },
                "fill": 1,
                "fillGradient": 0,
                "gridPos": {
                    "h": 9,
                    "w": 12,
                    "x": 0,
                    "y": 0
                },
                "hiddenSeries": false,
                "id": 2,
                "legend": {
                    "avg": false,
                    "current": false,
                    "max": false,
                    "min": false,
                    "show": true,
                    "total": false,
                    "values": false
                },
                "lines": true,
                "linewidth": 1,
                "nullPointMode": "null",
                "options": {
                    "dataLinks": []
                },
                "percentage": false,
                "pointradius": 2,
                "points": false,
                "renderer": "flot",
                "seriesOverrides": [],
                "spaceLength": 10,
                "stack": false,
                "steppedLine": false,
                "targets": [
                    {
                        "refId": "A",
                        "scenarioId": "random_walk"
                    }
                ],
                "thresholds": [
                    {
                        "colorMode": "critical",
                        "fill": true,
                        "line": true,
                        "op": "gt",
                        "value": 50
                    }
                ],
                "timeFrom": null,
                "timeRegions": [],
                "timeShift": null,
                "title": "Panel Title",
                "tooltip": {
                    "shared": true,
                    "sort": 0,
                    "value_type": "individual"
                },
                "type": "graph",
                "xaxis": {
                    "buckets": null,
                    "mode": "time",
                    "name": null,
                    "show": true,
                    "values": []
                },
                "yaxes": [
                    {
                        "format": "short",
                        "label": null,
                        "logBase": 1,
                        "max": null,
                        "min": null,
                        "show": true
                    },
                    {
                        "format": "short",
                        "label": null,
                        "logBase": 1,
                        "max": null,
                        "min": null,
                        "show": true
                    }
                ],
                "yaxis": {
                    "align": false,
                    "alignLevel": null
                }
            }
        ],
        "title": "Update alert rule via API",
        "uid": "dHEquNzGz",
        "version": 1
    }
}
```

**Contoh respon**

```
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78

{
  "id":      1,
  "uid":     "cIBgcSjkk",
  "url":     "/d/cIBgcSjkk/production-overview",
  "status":  "success",
  "version": 1,
  "slug":    "production-overview" //deprecated in Grafana v5.0
}
```

Kode Status:
+ **200** - Dibuat
+ **400** - Kesalahan seperti JSON tidak valid, bidang tidak valid atau hilang
+ **401 - Tidak** Sah
+ **403** — Akses ditolak
+ **412** — Prasyarat gagal

Kode status **412** digunakan untuk menjelaskan mengapa dasbor tidak dapat dibuat.
+  Dasbor telah diubah oleh orang lain `status=version-mismatch` 
+  Dasbor dengan nama yang sama di folder sudah ada `status=name-exists` 
+  Dasbor dengan uid yang sama sudah ada `status=name-exists` 
+ Dasbor milik plugin `plugin title` `status=plugin-dashboard`

Badan respons memiliki sifat-sifat berikut. Jika dasbor lain memiliki judul yang sama, `status` nilainya adalah`name-exists`.

```
HTTP/1.1 412 Precondition Failed
Content-Type: application/json; charset=UTF-8
Content-Length: 97

{
  "message": "The dashboard has been changed by someone else",
  "status": "version-mismatch"
}
```

## Dapatkan dasbor dengan uid
<a name="Grafana-API-Dashboard-get"></a>

```
GET /api/dashboards/uid/:uid
```

Mengembalikan dasbor yang cocok dengan uid. Metadata yang dikembalikan mungkin berisi informasi tentang UID folder yang berisi dasbor.

**Permintaan contoh**

```
GET /api/dashboards/uid/cIBgcSjkk HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Contoh respon**

```
HTTP/1.1 200
Content-Type: application/json

{
  "dashboard": {
    "id": 1,
    "uid": "cIBgcSjkk",
    "title": "Production Overview",
    "tags": [ "templated" ],
    "timezone": "browser",
    "schemaVersion": 16,
    "version": 0
  },
  "meta": {
    "isStarred": false,
    "url": "/d/cIBgcSjkk/production-overview",
    "folderId": 2,
    "folderUid": "l3KqBxCMz",
    "slug": "production-overview" //deprecated in Grafana v5.0
  }
}
```

Kode Status:
+ **200** — Ditemukan
+ **401 - Tidak** Sah
+ **403** — Akses ditolak
+ **404** - Tidak ditemukan

## Hapus dasbor dengan uid
<a name="Grafana-API-Dashboard-delete"></a>

```
DELETE /api/dashboards/uid/:uid
```

Menghapus dasbor yang cocok dengan uid.

**Permintaan contoh**

```
DELETE /api/dashboards/uid/cIBgcSjkk HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Contoh respon**

```
HTTP/1.1 200
Content-Type: application/json

{
  "title": "Production Overview",
  "message": "Dashboard Production Overview deleted",
  "id": 2
}
```

Kode Status:
+ **200** - Dihapus
+ **401 - Tidak** Sah
+ **403** — Akses ditolak
+ **404** - Tidak ditemukan

## Mendapat dasbor rumah
<a name="Grafana-API-Dashboard-home"></a>

```
GET /api/dashboards/home
```

Mengembalikan dasbor rumah.

**Permintaan contoh**

```
GET /api/dashboards/home HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Contoh respon**

```
HTTP/1.1 200
Content-Type: application/json

{
  "dashboard": {
    "editable":false,
    "hideControls":true,
    "nav":[
      {
        "enable":false,
        "type":"timepicker"
      }
    ],
    "style":"dark",
    "tags":[],
    "templating":{
      "list":[
      ]
    },
    "time":{
    },
    "timezone":"browser",
    "title":"Home",
    "version":5
  },
  "meta":	{
    "isHome":true,
    "canSave":false,
    "canEdit":false,
    "canStar":false,
    "url":"",
    "expires":"0001-01-01T00:00:00Z",
    "created":"0001-01-01T00:00:00Z"
  }
}
```

## Dapatkan tag dasbor
<a name="Grafana-API-Dashboard-tags"></a>

```
GET /api/dashboards/tags
```

Mengembalikan semua tag dasbor.

**Permintaan contoh**

```
GET /api/dashboards/tags HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Contoh respon**

```
HTTP/1.1 200
Content-Type: application/json

[
  {
    "term":"tag1",
    "count":1
  },
  {
    "term":"tag2",
    "count":4
  }
]
```