4 OSO Configuration Parameter

Overview

This section provides the configuration parameters details that are used to install the OSO (Operations Service Overlay) CSAR packages manually.

Prerequisites

  1. Docker is installed
  2. Helm Repository is set up and have access to it.

Images

The 1.6.0 OSO CSAR is packaged with some open source images as below:
  • prometheus
  • pushgateway
  • alertmanager
  • configmap-reload
  • busybox

Table 4-1 OSO Configuration Parameter

Parameter Description Default Values M/O/C Range Notes
ALERTMANAGER-REPO-ADDRESS Docker Image Repo URL of alertmanager where it is located   M   For example: Bastion:5000/docker.io/prom/alertmanager
BUSYBOX-REPO-ADDRESS Docker Image Repo URL of busybox where it is located   M   For example: Bastion:5000/docker.io/busybox
CONFIGMAP-RELOAD-ADDRESS Docker Image Repo URL of configmap-reload where it is located   M   For example: Bastion:5000/docker.io/jimmidyson/configmap-reload
PROMETHEUS-REPO-ADDRESS Docker Image Repo URL of prometheus where it is located   M   For example: Bastion:5000/docker.io/prom/prometheus
PROMETHEUS-PUSHGATEWAY-REPO-ADDRESS Docker Image Repo URL of prometheus-pushgateway where it is located   M   For example: Bastion:5000/docker.io/prom/pushgateway
PREFIX Configure this value with specific prefix, if there is any. otherwise the example can be used. oso M   For example: PREFIX-prometheus-alerts = oso-prometheus-alerts
OSO_CORTEX_URL The URL where Prometheus will write metrics data.   C   For example: http://172.16.5.20:9001/api/prom/push
OSO_REMOTE_WRITE_TIMEOUT The maximum amount of time that Prometheus will wait for a response to the remote write request. 30s C   For example: Default is 30s
PV_SIZE The size for persistence volume should be configured here. 8Gi M   For example: 8Gi
STORAGE_SIZE This size is calculated based upon PV_SIZE. i.e (PV_SIZE*0.9) 7.2GB M   STORAGE_SIZE = PV_SIZE*0.9

For example:

If PV = 8Gi, STORAGE_SIZE = 8Gi *0.9 that is 7.2GB

serviceAccountNamePromSvr

serviceAccountNameAlertMgr

serviceAccountNamePushGw

The ServiceAccount to be used by Prometheus/AlertManager/PushGateway resources. "" M  

Users need to create ServiceAccount with required namespace access defined along with the Role/RoleBinding for each of the services(Prometheus/Alertmanager/PushGateway) to be used.

If no external ServiceAccount is configured or empty string (""), a default ServcieAccount with ClusterRole/ClusterRoleBinding will be created for use by Prometheus/Alertmanager/PushGateway.

namespaces If using external Service Account with namespace specific Role/RoleBinding Access granted as above, those namespaces need to be configured in Prometheus for scraping the given allowed namespaces.   C  

A commented sample is provided in the prometheus-custom-values.yaml file. Uncomment below lines and replace ns1, ns2 with namespaces you wish to configure for scraping in each of the Prometheus jobs.

- job_name: 'oracle-cnc-pod'

kubernetes_sd_configs:

- role: pod

#namespaces:

# names:

# - ns1

# - ns2

Can add more in the list as per need.

prefix

suffix

Prefix and suffix that will be added to Kubernates Resources.   C   NOTE: Only containers have been configured with prefix and suffix as of now.

For example:

  k8Resource:
    container:
      prefix: Verizon1
      suffix: Verizon2
allResources: labels: {} Global Labels(allResources) - These labels will be attached to ALL Kubernates resources. Depicted with TYPE1 in the provided sample prometheus-custom-values.yaml file for reference.   C   For example:
    allResources:
      labels: 

env : production
  lbServices:
      labels: {}

    nonlbServices:
      labels: {}

    lbDeployments:
      labels: {}

    nonlbDeployments:
      labels: {}

    lbStatefulSets:
      labels: {}
LB & NON-LB TYPE label - These labels will be attached to load-balancer & non-load balancer types deployments, statefulsets and services. Depicted with TYPE2 in the provided sample prometheus-custom-values.yaml file for reference.   C  

For example:

    lbServices:
      labels: 

key1 : value1

    nonlbServices:
      labels: 
key2 : value2

    lbDeployments:
      labels: 
key3 : value3

    nonlbDeployments:
      labels: 
key4 : value4

    lbStatefulSets:
      labels: 
key5 : value5
alertmanager:
service:
   customExtension:
     labels: {} 

deployment:
   customExtension:
     labels: {} 
Service specific label - These labels will be attached with each service in their specific service-label metadata sections and can be used to uniquely label services regardless of them being load-balancer/non-loadbalancer. Depicted with TYPE3 in the provided sample prometheus-custom-values.yaml file for reference. These will be similarly defined for all other services as Prometheus and Pushgateway inside oso.   C   For example:
alertmanager:
service:
   customExtension:
     labels: 
app: nginx  

deployment:
   customExtension:
     labels: 
name: oso