summaryrefslogtreecommitdiffstats
path: root/docs/sections/healthcheck.rst
blob: b85a1dea5d561f63a3ca240e98e4f94623424027 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. _healthcheck:

DCAE Health Check
=================

OOM Deployment
--------------
In OOM deployments, DCAE healthchecks are performed by a separate service--dcae-healthcheck.
This service is packaged into a Docker image (``onap/org.onap.dcaegen2.deployments.healthcheck-container``),
which is built in the ``healthcheck-container`` module in the ``dcaegen2/deployments`` repository.

The service is deployed with a Helm chart (``oom/kubernetes/dcaegen2/charts/dcae-healthcheck``)
when DCAE is deployed using OOM.

The dcae-healthcheck container runs a service that exposes a simple Web API.  In response to
request, the service checks Kubernetes to verify that all of the expected
DCAE platform and service components are in a ready state.  The service
has a fixed list of platform and service components that are normally deployed when DCAE is
first installed, including components deployed with Helm charts and
components deployed using Cloudify blueprints.   In addition, the healthcheck
service tracks and checks components that are deployed dynamically using Cloudify
blueprints after the initial DCAE installation.

The healthcheck service is exposed as a Kubernetes ClusterIP Service named
`dcae-healthcheck`.   The service can be queried for status as shown below.

.. note::
  Run the below commands before running "curl dcae-healthcheck"

  * To get the dcae-healthcheck pod name, run this: kubectl  get pods -n onap | grep dcae-healthcheck
  * Then enter in to the shell of the container, run this: kubectl exec -it <dcae-healthcheck pod> -n onap bash

.. code-block:: json

   $ curl dcae-healthcheck
   {
     "type": "summary",
     "count": 14,
     "ready": 14,
     "items": [
        {
          "name": "dev-dcaegen2-dcae-cloudify-manager",
          "ready": 1,
          "unavailable": 0
        },
        {
          "name": "dev-dcaegen2-dcae-config-binding-service",
          "ready": 1,
          "unavailable": 0
        },
        {
          "name": "dev-dcaegen2-dcae-inventory-api",
          "ready": 1,
          "unavailable": 0
        },
        {
          "name": "dev-dcaegen2-dcae-servicechange-handler",
          "ready": 1,
          "unavailable": 0
        },
        {
          "name": "dev-dcaegen2-dcae-deployment-handler",
          "ready": 1,
          "unavailable": 0
        },
        {
          "name": "dev-dcaegen2-dcae-policy-handler",
          "ready": 1,
          "unavailable": 0
        },
        {
          "name": "dep-dcae-ves-collector",
          "ready": 1,
          "unavailable": 0
        },
        {
          "name": "dep-dcae-tca-analytics",
          "ready": 1,
          "unavailable": 0
        },
        {
          "name": "dep-dcae-prh",
          "ready": 1,
          "unavailable": 0
        },
        {
          "name": "dep-dcae-hv-ves-collector",
          "ready": 1,
          "unavailable": 0
        },
        {
          "name": "dep-dcae-dashboard",
          "ready": 1,
          "unavailable": 0
        },
        {
          "name": "dep-dcae-snmptrap-collector",
          "ready": 1,
          "unavailable": 0
        },
        {
          "name": "dep-holmes-engine-mgmt",
          "ready": 1,
          "unavailable": 0
        },
        {
          "name": "dep-holmes-rule-mgmt",
          "ready": 1,
          "unavailable": 0
        }
      ]
    }