Skip to content

Commit

Permalink
Merge pull request #54 from qclaogui:lgtmp-with-caches-enabled
Browse files Browse the repository at this point in the history
Docker Compose(metrics): Enable caches in monolithic-mode
  • Loading branch information
qclaogui authored Mar 18, 2024
2 parents 87f18ff + f0c0593 commit 0f2ba6b
Show file tree
Hide file tree
Showing 18 changed files with 436 additions and 91 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ services:
- "12345"
# scale up support
deploy:
replicas: 2
replicas: 1
networks:
default:
aliases:
Expand Down
6 changes: 4 additions & 2 deletions docker-compose/common/compose-include/load-mimir-rule.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@ services:
condition: service_started
image: ${MIMIRTOOL_IMAGE:-docker.io/grafana/mimirtool:latest}
volumes:
- ../../../monitoring-mixins/mimir-mixin/deploy/mimir-mixin-alerts.yaml:/mimir-mixin-rules.yaml
- ../../../monitoring-mixins/agent-flow-mixin/deploy/agent-flow-mixin-alerts.yaml:/agent-flow-mixin-alerts.yaml
- ../../../monitoring-mixins/memcached-mixin/deploy/memcached-mixin-alerts.yaml:/memcached-mixin-alerts.yaml
- ../../../monitoring-mixins/mimir-mixin/deploy/mimir-mixin-rules.yaml:/mimir-mixin-rules.yaml
- ../../../monitoring-mixins/mimir-mixin/deploy/mimir-mixin-alerts.yaml:/mimir-mixin-alerts.yaml
environment:
- MIMIR_ADDRESS=http://gateway:8080
- MIMIR_TENANT_ID=anonymous
command: >-
rules load /mimir-mixin-rules.yaml /mimir-mixin-alerts.yaml
rules load /agent-flow-mixin-alerts.yaml /memcached-mixin-alerts.yaml /mimir-mixin-rules.yaml /mimir-mixin-alerts.yaml
17 changes: 17 additions & 0 deletions docker-compose/common/compose-include/memcached.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@

services:
memcached:
labels:
- metrics.agent.grafana.com/scrape=false
image: ${MEMCACHED_IMAGE:-memcached:1.6.24-alpine}

memcached-exporter:
labels:
- metrics.agent.grafana.com/scrape=true
# - metrics.agent.grafana.com/job=memcached
- metrics.agent.grafana.com/port=9150
- metrics.agent.grafana.com/interval=15s
image: ${MEMCACHED_EXPORTER_IMAGE:-prom/memcached-exporter:v0.14.2}
command:
- --memcached.address=memcached:11211
- --web.listen-address=0.0.0.0:9150
4 changes: 3 additions & 1 deletion docker-compose/common/config/.env
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,6 @@ MIMIR_IMAGE=grafana/mimir:2.11.0
MIMIRTOOL_IMAGE=grafana/mimirtool:2.11.0
PYROSCOPE_IMAGE=grafana/pyroscope:1.4.0
NGINX_IMAGE=nginxinc/nginx-unprivileged:1.25-alpine
MINIO_IMAGE=minio/minio:RELEASE.2024-03-15T01-07-19Z
MINIO_IMAGE=minio/minio:RELEASE.2024-03-15T01-07-19Z
MEMCACHED_IMAGE=memcached:1.6.24-alpine
MEMCACHED_EXPORTER_IMAGE=prom/memcached-exporter:v0.14.2
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# Do not use this configuration in production.
# It is for demonstration purposes only.
multitenancy_enabled: false

# -usage-stats.enabled=false
usage_stats:
enabled: false

server:
http_listen_port: 8080
grpc_listen_port: 9095
log_level: info

common:
storage:
backend: s3
s3:
endpoint: ${MIMIR_S3_ENDPOINT:minio:9000}
access_key_id: ${MIMIR_S3_ACCESS_KEY_ID:lgtmp}
secret_access_key: ${MIMIR_S3_SECRET_ACCESS_KEY:supersecret}
insecure: ${MIMIR_S3_INSECURE:true}
http:
insecure_skip_verify: true

alertmanager:
data_dir: /data/alertmanager
enable_api: true
external_url: /alertmanager
fallback_config_file: /etc/mimir/alertmanager-fallback-config.yaml
alertmanager_storage:
s3:
bucket_name: mimir-alertmanager

memberlist:
join_members: [ mimir-memberlist:7946 ]

blocks_storage:
s3:
bucket_name: mimir-blocks
tsdb:
dir: /data/ingester
ship_interval: 1m
block_ranges_period: [ 2h ]
retention_period: 3h
bucket_store:
index_cache:
backend: memcached
memcached:
addresses: dns+memcached:11211

chunks_cache:
backend: memcached
memcached:
addresses: dns+memcached:11211

metadata_cache:
backend: memcached
memcached:
addresses: dns+memcached:11211

frontend:
parallelize_shardable_queries: true
scheduler_address: query-scheduler:9095
frontend_worker:
grpc_client_config:
max_send_msg_size: 419430400
scheduler_address: query-scheduler:9095


ruler:
rule_path: /data/rules
enable_api: true
alertmanager_url: http://alertmanager:8080/alertmanager
ruler_storage:
s3:
bucket_name: mimir-ruler
cache:
backend: memcached
memcached:
addresses: dns+memcached:11211

