Skip to content

Commit 0a148a8

Browse files
authored
Merge pull request #3975 from raft-tech/3244-mimir-integration
Mimir Integration
2 parents 1619a6b + a1b0737 commit 0a148a8

17 files changed

+512
-226
lines changed

.gitconfig

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
allowed = .*DJANGO_SECRET_KEY=.* #this is auto-generated in deployed environments
1414
allowed = ./tdrs-backend/manifest.proxy.yml:*
1515
allowed = ./tdrs-backend/plg/loki/manifest.yml:*
16-
allowed = ./tdrs-backend/plg/deploy.sh:84
16+
allowed = ./tdrs-backend/plg/mimir/manifest.yml:*
17+
allowed = ./tdrs-backend/plg/deploy.sh:*
1718
patterns = (A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}
1819
patterns = (\"|')?(AWS|aws|Aws)?_?(SECRET|secret|Secret)?_?(ACCESS|access|Access)?_?(KEY|key|Key)(\"|')?\\s*(:|=>|=)\\s*(\"|')?[A-Za-z0-9/\\+=]{40}(\"|')?
1920
patterns = (\"|')?(AWS|aws|Aws)?_?(ACCOUNT|account|Account)_?(ID|id|Id)?(\"|')?\\s*(:|=>|=)\\s*(\"|')?[0-9]{4}\\-?[0-9]{4}\\-?[0-9]{4}(\"|')?

scripts/localstack-setup.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,14 @@ awslocal s3api put-bucket-versioning --bucket $AWS_BUCKET --versioning-configura
99
# Add bucket for Loki to store logs
1010
awslocal s3api create-bucket --bucket loki-logs --region $AWS_REGION_NAME
1111
awslocal s3api put-bucket-versioning --bucket loki-logs --versioning-configuration Status=Enabled
12+
13+
# Add bucket for Mimir
14+
awslocal s3api create-bucket --bucket mimir-blocks --region $AWS_REGION_NAME
15+
awslocal s3api put-bucket-versioning --bucket mimir-blocks --versioning-configuration Status=Enabled
16+
17+
awslocal s3api create-bucket --bucket mimir-alertmanager --region $AWS_REGION_NAME
18+
awslocal s3api put-bucket-versioning --bucket mimir-alertmanager --versioning-configuration Status=Enabled
19+
20+
awslocal s3api create-bucket --bucket mimir-ruler --region $AWS_REGION_NAME
21+
awslocal s3api put-bucket-versioning --bucket mimir-ruler --versioning-configuration Status=Enabled
22+

tdrs-backend/docker-compose.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,16 @@ services:
8383
- ./plg/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml
8484
command: --config.file=/etc/alertmanager/alertmanager.yml --storage.path=/alertmanager --log.level=debug --web.external-url=http://localhost:3000/alerts --web.route-prefix=/alerts --cluster.listen-address=""
8585

86+
mimir:
87+
image: grafana/mimir:2.15.1
88+
ports:
89+
- 9009:9009
90+
volumes:
91+
- ./plg/mimir/mimir.local.yml:/etc/mimir/mimir.yml
92+
command: --config.file=/etc/mimir/mimir.yml
93+
depends_on:
94+
- localstack
95+
8696
prometheus:
8797
restart: always
8898
image: prom/prometheus:v2.54.1
@@ -98,6 +108,7 @@ services:
98108
- celery-exporter
99109
- postgres-exporter
100110
- alertmanager
111+
- mimir
101112

102113
promtail:
103114
restart: always

tdrs-backend/plg/deploy.sh

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,9 @@ deploy_grafana() {
5151
MANIFEST=manifest.tmp.yml
5252
cp manifest.yml $MANIFEST
5353

54-
yq eval -i ".datasources[0].url = \"http://prometheus.apps.internal:8080\"" $DATASOURCES
55-
yq eval -i ".datasources[1].url = \"http://loki.apps.internal:8080\"" $DATASOURCES
54+
yq eval -i ".datasources[0].url = \"http://mimir.apps.internal:8080/prometheus\"" $DATASOURCES
55+
yq eval -i ".datasources[1].url = \"http://prometheus.apps.internal:8080\"" $DATASOURCES
56+
yq eval -i ".datasources[2].url = \"http://loki.apps.internal:8080\"" $DATASOURCES
5657
yq eval -i ".applications[0].services[0] = \"$1\"" $MANIFEST
5758

5859
cf push --no-route -f $MANIFEST -t 180 --strategy rolling
@@ -63,6 +64,13 @@ deploy_grafana() {
6364
popd
6465
}
6566

67+
deploy_mimir() {
68+
pushd mimir
69+
cf push --no-route -f manifest.yml -t 180 --strategy rolling
70+
cf map-route mimir apps.internal --hostname mimir
71+
popd
72+
}
73+
6674
deploy_prometheus() {
6775
pushd prometheus
6876
cf push --no-route -f manifest.yml -t 180 --strategy rolling
@@ -95,15 +103,17 @@ setup_prod_net_pols() {
95103
# Target prod environment just in case
96104
cf target -o hhs-acf-ofa -s tanf-prod
97105

98-
# Let grafana talk to prometheus and loki
106+
# Let grafana talk to prometheus, loki, and mimir
99107
cf add-network-policy grafana prometheus --protocol tcp --port 8080
100108
cf add-network-policy grafana loki --protocol tcp --port 8080
109+
cf add-network-policy grafana mimir --protocol tcp --port 8080
101110

102-
# Let prometheus talk to alertmanager/grafana/loki/prod backend
111+
# Let prometheus talk to alertmanager, grafana, loki, prod backend, and mimir
103112
cf add-network-policy prometheus alertmanager --protocol tcp --port 8080
104113
cf add-network-policy prometheus $PROD_BACKEND --protocol tcp --port 8080
105114
cf add-network-policy prometheus grafana --protocol tcp --port 8080
106115
cf add-network-policy prometheus loki --protocol tcp --port 8080
116+
cf add-network-policy prometheus mimir --protocol tcp --port 8080
107117

108118
# Let alertmanager/grafana talk to the prod frontend and vice versa
109119
cf add-network-policy alertmanager $PROD_FRONTEND --protocol tcp --port 80
@@ -203,6 +213,7 @@ if [ "$DB_SERVICE_NAME" == "" ]; then
203213
err_help_exit "Error: you must include a database service name."
204214
fi
205215
if [ "$DEPLOY" == "plg" ]; then
216+
deploy_mimir
206217
deploy_prometheus
207218
deploy_loki
208219
deploy_grafana $DB_SERVICE_NAME

tdrs-backend/plg/grafana/custom.local.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -848,7 +848,7 @@ enabled = false
848848
# 3. Composed by at least 1 lowercase character
849849
# 4. Composed by at least 1 digit character
850850
# 5. Composed by at least 1 symbol character
851-
password_policy = true
851+
password_policy = false
852852

853853
#################################### Auth Proxy ##########################
854854
[auth.proxy]

tdrs-backend/plg/grafana/dashboards/django_dashboard.json

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@
289289
"datasource": {
290290
"default": true,
291291
"type": "prometheus",
292-
"uid": "PBFA97CFB590B2093"
292+
"uid": "$datasource"
293293
},
294294
"fieldConfig": {
295295
"defaults": {
@@ -346,7 +346,7 @@
346346
{
347347
"datasource": {
348348
"type": "prometheus",
349-
"uid": "${DS_PROMETHEUS}"
349+
"uid": "$datasource"
350350
},
351351
"editorMode": "code",
352352
"exemplar": false,
@@ -365,7 +365,7 @@
365365
"datasource": {
366366
"default": true,
367367
"type": "prometheus",
368-
"uid": "PBFA97CFB590B2093"
368+
"uid": "$datasource"
369369
},
370370
"fieldConfig": {
371371
"defaults": {
@@ -422,7 +422,7 @@
422422
{
423423
"datasource": {
424424
"type": "prometheus",
425-
"uid": "${DS_PROMETHEUS}"
425+
"uid": "$datasource"
426426
},
427427
"editorMode": "code",
428428
"exemplar": false,
@@ -613,7 +613,7 @@
613613
"datasource": {
614614
"default": true,
615615
"type": "prometheus",
616-
"uid": "PBFA97CFB590B2093"
616+
"uid": "$datasource"
617617
},
618618
"description": "",
619619
"fieldConfig": {
@@ -683,7 +683,7 @@
683683
{
684684
"datasource": {
685685
"type": "prometheus",
686-
"uid": "${DS_PROMETHEUS}"
686+
"uid": "$datasource"
687687
},
688688
"editorMode": "code",
689689
"expr": "sum(rate(django_http_requests_latency_including_middlewares_seconds_bucket{app=~\"^$application$\"}[$__rate_interval])) by (le)",
@@ -701,7 +701,7 @@
701701
"datasource": {
702702
"default": true,
703703
"type": "prometheus",
704-
"uid": "PBFA97CFB590B2093"
704+
"uid": "$datasource"
705705
},
706706
"description": "",
707707
"fieldConfig": {
@@ -771,7 +771,7 @@
771771
{
772772
"datasource": {
773773
"type": "prometheus",
774-
"uid": "${DS_PROMETHEUS}"
774+
"uid": "$datasource"
775775
},
776776
"editorMode": "code",
777777
"exemplar": false,
@@ -1025,7 +1025,7 @@
10251025
"datasource": {
10261026
"default": true,
10271027
"type": "prometheus",
1028-
"uid": "PBFA97CFB590B2093"
1028+
"uid": "$datasource"
10291029
},
10301030
"description": "",
10311031
"fieldConfig": {
@@ -1090,7 +1090,7 @@
10901090
{
10911091
"datasource": {
10921092
"type": "prometheus",
1093-
"uid": "${DS_PROMETHEUS}"
1093+
"uid": "$datasource"
10941094
},
10951095
"editorMode": "code",
10961096
"exemplar": false,
@@ -1220,7 +1220,7 @@
12201220
"datasource": {
12211221
"default": true,
12221222
"type": "prometheus",
1223-
"uid": "PBFA97CFB590B2093"
1223+
"uid": "$datasource"
12241224
},
12251225
"fieldConfig": {
12261226
"defaults": {
@@ -1301,7 +1301,7 @@
13011301
{
13021302
"datasource": {
13031303
"type": "prometheus",
1304-
"uid": "${DS_PROMETHEUS}"
1304+
"uid": "$datasource"
13051305
},
13061306
"editorMode": "code",
13071307
"expr": "sum(irate(django_db_execute_total{app=~\"^$application$\"}[$__rate_interval])) by (vendor)",
@@ -1317,7 +1317,7 @@
13171317
"datasource": {
13181318
"default": true,
13191319
"type": "prometheus",
1320-
"uid": "PBFA97CFB590B2093"
1320+
"uid": "$datasource"
13211321
},
13221322
"fieldConfig": {
13231323
"defaults": {
@@ -1385,7 +1385,7 @@
13851385
{
13861386
"datasource": {
13871387
"type": "prometheus",
1388-
"uid": "${DS_PROMETHEUS}"
1388+
"uid": "$datasource"
13891389
},
13901390
"editorMode": "code",
13911391
"expr": "sum(rate(django_db_query_duration_seconds_bucket{app=~\"^$application$\"}[$__rate_interval])) by (le)",
@@ -1412,8 +1412,8 @@
14121412
{
14131413
"current": {
14141414
"selected": false,
1415-
"text": "Prometheus",
1416-
"value": "PBFA97CFB590B2093"
1415+
"text": "Mimir",
1416+
"value": "$datasource"
14171417
},
14181418
"hide": 0,
14191419
"includeAll": false,

0 commit comments

Comments
 (0)