Skip to main content

Health Check and Monitoring

Paylaşmış olduğumuz API Collection’ı ile bir transaction ID oluşturmamız gerekiyor. Postman collection’ındaki base 64 formatındaki fotoğrafı da sunucu içerisine eklenmesi gerekmektedir.

Burada dikkat edilmesi gereken nokta JSON body kısmına aşağıdaki modüller eklenerek istek atılmalı ve ardından alınan transaction ile diğer endpointlere istek atılmalıdır.

Method: POST
https://demo.udentify.io/transaction/start

Request JSON Body:

{
"moduleList":["FACE_REGISTRATION", "FACE_LIVENESS", "FACE_IMAGE_UPLOAD"]
}

Response:

{
"status": "OK",
"message": "Transaction created succesfully.",
"response": {
"id": "TRX6EEC4EF8-5C70-4BEF-B9D0-4DFACE7B68B5",
"creationDate": "2022-12-21 09:06:42",
"expireDate": "2022-12-21 09:21:42",
"data": null
}
}

Ardından oluşan transaction ID ile aşağıdaki endpointe istek atılmalıdır.

Method: POST
https://demo.udentify.io/face/image

Request JSON Body:

{
"transactionId": "TRX6EEC4EF8-5C70-4BEF-B9D0-4DFACE7B68B5",
"params": {
"23": "BASE_64_IMAGE"
}
}

Response:

{
"status": "OK",
"message": "MSG_FACE_IMAGE_UPLOAD_SUCCEED",
"response": {
"id": "TRX6EEC4EF8-5C70-4BEF-B9D0-4DFACE7B68B5",
"creationDate": null,
"expireDate": null,
"data": {
"40": "/1/6EEC4EF8-5C70-4BEF-B9D0-4DFACE7B68B5_uploaded_image_1671614260039.jpeg",
"31": "1671614260039"
}
}
}
tip

Yukarıdaki reponse’da 31 numaralı değişken userid olarak geçmektedir. Bu numarayı da register-authentication-liveness isteğimize mutlaka ekleyip saklıyoruz.

Canlılık servisini de dahil etmemiz için aşağıdaki endpointe’de istek atıyoruz. https://demo.udentify.io/face/register-authentication-liveness

Request JSON Body:

{
"transactionId": "TRX6EEC4EF8-5C70-4BEF-B9D0-4DFACE7B68B5",
"registerAuthenticateOrLiveness": 4,
"params": {
"31": "1671614260039",
"23": "BASE_64_IMAGE"
}
}

Response:

{
"status": "OK",
"message": "LIVENESS_REGISTRATION_SUCCESS",
"response": {
"faceRecognitionResponse": {
"status": "OK",
"message": "MSG_FACE_REGISTRATION_SUCCEED",
"response": {
"id": "TRX6EEC4EF8-5C70-4BEF-B9D0-4DFACE7B68B5",
"creationDate": null,
"expireDate": null,
"data": {
"48": "438184831325582096",
"38": "0.99999976",
"40": "/2022/12/21/9/6EEC4EF8-5C70-4BEF-B9D0-4DFACE7B68B5_registration_image_1671614691676.jpeg",
"44": "true",
"31": "1671614260039"
}
}
},
"livenessResponse": {
"status": "OK",
"message": "MSG_FACE_LIVENESS_SUCCEED",
"response": {
"id": "TRX6EEC4EF8-5C70-4BEF-B9D0-4DFACE7B68B5",
"creationDate": null,
"expireDate": null,
"data": {
"37": "4.913722",
"40": "/2022/12/21/9/6EEC4EF8-5C70-4BEF-B9D0-4DFACE7B68B5_liveness_image_1671614691638.jpeg",
"46": "0.9958316",
"47": "0.9927085"
}
}
}
}
}

Son olarak kontrol transaction’ın durumunu kontrol ediyoruz. https://demo.udentify.io/transaction/get-transaction-data

Request JSON Body:

{
"transactionId": "TRX6EEC4EF8-5C70-4BEF-B9D0-4DFACE7B68B5"
}

Response’da transactionStatus Successful gördüysek servisimiz ayarlanmıştır.

{
"status": "OK",
"message": "MSG_TRANSACTION_DATA_REQUEST_COMPLETED",
"response": {
"transactionId": "TRX54436417-A12F-450D-A99A-74143054B95E",
"customId": null,
"transactionStatus": "SUCCESSFUL", -- Bu Kısım
"requiredModuleList": [
"FACE_REGISTRATION",
"FACE_LIVENESS",
"FACE_IMAGE_UPLOAD"
],
....
....

UserID olarak saklanması gereken numarayı sunucu içerisindeki /opt/udentify/udentify.properties dosyası içerisine yazıyoruz. Health check için paylaştığımız fotoğrafı da aşağıda belirtilen path altına koyarak container’lara restart uyguluyoruz.

udentify.properties
io.udentify.face.healthcheck.file.path=/opt/udentify/healthcheck.png
io.udentify.face.healthcheck.userid=1671614260039
io.udentify.face.healthcheck.username=healthchecktestuser

Monitoring

Aşağıda çok popüler bir monitoring toolu olan PRTG üzerinden alarm tanımlamasına bakılarak alarm tanımlaması oluşturulabilir. Response HTTP status 200 dışında kalan her durum alarm olarak algılanmalıdır.

https://demo.udentify.io/transaction/get-transaction-data

Request Body:

{}

Response:

{
"status": "OK",
"message": "health check is ok",
"response": null
}

Diğer izlenebilecek bir servis ise get-transaction-data servisidir.