Skip to content

Commit 97859e6

Browse files
MichaelMichael Shebeko
andauthored
Add Prometheus (#52)
Co-authored-by: Michael Shebeko <[email protected]>
1 parent 950ccc5 commit 97859e6

19 files changed

+34243
-0
lines changed

monitoring/.DS_Store

8 KB
Binary file not shown.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: ClusterRole
3+
metadata:
4+
name: prometheus
5+
rules:
6+
- apiGroups: [""]
7+
resources:
8+
- nodes
9+
- services
10+
- endpoints
11+
- pods
12+
verbs: ["get", "list", "watch"]
13+
- apiGroups: [""]
14+
resources:
15+
- configmaps
16+
verbs: ["get"]
17+
- nonResourceURLs: ["/metrics"]
18+
verbs: ["get"]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: ClusterRoleBinding
3+
metadata:
4+
name: prometheus
5+
roleRef:
6+
apiGroup: rbac.authorization.k8s.io
7+
kind: ClusterRole
8+
name: prometheus
9+
subjects:
10+
- kind: ServiceAccount
11+
name: prometheus
12+
namespace: monitoring
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
labels:
5+
app: prometheus
6+
prometheus: prometheus
7+
name: prometheus-service
8+
spec:
9+
ports:
10+
- protocol: TCP
11+
port: 9090
12+
targetPort: 9090
13+
selector:
14+
app: prometheus
15+
prometheus: prometheus
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
apiVersion: monitoring.coreos.com/v1
2+
kind: Prometheus
3+
metadata:
4+
name: prometheus
5+
labels:
6+
prometheus: k8s
7+
spec:
8+
externalLabels:
9+
cluster: docker-desktop
10+
replicas: 1
11+
version: v2.13.1
12+
serviceAccountName: prometheus
13+
serviceMonitorSelector:
14+
matchExpressions:
15+
- key: k8s-app
16+
operator: In
17+
values:
18+
- node-exporter
19+
ruleSelector:
20+
matchLabels:
21+
role: alert-rules
22+
prometheus: k8s
23+
resources:
24+
requests:
25+
memory: 400Mi
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
apiVersion: v1
2+
kind: ServiceAccount
3+
metadata:
4+
name: prometheus
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# apiVersion: v1
2+
# items:
3+
# - apiVersion: v1
4+
# kind: ConfigMap
5+
# metadata:
6+
# name: grafana-dashboard-provisioning
7+
# namespace: monitoring
8+
# data:
9+
# dashboard.yaml: |-
10+
# apiVersion: 1
11+
# providers:
12+
# - name: 'kubernetes'
13+
# orgId: 1
14+
# # <string, required> name of the dashboard folder. Required
15+
# folder: 'kubernetes'
16+
# type: file
17+
# disableDeletion: true
18+
# editable: true
19+
# # <int> how often Grafana will scan for changed dashboards
20+
# updateIntervalSeconds: 30
21+
# options:
22+
# path: /var/lib/grafana/dashboards
23+
# - apiVersion: v1
24+
# kind: ConfigMap
25+
# metadata:
26+
# name: grafana-datasource-provisioning
27+
# namespace: monitoring
28+
# data:
29+
# datasources.yaml: |-
30+
# apiVersion: 1
31+
# datasources:
32+
# - name: prometheus
33+
# orgId: 1
34+
# type: prometheus
35+
# url: http://prometheus-service:9090
36+
# isDefault: true
37+
# access: proxy
38+
# editable: true
39+
# kind: ConfigMapList
40+
apiVersion: v1
41+
kind: ConfigMap
42+
metadata:
43+
name: grafana-datasources
44+
data:
45+
datasources.yaml: |-
46+
apiVersion: 1
47+
datasources:
48+
- name: prometheus
49+
orgId: 1
50+
type: prometheus
51+
url: http://prometheus-service:9090
52+
isDefault: true
53+
access: proxy
54+
editable: true
55+
---
56+
apiVersion: v1
57+
kind: ConfigMap
58+
metadata:
59+
name: grafana-dashboards
60+
data:
61+
dashboards.yaml: |-
62+
{
63+
"apiVersion": 1,
64+
"providers": [
65+
{
66+
"folder": "",
67+
"name": "0",
68+
"options": {
69+
"path": "/grafana-dashboard-definitions/0"
70+
},
71+
"orgId": 1,
72+
"type": "file"
73+
}
74+
]
75+
}

0 commit comments

Comments
 (0)