X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=docs%2Fadmin-guide.rst;h=7689ee5b6d67afddfbae13ef9e258d04931cd859;hb=refs%2Fheads%2Fmaster;hp=135040faaf15b9d961ec75f9f36b5bd3470a2564;hpb=a1129b696f3197fc7d8a3b63bcd84b5b2dd8874e;p=cps.git diff --git a/docs/admin-guide.rst b/docs/admin-guide.rst index 135040faaf..8f0634a525 100644 --- a/docs/admin-guide.rst +++ b/docs/admin-guide.rst @@ -1,6 +1,6 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. Copyright (C) 2021 Nordix Foundation +.. Copyright (C) 2021-2025 OpenInfra Foundation Europe. All rights reserved. .. DO NOT CHANGE THIS LABEL FOR RELEASE NOTES - EVEN THOUGH IT GIVES A WARNING .. _adminGuide: @@ -12,6 +12,40 @@ CPS Admin Guide .. toctree:: :maxdepth: 1 +Regular Maintenance +=================== +This section details tasks that an administrator of the CPS application should execute on regular basis +to ensure optimum working of CPS. + +Dataspace Clean Up +------------------ +Certain data in the CPS database might not be explicitly removed after it is no longer required ('orphaned data'). +For example, schema sets and their associated unique module resources no longer used by any anchor because of model upgrades. +This data would unnecessarily take up space and could eventually affect the performance of the DB if it is not deleted. +How often this needs to be done depends on how often schema sets are being deprecated. +Typically once per month should suffice. + +To remove orphaned data in a given dataspace use the following post request: + +.. code:: + + http://:/v2/admin/dataspaces//actions/clean + +for example + +.. code-block:: bash + + curl --location --request POST 'http://cps:8080/admin/datsaspaces/bookstore/actions/clean' \ + --header 'Content-Type: application/json; charset=utf-8' + + Response : HTTP Status 204 + +For more details refer to the CPS-Core API: :doc:`design`. + +.. note:: + NCMP has no specific maintenance tasks but it will also build up orphaned data when CM Handles get updated and or deleted. + To delete this data execute the above procedure for the dataspace named 'NFP-Operational'. + Logging Configuration ===================== @@ -30,20 +64,19 @@ Logging Configuration CPS Log pattern --------------- -.. code-block:: java +.. code-block:: - { - "timestamp" : "%timestamp", // 2022-01-28 18:39:17.768 - "severity": "%level", // DEBUG - "service": "${springAppName}", // cps-application - "trace": "${TraceId}", // e17da1571e518c59 - "span": "${SpanId}", // e17da1571e518c59 - "pid": "${PID}", //11128 - "thread": "%thread", //tp1901272535-29 - "class": "%logger{40}", .// o.onap.cps.aop.CpsLoggingAspectService - "rest": "%message" // Execution time ... - } + { + "logTimeStamp" : "%timestamp", // 2022-01-28 18:39:17.768 + "logLevel": "%level", // DEBUG + "principalId": "%userId", // cpsuser + "serviceName": "${springAppName}", // cps-application + "message":"%message", // Execution time ... + "processId": "${PID}", //11128 + "threadName": "%thread", //tp1901272535-29 + "class": "%logger{40}", .// o.onap.cps.aop.CpsLoggingAspectService + } Change logging level @@ -51,9 +84,9 @@ Change logging level - Curl command 1. Check current log level of "logging.level.org.onap.cps" if it is set to it's default value (INFO) -.. code-block:: java +.. code-block:: bash - curl --location --request GET 'http://{cps-service-name:cps-management-port}/manage/loggers/org.onap.cps' \ + curl --location --request GET 'http://{cps-service-name:cps-port}/actuator/loggers/org.onap.cps' \ --header 'Content-Type: application/json; charset=utf-8' Response body : HTTP Status 200 @@ -63,14 +96,15 @@ Change logging level "effectiveLevel": "INFO" } + - Curl command 2. Change logging level of "logging.level.org.onap.cps" to "DEBUG" .. note:: 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. -.. code-block:: java +.. code-block:: bash - curl --location --request POST 'http://{cps-service-name:cps-management-port}/manage/loggers/org.onap.cps' \ + curl --location --request POST 'http://{cps-service-name:cps-port}/actuator/loggers/org.onap.cps' \ --header 'Content-Type: application/json; charset=utf-8' \ --data-raw '{ "configuredLevel": "DEBUG" @@ -80,9 +114,9 @@ Change logging level - Curl command 3. Verify if log level of "logging.level.org.onap.cps" is changed from 'INFO' to 'DEBUG' -.. code-block:: java +.. code-block:: bash - curl --location --request GET 'http://{cps-service-name:cps-management-port}/manage/loggers/org.onap.cps' \ + curl --location --request GET 'http://{cps-service-name:cps-port}/actuator/loggers/org.onap.cps' \ --header 'Content-Type: application/json; charset=utf-8' Response body : HTTP Status 200 @@ -92,11 +126,12 @@ Change logging level "effectiveLevel": "DEBUG" } + Location of log files --------------------- By default, Spring Boot will only log to the console and will not write log files. -.. image:: images/cps-service-console.JPG +.. image:: _static/cps-service-console.JPG :width: 700 :alt: CPS service console @@ -108,11 +143,11 @@ Measure Execution Time of CPS Service Execute CPS service that you want to calculate total elapsed time and log as shown below -.. code-block:: xml +.. code-block:: - 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 + 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 - 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 + 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 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 @@ -135,6 +170,7 @@ Logging & Diagnostics General Guidelines ------------------ + CPS-Core logs are sent to `STDOUT` in order to leverage the Kubernetes logging architecture. These logs are available using the following command: @@ -152,15 +188,13 @@ loggers log level Logger configuration is provided as a chart resource : - +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ - | cps-component-service-name | logback.xml location | - +================================+=================================================================================================================================+ - | cps-core | `logback.xml `_ | - +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ - | cps-temporal | `logback.xml `_ | - +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ - | ncmp-dmi-plugin | Not yet applicable to DMI-Plugin | - +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ + +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | cps-component-service-name | logback.xml location | + +================================+===============================================================================================================================================+ + | cps-core | `logback-spring.xml `__ | + +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | ncmp-dmi-plugin | Not yet applicable to DMI-Plugin | + +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ .. Below Label is used by documentation for other CPS components to link here, do not remove even if it gives a warning .. _cps_common_monitoring: @@ -171,7 +205,7 @@ Once CPS-Core is deployed, information related to the running instance of the ap .. code:: - http://:8081/manage/info/ + http://:8080/actuator/info/ Health ------ @@ -181,13 +215,45 @@ This also includes both the liveliness state and readiness state. .. code:: - http://:8081/manage/health/ + http://:8080/actuator/health/ Metrics ------- +Below table lists all CPS-NCMP custom metrics + +.. csv-table:: + :file: csv/metrics.csv + :widths: 50, 50 + :header-rows: 1 + Prometheus Metrics can be checked at the following endpoint .. code:: - http://:8081/manage/prometheus + http://:8080/actuator/prometheus + +Heap Dump and Thread Dump +------------------------- + +On demand heap dump and thread dump generation using the below endpoints. + +.. code:: + + http://:8080/actuator/heapdump + http://:8080/actuator/threaddump + +Naming Validation +----------------- + +As part of the Kohn 3.1.0 release, CPS has added validation to the names of the following components: + + - Dataspace names + - Anchor names + - CM Handle identifiers + +The following characters along with spaces are no longer valid for naming of these components. + +.. code:: + + !"#$%&'()*+,./\:;<=>?@[]^`{|}~