blob: a914ea535b6789f1d4753b0095086352677e3f6a [file] [log] [blame]
bravofc973b572020-10-21 16:58:50 -03001# Copyright 2021 Whitestack, LLC
2# *************************************************************
3
4# This file is part of OSM Monitoring module
5# All Rights Reserved to Whitestack, LLC
6
7# Licensed under the Apache License, Version 2.0 (the "License"); you may
8# not use this file except in compliance with the License. You may obtain
9# a copy of the License at
10
11# http://www.apache.org/licenses/LICENSE-2.0
12
13# Unless required by applicable law or agreed to in writing, software
14# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
15# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
16# License for the specific language governing permissions and limitations
17# under the License.
18
19# For those usages not covered by the Apache License, Version 2.0 please
20# contact: fbravo@whitestack.com or glavado@whitestack.com
21##
22
vijaynag8339ed22019-07-25 17:10:58 +053023apiVersion: v1
24kind: Service
25metadata:
26 name: prometheus
27spec:
28 ports:
29 - nodePort: 9091
30 port: 9090
31 protocol: TCP
32 targetPort: 9090
33 selector:
34 app: prometheus
35 type: NodePort
36---
37apiVersion: v1
38data:
39 prometheus.yml: |
40 # Copyright 2018 The Prometheus Authors
41 # Copyright 2018 Whitestack
42 # Copyright 2018 Telefonica Investigacion y Desarrollo, S.A.U.
43 #
44 # Licensed under the Apache License, Version 2.0 (the "License");
45 # you may not use this file except in compliance with the License.
46 # You may obtain a copy of the License at
47 #
48 # http://www.apache.org/licenses/LICENSE-2.0
49 #
50 # Unless required by applicable law or agreed to in writing, software
51 # distributed under the License is distributed on an "AS IS" BASIS,
52 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
53 # See the License for the specific language governing permissions and
54 # limitations under the License.
55
56 # my global config
57 global:
58 scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
59 evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
60 # scrape_timeout is set to the global default (10s).
61
62 # Alertmanager configuration
63 alerting:
64 alertmanagers:
65 - static_configs:
66 - targets:
67 # - alertmanager:9093
68
69 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
70 rule_files:
71 # - "first_rules.yml"
72 # - "second_rules.yml"
73
74 # A scrape configuration containing exactly one endpoint to scrape:
75 # Here it's Prometheus itself.
garciadeblasbef284e2022-11-18 00:55:44 +010076 scrape_configs:
77 - job_name: 'mon_exporter'
78 static_configs:
79 - targets: ['mon:8000']
garciadeblas09eaa922022-09-07 22:57:53 +020080 # Add here other external targets, e.g. a pushgateway
81 # - job_name: 'pushgateway'
82 # static_configs:
83 # - targets: ['prometheus-pushgateway:9091']
vijaynag8339ed22019-07-25 17:10:58 +053084kind: ConfigMap
85metadata:
86 name: prom
87---
88apiVersion: apps/v1
89kind: StatefulSet
90metadata:
91 name: prometheus
92 labels:
93 app: prometheus
94spec:
95 replicas: 1
96 serviceName: prometheus
97 selector:
98 matchLabels:
99 app: prometheus
100 template:
101 metadata:
102 labels:
103 app: prometheus
104 spec:
bravof1e0297e2020-07-01 15:11:57 -0400105 initContainers:
106 - name: prometheus-init-config
107 image: busybox
108 command: ["/bin/sh", "-c"]
garciadeblas09eaa922022-09-07 22:57:53 +0200109 args: ['if [ ! -f "/etc/prometheus/prometheus.yml" ]; then cp /config/prometheus.yml /etc/prometheus; fi']
bravof1e0297e2020-07-01 15:11:57 -0400110 volumeMounts:
111 - name: prom-config
112 mountPath: /etc/prometheus
garciadeblas09eaa922022-09-07 22:57:53 +0200113 - name: prom-config-base
114 mountPath: /config
vijaynag8339ed22019-07-25 17:10:58 +0530115 containers:
116 - name: prometheus
garciadeblas0ab16612022-02-22 14:23:57 +0100117 image: prom/prometheus:v2.28.1
lavado71906482020-04-13 17:02:00 -0500118 args:
119 - --config.file=/etc/prometheus/prometheus.yml
120 - --web.enable-lifecycle
vijaynag8339ed22019-07-25 17:10:58 +0530121 ports:
122 - containerPort: 9090
123 protocol: TCP
124 volumeMounts:
125 - name: prom-config
bravof1e0297e2020-07-01 15:11:57 -0400126 mountPath: /etc/prometheus
vijaynag8339ed22019-07-25 17:10:58 +0530127 - name: prom-db
128 mountPath: /prometheus
bravofc973b572020-10-21 16:58:50 -0300129 - name: prometheus-config-sidecar
garciadeblas89c5f552022-11-24 20:16:57 +0100130 image: opensourcemano/prometheus:13
bravofc973b572020-10-21 16:58:50 -0300131 env:
132 - name: MONGODB_URL
133 value: mongodb://mongodb-k8s:27017/?replicaSet=rs0
134 - name: PROMETHEUS_CONFIG_FILE
135 value: /etc/prometheus/prometheus.yml
garciadeblas09eaa922022-09-07 22:57:53 +0200136 - name: PROMETHEUS_BASE_CONFIG_FILE
137 value: /etc/prometheus_base/prometheus.yml
bravofc973b572020-10-21 16:58:50 -0300138 - name: TARGET_DATABASE
139 value: osm
140 - name: PROMETHEUS_URL
141 value: http://prometheus:9090
142 volumeMounts:
143 - name: prom-config
144 mountPath: /etc/prometheus
garciadeblas09eaa922022-09-07 22:57:53 +0200145 - name: prom-config-base
146 mountPath: /etc/prometheus_base
vijaynag8339ed22019-07-25 17:10:58 +0530147 volumes:
garciadeblas09eaa922022-09-07 22:57:53 +0200148 - name: prom-db
149 emptyDir: {}
bravof1e0297e2020-07-01 15:11:57 -0400150 - name: prom-config
bravofc973b572020-10-21 16:58:50 -0300151 emptyDir: {}
garciadeblas09eaa922022-09-07 22:57:53 +0200152 - name: prom-config-base
bravof9d2556f2020-07-03 10:01:42 -0400153 configMap:
154 name: prom