---
title: Kesehatan dan pemantauan
description: Probe liveness dan readiness, apa yang diverifikasi dan tidak diverifikasi oleh keduanya, format log, dan sinyal yang perlu diberi alert.
canonical: https://developer.unico.io/id/human-plugin/self-hosting/health-and-monitoring
locale: id
generated_by: markdown-export
---

# Kesehatan dan pemantauan

Apa yang perlu di-probe, apa yang perlu dipantau, dan apa yang tidak dapat diberitahukan oleh probe.

## Probe

| Endpoint | Menjawab | Digunakan untuk |
| --- | --- | --- |
| `GET /health/live` | `200 {"status":"ok"}` selama proses melayani permintaan | Liveness |
| `GET /health/ready` | `200 {"status":"ok"}` saat PostgreSQL menjawab, selain itu `503 {"status":"unavailable"}` | Readiness: arahkan trafik hanya setelah siap |

```yaml
livenessProbe:
  httpGet: { path: /health/live, port: 8080 }
readinessProbe:
  httpGet: { path: /health/ready, port: 8080 }
  timeoutSeconds: 5
```

Atur `timeoutSeconds` pada probe readiness. Jika PostgreSQL menerima koneksi tetapi berhenti menjawab, pemeriksaan bisa menunggu jauh lebih lama dari itu, dan timeout membuat probe gagal alih-alih menggantung.

### Apa yang tidak diperiksa readiness

Readiness hanya memeriksa database. Probe ini **tidak** memeriksa apakah access key valid atau apakah Unico dapat dijangkau. Access key yang salah muncul sebagai error pada create, bukan sebagai probe yang gagal. Sertakan permintaan create yang nyata dalam pemeriksaan pasca-deployment Anda.

<a id="logs"></a>

## Log

Log berupa baris JSON di standard output, dengan `timestamp`, `severity`, `service` dan `message`. Kegagalan yang melibatkan proses tersimpan menyertakan `id`-nya. Kesalahan yang dibuat pemanggil (`400`, `404`, `409`, `422`) tidak dicatat.

Startup yang sehat mencatat baris-baris ini, dalam urutan ini, di antara pesan koneksi PostgreSQL (`version` dan `count` katalog berubah setiap rilis katalog):

```json
{"severity":"INFO","timestamp":"2026-11-03T14:02:11.482913407Z","message":"attribute catalog loaded","service":"human-plugin","version":"2026-10-29.1","count":53,"url":"https://human-token-assets.unico.app/attribute-catalog.json"}
{"severity":"INFO","timestamp":"2026-11-03T14:02:11.731050212Z","message":"database schema ready","service":"human-plugin"}
{"severity":"INFO","timestamp":"2026-11-03T14:02:11.733418901Z","message":"human plugin listening","service":"human-plugin","addr":":8080"}
```

## Apa yang perlu diberi alert

- Readiness gagal: database tidak dapat dijangkau.
- Jawaban `503 DATABASE_UNAVAILABLE` atau `502 UPSTREAM_UNAVAILABLE` yang berulang untuk panggilan back-end Anda.
- Restart container: restart loop biasanya berarti ada pengaturan yang hilang, katalog yang tidak dapat dijangkau, atau masalah database. Log menyebutkan penyebabnya.
- Baris log level error, seperti `creating process` atau `retrieving process`.

Human Plugin tidak mengekspor metrik. Gunakan gateway atau service mesh Anda untuk laju permintaan dan latensi.