blob: a4313c14ebb0d0613cfeabc1f0c6ee51023251ef [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
100.. image:: images/cps-service-console.JPG
101 :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
114 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.spi.entities.DataspaceEntity@68ded236 :: 205 ms
115
116 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.spi.entities.DataspaceEntity@68ded236, bookstore] having result = org.onap.cps.spi.entities.AnchorEntity@71c47fb1 :: 46 ms
117
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 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
162 | cps-temporal | `logback.xml <https://github.com/onap/oom/blob/master/kubernetes/cps/components/cps-temporal/resources/config/logback.xml>`__ |
163 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
164 | ncmp-dmi-plugin | Not yet applicable to DMI-Plugin |
165 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
lukegleesona0f97c12021-09-28 12:24:07 +0100166
ToineSiebelink39207852021-10-21 12:11:25 +0100167.. Below Label is used by documentation for other CPS components to link here, do not remove even if it gives a warning
168.. _cps_common_monitoring:
169
lukegleesona0f97c12021-09-28 12:24:07 +0100170Monitoring
171==========
172Once CPS-Core is deployed, information related to the running instance of the application is available
173
174.. code::
175
mpriyank02b2d2a2023-10-25 12:23:10 +0100176 http://<cps-component-service-name>:8080/actuator/info/
lukegleesona0f97c12021-09-28 12:24:07 +0100177
178Health
179------
180
181Cps-Core health status and state can be checked using the following endpoint.
182This also includes both the liveliness state and readiness state.
183
184.. code::
185
mpriyank02b2d2a2023-10-25 12:23:10 +0100186 http://<cps-component-service-name>:8080/actuator/health/
lukegleesona0f97c12021-09-28 12:24:07 +0100187
188Metrics
189-------
190
191Prometheus Metrics can be checked at the following endpoint
192
193.. code::
194
mpriyank02b2d2a2023-10-25 12:23:10 +0100195 http://<cps-component-service-name>:8080/actuator/prometheus
DylanB95ESTb130fd32022-04-04 13:09:22 +0100196
197Naming Validation
198-----------------
199
lukegleeson4a34fa52022-09-19 15:31:59 +0100200As 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 +0100201
202 - Dataspace names
203 - Schema Set names
204 - Anchor names
205 - Cm-Handle identifiers
206
207The following characters along with spaces are no longer valid for naming of these components.
208
209.. code::
210
211 !"#$%&'()*+,./\:;<=>?@[]^`{|}~