You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

139 lines
4.0 KiB

2 years ago
# https://raw.githubusercontent.com/grafana/loki/v2.8.0/production/docker-compose.yaml
# https://grafana.com/docs/loki/latest/clients/docker-driver/
- name: Set up Loki
hosts: lotus-land-story
tasks:
- name: Provision Grafana
ansible.builtin.copy:
dest: /mnt/lotus-land-story/grafana/provisioning/datasources/loki.yml
content: |
apiVersion: 1
datasources:
- name: Loki
type: loki
access: proxy
url: http://loki:3100
2 years ago
mode: "0644"
- name: Create Loki config dirs
ansible.builtin.file:
path: /mnt/lotus-land-story/loki/{{ item }}
state: directory
owner: 10001
group: 10001
2 years ago
mode: "0755"
loop:
- config
- data
- name: Configure Loki
ansible.builtin.copy:
dest: /mnt/lotus-land-story/loki/config/loki.yml
2 years ago
content: |
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:
kvstore:
store: inmemory
schema_config:
configs:
- from: 2020-10-24
store: boltdb-shipper
object_store: filesystem
schema: v11
index:
prefix: index_
period: 24h
# https://grafana.com/docs/loki/latest/operations/storage/tsdb/
- from: 2023-07-17
index:
period: 24h
prefix: index_
object_store: filesystem
schema: v12
store: tsdb
2 years ago
storage_config:
filesystem:
directory: /data
ruler:
alertmanager_url: http://localhost:9093
owner: 10001
group: 10001
mode: "0644"
# https://github.com/grafana/loki/issues/2361
- name: Configure Promtail
ansible.builtin.copy:
dest: /mnt/lotus-land-story/loki/config/promtail.yml
content: |
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://loki:3100/loki/api/v1/push
scrape_configs:
- job_name: system
static_configs:
- targets:
- localhost
labels:
job: varlogs
__path__: /var/log/*log
- job_name: docker
docker_sd_configs:
- host: unix:///var/run/docker.sock
refresh_interval: 5s
relabel_configs:
- source_labels: ['__meta_docker_container_name']
regex: '/(.*)'
target_label: 'container'
2 years ago
mode: "0644"
- name: Run Loki
community.docker.docker_container:
name: loki
image: grafana/loki:2.8.0
1 year ago
restart: true
command: -config.file=/mnt/config/loki.yml
volumes:
- /mnt/lotus-land-story/loki/config:/mnt/config
- /mnt/lotus-land-story/loki/data:/data
restart_policy: unless-stopped
networks:
- name: lotus_land_story
etc_hosts:
host.docker.internal: host-gateway
- name: Run Promtail
community.docker.docker_container:
name: promtail
image: grafana/promtail:2.8.0
1 year ago
restart: true
command: -config.file=/mnt/config/promtail.yml
volumes:
- /var/log:/var/log
- /var/run/docker.sock:/var/run/docker.sock
- /mnt/lotus-land-story/loki/config:/mnt/config
restart_policy: unless-stopped
networks:
- name: lotus_land_story
etc_hosts:
host.docker.internal: host-gateway
2 years ago
# vim: ft=yaml.ansible