Monitoring

This page describes how you best monitor Onify components and services.

Because Onify is a very flexible platform and can be run on many different platforms including Windows, Linux, Mac OS, Kubernetes, Docker, OpenShift, etc. We cannot document any scenario but will try to explain the basics here.

Onify Hub

The Onify Hub normally consists of the components (containers) APP, API and WORKER. Sometime we also have FUNCTIONS and HELIX but it depends on the implementation. Some customers also have AGENTSERVER container running.

Here is a list of containers you usually should monitor.

API

Monitoring container

If you are running Onify Hub API as a container, it is important to monitor that the container is actually up and running. The API is the heart of Onify so it is crucial that the service working.

Monitoring logs

One of the best way to monitor the API is to monitor the (container/console) logs. We recommend some type of log-management platform such as Logstash.

Health endpoint

By setting api_health to true in settings you enable the /health endpoint and this can be monitored by different platforms like eg. Kubernetes. This is using the CloudNativeJS/cloud-health-connect library.

Example reponse from /health endpoint

{
    "status": "UP",
    "checks": [
        {
            "name": "liveCheck",
            "state": "UP",
            "data": {
                "reason": ""
            }
        }
    ]
}
Metrics endpoint

Onify support the Prometheus for scraping "metrics". To enable this, set the api_metrics setting to true. This will enable the /metrics endpoint.

WORKER

Monitoring container

If you are running Onify Hub Worker as a container, it is important to monitor that the container is actually up and running. You should monitor the logs.

Onify Agent

This is an optional component/container that some customers are using.

Monitoring container

If you are running Onify Agent as a container, it is important to monitor that the container is actually up and running.

Monitoring service

If you are running Onify Hub APP as a service, it is important to monitor that the service is actually up and running.

Monitoring logs

One of the best way to monitor the Agent is to monitor the log files. We recommend some type of log-management platform such as Logstash.

Elasticsearch

Here is documentation how to monitor Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/current/monitor-elasticsearch-cluster.html