feat: add Grafana, Loki, and Alloy services to Docker configuration for monitoring
This commit is contained in:
parent
b17b6608d3
commit
ebd91ad070
25
Docker/Dev/config.alloy
Normal file
25
Docker/Dev/config.alloy
Normal file
@ -0,0 +1,25 @@
|
||||
logging {
|
||||
level = "info"
|
||||
format = "logfmt"
|
||||
}
|
||||
|
||||
// Descubrir archivos de log
|
||||
local.file_match "laravel_logs" {
|
||||
path_targets = [
|
||||
{ __path__ = "/var/log/repuve/padron-estatal.log", job = "padron_estatal", env = "dev" },
|
||||
{ __path__ = "/var/log/repuve/repuve-nacional.log", job = "repuve_nacional", env = "dev" },
|
||||
]
|
||||
}
|
||||
|
||||
// Leer los archivos
|
||||
loki.source.file "laravel_reader" {
|
||||
targets = local.file_match.laravel_logs.targets
|
||||
forward_to = [loki.write.local.receiver]
|
||||
}
|
||||
|
||||
// Enviar a Loki
|
||||
loki.write "local" {
|
||||
endpoint {
|
||||
url = "http://loki:3100/loki/api/v1/push"
|
||||
}
|
||||
}
|
||||
@ -65,9 +65,59 @@ services:
|
||||
timeout: 15s
|
||||
retries: 10
|
||||
|
||||
alloy:
|
||||
image: grafana/alloy:latest
|
||||
command:
|
||||
- run
|
||||
- /etc/alloy/config.alloy
|
||||
- --server.http.listen-addr=0.0.0.0:12345
|
||||
ports:
|
||||
- "12345:12345"
|
||||
volumes:
|
||||
- ./config.alloy:/etc/alloy/config.alloy
|
||||
- ../../storage/logs:/var/log/repuve:ro
|
||||
networks:
|
||||
- repuve-network
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- repuve-backend
|
||||
- loki
|
||||
|
||||
loki:
|
||||
image: grafana/loki:latest
|
||||
ports:
|
||||
- "3100:3100"
|
||||
volumes:
|
||||
- ./loki-config.yml:/etc/loki/local-config.yaml
|
||||
- loki_data:/loki
|
||||
command: -config.file=/etc/loki/local-config.yaml
|
||||
networks:
|
||||
- repuve-network
|
||||
restart: unless-stopped
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana:latest
|
||||
ports:
|
||||
- "3000:3000"
|
||||
environment:
|
||||
- GF_AUTH_ANONYMOUS_ENABLED=true
|
||||
- GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer
|
||||
volumes:
|
||||
- grafana_data:/var/lib/grafana
|
||||
- ./grafana/provisioning:/etc/grafana/provisioning
|
||||
networks:
|
||||
- repuve-network
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- loki
|
||||
|
||||
volumes:
|
||||
mysql_data:
|
||||
driver: local
|
||||
loki_data:
|
||||
driver: local
|
||||
grafana_data:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
repuve-network:
|
||||
|
||||
10
Docker/Dev/grafana/provisioning/datasources/loki.yml
Normal file
10
Docker/Dev/grafana/provisioning/datasources/loki.yml
Normal file
@ -0,0 +1,10 @@
|
||||
apiVersion: 1
|
||||
|
||||
datasources:
|
||||
- name: Loki
|
||||
type: loki
|
||||
access: proxy
|
||||
url: http://loki:3100
|
||||
isDefault: true
|
||||
jsonData:
|
||||
maxLines: 1000
|
||||
29
Docker/Dev/loki-config.yml
Normal file
29
Docker/Dev/loki-config.yml
Normal file
@ -0,0 +1,29 @@
|
||||
auth_enabled: false
|
||||
|
||||
server:
|
||||
http_listen_port: 3100
|
||||
|
||||
common:
|
||||
path_prefix: /loki
|
||||
storage:
|
||||
filesystem:
|
||||
chunks_directory: /loki/chunks
|
||||
rules_directory: /loki/rules
|
||||
replication_factor: 1
|
||||
ring:
|
||||
instance_addr: 127.0.0.1
|
||||
kvstore:
|
||||
store: inmemory
|
||||
|
||||
schema_config:
|
||||
configs:
|
||||
- from: 2020-10-24
|
||||
store: tsdb
|
||||
object_store: filesystem
|
||||
schema: v13
|
||||
index:
|
||||
prefix: index_
|
||||
period: 24h
|
||||
|
||||
limits_config:
|
||||
reject_old_samples: false
|
||||
25
Docker/Prod/config.alloy
Normal file
25
Docker/Prod/config.alloy
Normal file
@ -0,0 +1,25 @@
|
||||
logging {
|
||||
level = "warn"
|
||||
format = "logfmt"
|
||||
}
|
||||
|
||||
// Descubrir archivos de log
|
||||
local.file_match "laravel_logs" {
|
||||
path_targets = [
|
||||
{ __path__ = "/var/log/repuve/padron-estatal.log", job = "padron_estatal", env = "prod" },
|
||||
{ __path__ = "/var/log/repuve/repuve-nacional.log", job = "repuve_nacional", env = "prod" },
|
||||
]
|
||||
}
|
||||
|
||||
// Leer los archivos
|
||||
loki.source.file "laravel_reader" {
|
||||
targets = local.file_match.laravel_logs.targets
|
||||
forward_to = [loki.write.local.receiver]
|
||||
}
|
||||
|
||||
// Enviar a Loki
|
||||
loki.write "local" {
|
||||
endpoint {
|
||||
url = "http://loki:3100/loki/api/v1/push"
|
||||
}
|
||||
}
|
||||
@ -63,9 +63,56 @@ services:
|
||||
timeout: 15s
|
||||
retries: 10
|
||||
|
||||
alloy:
|
||||
image: grafana/alloy:latest
|
||||
command:
|
||||
- run
|
||||
- /etc/alloy/config.alloy
|
||||
- --server.http.listen-addr=0.0.0.0:12345
|
||||
ports:
|
||||
- "127.0.0.1:12345:12345"
|
||||
volumes:
|
||||
- ./config.alloy:/etc/alloy/config.alloy
|
||||
- ../../storage/logs:/var/log/repuve:ro
|
||||
networks:
|
||||
- repuve-network
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- repuve-backend
|
||||
- loki
|
||||
|
||||
loki:
|
||||
image: grafana/loki:latest
|
||||
ports:
|
||||
- "127.0.0.1:3100:3100"
|
||||
volumes:
|
||||
- ./loki-config.yml:/etc/loki/local-config.yaml
|
||||
- loki_data:/loki
|
||||
command: -config.file=/etc/loki/local-config.yaml
|
||||
networks:
|
||||
- repuve-network
|
||||
restart: unless-stopped
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana:latest
|
||||
ports:
|
||||
- "127.0.0.1:3000:3000"
|
||||
volumes:
|
||||
- grafana_data:/var/lib/grafana
|
||||
- ./grafana/provisioning:/etc/grafana/provisioning
|
||||
networks:
|
||||
- repuve-network
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- loki
|
||||
|
||||
volumes:
|
||||
mysql_data:
|
||||
driver: local
|
||||
loki_data:
|
||||
driver: local
|
||||
grafana_data:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
repuve-network:
|
||||
|
||||
10
Docker/Prod/grafana/provisioning/datasources/loki.yml
Normal file
10
Docker/Prod/grafana/provisioning/datasources/loki.yml
Normal file
@ -0,0 +1,10 @@
|
||||
apiVersion: 1
|
||||
|
||||
datasources:
|
||||
- name: Loki
|
||||
type: loki
|
||||
access: proxy
|
||||
url: http://loki:3100
|
||||
isDefault: true
|
||||
jsonData:
|
||||
maxLines: 1000
|
||||
29
Docker/Prod/loki-config.yml
Normal file
29
Docker/Prod/loki-config.yml
Normal file
@ -0,0 +1,29 @@
|
||||
auth_enabled: false
|
||||
|
||||
server:
|
||||
http_listen_port: 3100
|
||||
|
||||
common:
|
||||
path_prefix: /loki
|
||||
storage:
|
||||
filesystem:
|
||||
chunks_directory: /loki/chunks
|
||||
rules_directory: /loki/rules
|
||||
replication_factor: 1
|
||||
ring:
|
||||
instance_addr: 127.0.0.1
|
||||
kvstore:
|
||||
store: inmemory
|
||||
|
||||
schema_config:
|
||||
configs:
|
||||
- from: 2020-10-24
|
||||
store: tsdb
|
||||
object_store: filesystem
|
||||
schema: v13
|
||||
index:
|
||||
prefix: index_
|
||||
period: 24h
|
||||
|
||||
limits_config:
|
||||
reject_old_samples: false
|
||||
Loading…
x
Reference in New Issue
Block a user