Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

A1 PMS Spring Boot application exposes some management endpoints including loggers, metrics, Prometheus, and so on...

All these endpoints are enabled by Spring Boot Actuator dependency. When this dependency is added in pom.xml, it will

expose counters and statistics which could be managed from application.yaml


application.yaml
management:
  endpoints:
    web:
      exposure:
        # Enabling of springboot actuator features. See springboot documentation.
        include: "loggers,logfile,health,info,metrics,threaddump,heapdump,prometheus"


In order to access these exposures, you need to form an URL and append metric's name end of the URL like below:

http://localhost:8081/actuator/health or http://localhost:8081/actuator/prometheus


Prometheus Statistics

Prometheus is time-series database, which stores a sequence of data points, across time. It’s generally used to store metrics and performance data from your applications.

There are plenty of Prometheus statistics and counters, however "total_ric_count", "total_policy_type_count", and "total_policy_count"

are directly related to A1-PMS business logic. For example, while total_ric_count shows total available RIC count, total_policy_type_count

reveals total created policy type. An example of Prometheus statistics:

Prometheus UI


If you want to visualize Prometheus' statistics in Prometheus GUI, you can bind the below 'prometheus.yml' that exists in config folder.

prometheus.yml
#
# ============LICENSE_START=======================================================
# ONAP : ccsdk oran
# ================================================================================
# Copyright (C) 2022 Nordix Foundation. All rights reserved.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
#

# Sample Prometheus config
# This assumes that your Prometheus instance can access this application on localhost:8081
# host.docker.internal could be overridden as per the application's end-point e.g. localhost

global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

scrape_configs:
  - job_name: 'A1 PMS scrape'
    metrics_path: '/actuator/prometheus'
    scrape_interval: 15s
    static_configs:
      - targets: ['host.docker.internal:8081']

You can use these links to access Prometheus' page and instructions:

https://prometheus.io/

https://hub.docker.com/u/prom


When Prometheus UI docker container up and running, you can observe application state = "UP".


To access metrics, you can use graph page and search for one of the existing metrics such as "total_policy_type_count".



Another Prometheus metric called "total_ric_count" can be observed too.





  • No labels