blob: 4a40f9b29caf7f301063c9dea4c1173bd2271fe6 [file] [log] [blame]
DylanB95EST7c943232021-09-22 10:38:21 +01001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
DylanB95ESTb130fd32022-04-04 13:09:22 +01003.. Copyright (C) 2021-2022 Nordix Foundation
DylanB95EST7c943232021-09-22 10:38:21 +01004
5.. DO NOT CHANGE THIS LABEL FOR RELEASE NOTES - EVEN THOUGH IT GIVES A WARNING
6.. _adminGuide:
7
8
9CPS Admin Guide
10###############
11
DylanB95EST7c943232021-09-22 10:38:21 +010012.. toctree::
13 :maxdepth: 1
14
sourabh_sourabh8cbd81a2022-02-01 14:56:02 +053015Logging Configuration
16=====================
17
18.. note::
19 Default logging level of "logging.level.org.onap.cps" is set to "INFO".
20
21.. code-block:: bash
22
23 logging:
24 level:
25 org:
26 springframework: INFO
27 onap:
28 cps: INFO
29
30CPS Log pattern
31---------------
32
Cédric Ollivier490b20d2023-03-15 21:40:48 +010033.. code-block::
sourabh_sourabh8cbd81a2022-02-01 14:56:02 +053034
35 <pattern>
emacleeb176de22022-08-31 15:53:10 +010036 {
lukegleeson4a34fa52022-09-19 15:31:59 +010037 "logTimeStamp" : "%timestamp", // 2022-01-28 18:39:17.768
38 "logLevel": "%level", // DEBUG
39 "principalId": "%userId", // cpsuser
40 "serviceName": "${springAppName}", // cps-application
41 "message":"%message", // Execution time ...
42 "processId": "${PID}", //11128
43 "threadName": "%thread", //tp1901272535-29
emacleeb176de22022-08-31 15:53:10 +010044 "class": "%logger{40}", .// o.onap.cps.aop.CpsLoggingAspectService
emacleeb176de22022-08-31 15:53:10 +010045 }
sourabh_sourabh8cbd81a2022-02-01 14:56:02 +053046 </pattern>
47
48Change logging level
49--------------------
50
sourabh_sourabh8cbd81a2022-02-01 14:56:02 +053051- Curl command 1. Check current log level of "logging.level.org.onap.cps" if it is set to it's default value (INFO)
52
Cédric Ollivier490b20d2023-03-15 21:40:48 +010053.. code-block:: bash
sourabh_sourabh8cbd81a2022-02-01 14:56:02 +053054
mpriyank02b2d2a2023-10-25 12:23:10 +010055 curl --location --request GET 'http://{cps-service-name:cps-port}/actuator/loggers/org.onap.cps' \
sourabh_sourabh8cbd81a2022-02-01 14:56:02 +053056 --header 'Content-Type: application/json; charset=utf-8'
57
58 Response body : HTTP Status 200
59
60 {
61 "configuredLevel": "INFO",
62 "effectiveLevel": "INFO"
63 }
64
emacleeb176de22022-08-31 15:53:10 +010065
sourabh_sourabh8cbd81a2022-02-01 14:56:02 +053066- Curl command 2. Change logging level of "logging.level.org.onap.cps" to "DEBUG"
67
68.. note::
69 Below-mentioned endpoint will change the log level at runtime. After executing the curl command "effectiveLevel" will set and applied immediately without restarting CPS service.
70
Cédric Ollivier490b20d2023-03-15 21:40:48 +010071.. code-block:: bash
sourabh_sourabh8cbd81a2022-02-01 14:56:02 +053072
mpriyank02b2d2a2023-10-25 12:23:10 +010073 curl --location --request POST 'http://{cps-service-name:cps-port}/actuator/loggers/org.onap.cps' \
sourabh_sourabh8cbd81a2022-02-01 14:56:02 +053074 --header 'Content-Type: application/json; charset=utf-8' \
75 --data-raw '{
76 "configuredLevel": "DEBUG"
77 }'
78
79 Response body : HTTP Status 204
80
81- Curl command 3. Verify if log level of "logging.level.org.onap.cps" is changed from 'INFO' to 'DEBUG'
82
Cédric Ollivier490b20d2023-03-15 21:40:48 +010083.. code-block:: bash
sourabh_sourabh8cbd81a2022-02-01 14:56:02 +053084
mpriyank02b2d2a2023-10-25 12:23:10 +010085 curl --location --request GET 'http://{cps-service-name:cps-port}/actuator/loggers/org.onap.cps' \
sourabh_sourabh8cbd81a2022-02-01 14:56:02 +053086 --header 'Content-Type: application/json; charset=utf-8'
87
88 Response body : HTTP Status 200
89
90 {
91 "configuredLevel": "DEBUG",
92 "effectiveLevel": "DEBUG"
93 }
94
emacleeb176de22022-08-31 15:53:10 +010095
sourabh_sourabh8cbd81a2022-02-01 14:56:02 +053096Location of log files
97---------------------
98By default, Spring Boot will only log to the console and will not write log files.
99
ToineSiebelinkd0e4a9c2023-11-08 17:29:50 +0000100.. image:: _static/cps-service-console.JPG
sourabh_sourabh8cbd81a2022-02-01 14:56:02 +0530101 :width: 700
102 :alt: CPS service console
103
104Measure Execution Time of CPS Service
105-------------------------------------
106
107.. note::
108 Make sure effective log level of "logging.level.org.onap.cps" is 'DEBUG'. This can be verified by executing curl command 3.
109
110Execute CPS service that you want to calculate total elapsed time and log as shown below
111
Cédric Ollivier490b20d2023-03-15 21:40:48 +0100112.. code-block::
sourabh_sourabh8cbd81a2022-02-01 14:56:02 +0530113
leventecsanyi43104302024-09-17 12:07:32 +0200114 2022-01-28 18:39:17.679 DEBUG [cps-application,e17da1571e518c59,e17da1571e518c59] 11128 --- [tp1901272535-29] o.onap.cps.aop.CpsLoggingAspectService : Execution time of : DataspaceRepository.getByName() with argument[s] = [test42] having result = org.onap.cps.impl.models.DataspaceEntity@68ded236 :: 205 ms
sourabh_sourabh8cbd81a2022-02-01 14:56:02 +0530115
leventecsanyi43104302024-09-17 12:07:32 +0200116 2022-01-28 18:39:17.726 DEBUG [cps-application,e17da1571e518c59,e17da1571e518c59] 11128 --- [tp1901272535-29] o.onap.cps.aop.CpsLoggingAspectService : Execution time of : AnchorRepository.getByDataspaceAndName() with argument[s] = [org.onap.cps.impl.models.DataspaceEntity@68ded236, bookstore] having result = org.onap.cps.impl.models.AnchorEntity@71c47fb1 :: 46 ms
sourabh_sourabh8cbd81a2022-02-01 14:56:02 +0530117
118 2022-01-28 18:39:17.768 DEBUG [cps-application,e17da1571e518c59,e17da1571e518c59] 11128 --- [tp1901272535-29] o.onap.cps.aop.CpsLoggingAspectService : Execution time of : CpsAdminPersistenceServiceImpl.getAnchor() with argument[s] = [test42, bookstore] having result = Anchor(name=bookstore, dataspaceName=test42, schemaSetName=bookstore) :: 299 ms
119
120 2022-01-28 18:39:17.768 DEBUG [cps-application,e17da1571e518c59,e17da1571e518c59] 11128 --- [tp1901272535-29] o.onap.cps.aop.CpsLoggingAspectService : Execution time of : CpsAdminServiceImpl.getAnchor() with argument[s] = [test42, bookstore] having result = Anchor(name=bookstore, dataspaceName=test42, schemaSetName=bookstore) :: 305 ms
121
122 2022-01-28 18:39:17.843 DEBUG [cps-application,e17da1571e518c59,e17da1571e518c59] 11128 --- [tp1901272535-29] o.onap.cps.aop.CpsLoggingAspectService : Execution time of : AdminRestController.getAnchor() with argument[s] = [test42, bookstore] having result = <200 OK OK,class AnchorDetails {
123 name: bookstore
124 dataspaceName: test42
125 schemaSetName: bookstore
126 },[]> :: 419 ms
127
128.. warning::
129 Revert logging level of "logging.level.org.onap.cps" to 'INFO' again to prevent unnecessary logging and impacts on performance.
130
ToineSiebelink39207852021-10-21 12:11:25 +0100131.. Below Label is used by documentation for other CPS components to link here, do not remove even if it gives a warning
132.. _cps_common_logging:
133
DylanB95EST7c943232021-09-22 10:38:21 +0100134Logging & Diagnostics
135=====================
lukegleesona0f97c12021-09-28 12:24:07 +0100136
137General Guidelines
138------------------
emacleeb176de22022-08-31 15:53:10 +0100139
lukegleesona0f97c12021-09-28 12:24:07 +0100140CPS-Core logs are sent to `STDOUT` in order to leverage the Kubernetes logging architecture.
141
142These logs are available using the following command:
143
144.. code:: bash
145
146 kubectl logs <cps-core-pod>
147
148The default configuration for CPS logs is the INFO level.
149
150This architecture also makes all logs ready to be sent to an Elastic-search Log-stash and Kibana (ELK) stack or similar.
151
152Enabling tracing for all executed sql statements is done by changing hibernate
153loggers log level
154
155Logger configuration is provided as a chart resource :
156
mpriyankb673b542022-11-09 09:36:24 +0000157 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
158 | cps-component-service-name | logback.xml location |
159 +================================+===============================================================================================================================================+
160 | cps-core | `logback-spring.xml <https://github.com/onap/oom/blob/master/kubernetes/cps/components/cps-core/resources/config/logback-spring.xml>`__ |
161 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
mpriyankb673b542022-11-09 09:36:24 +0000162 | ncmp-dmi-plugin | Not yet applicable to DMI-Plugin |
163 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
lukegleesona0f97c12021-09-28 12:24:07 +0100164
ToineSiebelink39207852021-10-21 12:11:25 +0100165.. Below Label is used by documentation for other CPS components to link here, do not remove even if it gives a warning
166.. _cps_common_monitoring:
167
lukegleesona0f97c12021-09-28 12:24:07 +0100168Monitoring
169==========
170Once CPS-Core is deployed, information related to the running instance of the application is available
171
172.. code::
173
mpriyank02b2d2a2023-10-25 12:23:10 +0100174 http://<cps-component-service-name>:8080/actuator/info/
lukegleesona0f97c12021-09-28 12:24:07 +0100175
176Health
177------
178
179Cps-Core health status and state can be checked using the following endpoint.
180This also includes both the liveliness state and readiness state.
181
182.. code::
183
mpriyank02b2d2a2023-10-25 12:23:10 +0100184 http://<cps-component-service-name>:8080/actuator/health/
lukegleesona0f97c12021-09-28 12:24:07 +0100185
186Metrics
187-------
188
189Prometheus Metrics can be checked at the following endpoint
190
191.. code::
192
mpriyank02b2d2a2023-10-25 12:23:10 +0100193 http://<cps-component-service-name>:8080/actuator/prometheus
DylanB95ESTb130fd32022-04-04 13:09:22 +0100194
mpriyank1ae90802023-11-27 13:53:12 +0000195Hazelcast
196---------
197
198Hazelcast cluster state and health check can be seen using the below endpoints
199
200.. code::
201
202 http://<cps-component-service-name>:<member-port>/hazelcast/health
203 http://<cps-component-service-name>:<member-port>/hazelcast/rest/management/cluster/state
204
205See also : :ref:`cps_common_distributed_datastructures`
206
DylanB95ESTb130fd32022-04-04 13:09:22 +0100207Naming Validation
208-----------------
209
lukegleeson4a34fa52022-09-19 15:31:59 +0100210As part of the Kohn 3.1.0 release, CPS has added validation to the names of the following components:
DylanB95ESTb130fd32022-04-04 13:09:22 +0100211
212 - Dataspace names
213 - Schema Set names
214 - Anchor names
215 - Cm-Handle identifiers
216
217The following characters along with spaces are no longer valid for naming of these components.
218
219.. code::
220
221 !"#$%&'()*+,./\:;<=>?@[]^`{|}~