X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fdocker%2Fosm_pods%2Fprometheus.yaml;h=a914ea535b6789f1d4753b0095086352677e3f6a;hb=89c5f55fc5fe30e9f38ef079ebf27ac996183d61;hp=cdfd94d863e1d47891b44bbe0f77e65cfe38cd7d;hpb=8339ed24e9270f4cd7aa34bb632505d8d72f6c4a;p=osm%2Fdevops.git diff --git a/installers/docker/osm_pods/prometheus.yaml b/installers/docker/osm_pods/prometheus.yaml index cdfd94d8..a914ea53 100644 --- a/installers/docker/osm_pods/prometheus.yaml +++ b/installers/docker/osm_pods/prometheus.yaml @@ -1,3 +1,25 @@ +# Copyright 2021 Whitestack, LLC +# ************************************************************* + +# This file is part of OSM Monitoring module +# All Rights Reserved to Whitestack, LLC + +# 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. + +# For those usages not covered by the Apache License, Version 2.0 please +# contact: fbravo@whitestack.com or glavado@whitestack.com +## + apiVersion: v1 kind: Service metadata: @@ -52,14 +74,13 @@ data: # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: - # The job name is added as a label `job=` to any timeseries scraped from this config. - - job_name: 'prometheus' - - # metrics_path defaults to '/metrics' - # scheme defaults to 'http'. - + - job_name: 'mon_exporter' static_configs: - targets: ['mon:8000'] + # Add here other external targets, e.g. a pushgateway + # - job_name: 'pushgateway' + # static_configs: + # - targets: ['prometheus-pushgateway:9091'] kind: ConfigMap metadata: name: prom @@ -81,21 +102,53 @@ spec: labels: app: prometheus spec: + initContainers: + - name: prometheus-init-config + image: busybox + command: ["/bin/sh", "-c"] + args: ['if [ ! -f "/etc/prometheus/prometheus.yml" ]; then cp /config/prometheus.yml /etc/prometheus; fi'] + volumeMounts: + - name: prom-config + mountPath: /etc/prometheus + - name: prom-config-base + mountPath: /config containers: - name: prometheus - image: prom/prometheus:v2.4.3 + image: prom/prometheus:v2.28.1 + args: + - --config.file=/etc/prometheus/prometheus.yml + - --web.enable-lifecycle ports: - containerPort: 9090 protocol: TCP volumeMounts: - name: prom-config - mountPath: /etc/prometheus/ + mountPath: /etc/prometheus - name: prom-db mountPath: /prometheus + - name: prometheus-config-sidecar + image: opensourcemano/prometheus:13 + env: + - name: MONGODB_URL + value: mongodb://mongodb-k8s:27017/?replicaSet=rs0 + - name: PROMETHEUS_CONFIG_FILE + value: /etc/prometheus/prometheus.yml + - name: PROMETHEUS_BASE_CONFIG_FILE + value: /etc/prometheus_base/prometheus.yml + - name: TARGET_DATABASE + value: osm + - name: PROMETHEUS_URL + value: http://prometheus:9090 + volumeMounts: + - name: prom-config + mountPath: /etc/prometheus + - name: prom-config-base + mountPath: /etc/prometheus_base volumes: - - configMap: - defaultMode: 420 + - name: prom-db + emptyDir: {} + - name: prom-config + emptyDir: {} + - name: prom-config-base + configMap: name: prom - name: prom-config - - emptyDir: {} - name: prom-db