query_scheduler:
service_discovery_mode: "ring"

compactor:
compaction_interval: 30s
data_dir: /tmp/mimir-compactor
cleanup_interval: 1m
tenant_cleanup_delay: 1m

limits:
native_histograms_ingestion_enabled: true


overrides_exporter:
ring:
enabled: true
wait_stability_min_duration: 30s

runtime_config:
file: /etc/mimir/runtime.yaml
28 changes: 22 additions & 6 deletions docker-compose/common/config/mimir/microservices-mode-metrics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,17 @@ alertmanager_storage:
s3:
bucket_name: mimir-alertmanager

memberlist:
join_members: [ mimir-memberlist:7946 ]

blocks_storage:
s3:
bucket_name: mimir-blocks
tsdb:
dir: /data/ingester
ship_interval: 1m
block_ranges_period: [ 2h ]
retention_period: 3h

frontend:
parallelize_shardable_queries: true
Expand All @@ -45,8 +51,6 @@ frontend_worker:
max_send_msg_size: 419430400
scheduler_address: query-scheduler:9095

memberlist:
join_members: [ mimir-memberlist:7946 ]

ruler:
rule_path: /data/rules
Expand All @@ -56,11 +60,23 @@ ruler_storage:
s3:
bucket_name: mimir-ruler

runtime_config:
file: /etc/mimir/runtime.yaml

query_scheduler:
max_outstanding_requests_per_tenant: 800
service_discovery_mode: "ring"

compactor:
compaction_interval: 30s
data_dir: /tmp/mimir-compactor
cleanup_interval: 1m
tenant_cleanup_delay: 1m

limits:
native_histograms_ingestion_enabled: true


overrides_exporter:
ring:
enabled: true
wait_stability_min_duration: 30s

runtime_config:
file: /etc/mimir/runtime.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# Do not use this configuration in production.
# It is for demonstration purposes only.
multitenancy_enabled: false

# -usage-stats.enabled=false
usage_stats:
enabled: false

server:
http_listen_port: 8080
grpc_listen_port: 9095
log_level: info

common:
storage:
backend: s3
s3:
endpoint: ${MIMIR_S3_ENDPOINT:minio:9000}
access_key_id: ${MIMIR_S3_ACCESS_KEY_ID:lgtmp}
secret_access_key: ${MIMIR_S3_SECRET_ACCESS_KEY:supersecret}
insecure: ${MIMIR_S3_INSECURE:true}
http:
insecure_skip_verify: true

alertmanager:
data_dir: /data/alertmanager
enable_api: true
external_url: /alertmanager
fallback_config_file: /etc/mimir/alertmanager-fallback-config.yaml
alertmanager_storage:
s3:
bucket_name: mimir-alertmanager

memberlist:
join_members: [ mimir-memberlist:7946 ]

ingester:
ring:
replication_factor: 1

store_gateway:
sharding_ring:
replication_factor: 1

blocks_storage:
s3:
bucket_name: mimir-blocks
tsdb:
dir: /data/ingester
ship_interval: 1m
block_ranges_period: [ 2h ]
retention_period: 3h
bucket_store:
index_cache:
backend: memcached
memcached:
addresses: dns+memcached:11211

chunks_cache:
backend: memcached
memcached:
addresses: dns+memcached:11211

metadata_cache:
backend: memcached
memcached:
addresses: dns+memcached:11211

ruler:
rule_path: /data/rules
enable_api: true
alertmanager_url: http://localhost:8080/alertmanager
ruler_storage:
s3:
bucket_name: mimir-ruler
cache:
backend: memcached
memcached:
addresses: dns+memcached:11211

compactor:
compaction_interval: 30s
data_dir: /tmp/mimir-compactor
cleanup_interval: 1m
tenant_cleanup_delay: 1m

limits:
native_histograms_ingestion_enabled: true

overrides_exporter:
ring:
enabled: true
wait_stability_min_duration: 30s

runtime_config:
file: /etc/mimir/runtime.yaml
21 changes: 19 additions & 2 deletions docker-compose/common/config/mimir/monolithic-mode-metrics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ common:
http:
insecure_skip_verify: true

alertmanager:
data_dir: /data/alertmanager
enable_api: true
external_url: /alertmanager
fallback_config_file: /etc/mimir/alertmanager-fallback-config.yaml
alertmanager_storage:
s3:
bucket_name: mimir-alertmanager
Expand All @@ -46,15 +51,27 @@ blocks_storage:
block_ranges_period: [ 2h ]
retention_period: 3h

ruler:
rule_path: /data/rules
enable_api: true
alertmanager_url: http://localhost:8080/alertmanager
ruler_storage:
s3:
bucket_name: mimir-ruler

compactor:
compaction_interval: 30s
data_dir: /tmp/mimir-compactor
cleanup_interval: 1m
cleanup_interval: 1m
tenant_cleanup_delay: 1m

limits:
native_histograms_ingestion_enabled: true
native_histograms_ingestion_enabled: true

overrides_exporter:
ring:
enabled: true
wait_stability_min_duration: 30s

runtime_config:
file: /etc/mimir/runtime.yaml
Loading

0 comments on commit 0f2ba6b

Please sign in to comment.