Setelah melakukan instalasi Consul Server dan Consul Client, langkah selanjutnya adalah menambahkan atau mendaftarkan service yang ingin dimonitor.
Pada simulasi ini, kita akan mencoba mendaftarkan service nginx yang berjalan pada port 80 ke Consul Client.
1. Setup Nginx #
Jalankan container nginx:
docker run -dit --name web-1 nginx
2. Register Service #
Buat file web-1.hcl, lalu isi dengan konfigurasi berikut:
service {
name = "webserver"
id = "web-1"
tags = ["v1", "v2"]
port = 80
check {
id = "web-1"
name = "check web-1"
service_id = "web-1"
tcp = "ip-web-1:80"
interval = "1s"
timeout = "1s"
}
}
3. Mendefinisikan Multiple Checks #
Anda juga dapat menambahkan lebih dari satu health check dalam satu service:
service {
name = "check-mk"
id = "svc"
tags = ["share"]
port = 80
checks = [
{
id = "svc-80"
name = "check http"
tcp = "127.0.0.1:80"
interval = "1s"
timeout = "1s"
},
{
id = "svc-21"
name = "check ftp"
tcp = "127.0.0.1:21"
interval = "1s"
timeout = "1s"
},
{
id = "svc-53"
name = "check dns"
tcp = "127.0.0.1:53"
interval = "1s"
timeout = "1s"
}
]
}
4. Mendefinisikan Status Health Check Awal #
Anda dapat memberi status awal pada sebuah check:
check = {
id = "mem"
args = ["/bin/check_mem", "-limit", "256MB"]
interval = "10s"
status = "passing"
}
enable-script-checks dan enable-local-script-checks harus diaktifkan pada konfigurasi Consul agent sebelum menggunakan script checks.
5. Registrasi Service ke Consul #
Jalankan perintah berikut:
consul services register web-1.hcl
Reload Consul:
consul reload
Setelah itu, Anda dapat mengecek service melalui WebUI Consul.