Files
docker-observation/promtail/promtail-config.yml
2024-02-24 15:50:56 -06:00

65 lines
2.0 KiB
YAML

server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://${LOKI_HOST:-loki}:3100/loki/api/v1/push
scrape_configs:
- job_name: flog_scrape
docker_sd_configs:
- host: unix:///var/run/docker.sock
refresh_interval: 5s
relabel_configs:
- source_labels: ['__meta_docker_container_name']
regex: '/(.*)'
target_label: 'container'
- source_labels: ['__meta_docker_container_log_stream']
target_label: 'logstream'
- target_label: 'host'
replacement: '${HOSTNAME}'
pipeline_stages:
- match:
selector: '{container="appdaemon"}'
stages:
- regex:
expression: "(?P<date>\\\\d{4}-\\\\d{2}-\\\\d{2}) (?P<time>\\\\d{2}:\\\\d{2}:\\\\d{2} [AP)]M) (?P<level>\\\\w+) (?P<app>\\\\w+): (?P<msg>.*?)$"
- labels:
level:
app:
msg:
- match:
selector: '{container="zigbee2mqtt"} |= "MQTT publish"'
stages:
- regex:
expression: "topic '(?P<topic>zigbee2mqtt\/(?P<device>[^\/]+).*?)', payload '(?P<payload>.*?)'$"
- labels:
topic:
device:
payload:
- match:
selector: '{topic=~".*action$"}'
stages:
- labels:
action: "payload"
- match:
selector: '{container="zigbee2mqtt"} |= "occupancy"'
stages:
- json:
expressions:
occupancy: occupancy
source: payload
- labels:
occupancy:
- match:
selector: '{container="zigbee2mqtt"} |= "contact"'
stages:
- json:
expressions:
contact: contact
source: payload
- labels:
contact: