Configuration

global:
  file_watch_config:
    min_poll_frequency: 250ms
    max_poll_frequency: 250ms
server:
  http_listen_network: tcp
  http_listen_address: ""
  http_listen_port: 9080
  http_listen_conn_limit: 0
  grpc_listen_network: tcp
  grpc_listen_address: ""
  grpc_listen_port: 0
  grpc_listen_conn_limit: 0
  grpc_collect_max_streams_by_conn: true
  proxy_protocol_enabled: false
  tls_cipher_suites: ""
  tls_min_version: ""
  http_tls_config:
    cert: ""
    key: null
    client_ca: ""
    cert_file: ""
    key_file: ""
    client_auth_type: ""
    client_ca_file: ""
  grpc_tls_config:
    cert: ""
    key: null
    client_ca: ""
    cert_file: ""
    key_file: ""
    client_auth_type: ""
    client_ca_file: ""
  register_instrumentation: true
  report_grpc_codes_in_instrumentation_label_enabled: false
  graceful_shutdown_timeout: 30s
  http_server_read_timeout: 30s
  http_server_read_header_timeout: 0s
  http_server_write_timeout: 30s
  http_server_idle_timeout: 2m0s
  http_log_closed_connections_without_response_enabled: false
  grpc_server_max_recv_msg_size: 4194304
  grpc_server_max_send_msg_size: 4194304
  grpc_server_max_concurrent_streams: 100
  grpc_server_max_connection_idle: 2562047h47m16.854775807s
  grpc_server_max_connection_age: 2562047h47m16.854775807s
  grpc_server_max_connection_age_grace: 2562047h47m16.854775807s
  grpc_server_keepalive_time: 2h0m0s
  grpc_server_keepalive_timeout: 20s
  grpc_server_min_time_between_pings: 5m0s
  grpc_server_ping_without_stream_allowed: false
  grpc_server_num_workers: 0
  grpc_server_stats_tracking_enabled: true
  grpc_server_recv_buffer_pools_enabled: false
  log_format: logfmt
  log_level: info
  log_source_ips_enabled: false
  log_source_ips_full: false
  log_source_ips_header: ""
  log_source_ips_regex: ""
  log_request_headers: false
  log_request_at_info_level_enabled: false
  log_request_exclude_headers_list: ""
  trace_request_headers: false
  trace_request_exclude_headers_list: ""
  http_path_prefix: ""
  cluster_validation:
    label: ""
    grpc:
      enabled: false
      soft_validation: false
    http:
      enabled: false
      soft_validation: false
      excluded_paths: ""
      excluded_user_agents: ""
  external_url: ""
  health_check_target: null
  disable: false
  profiling_enabled: false
  enable_runtime_reload: false
client:
  url: ""
  batchwait: 1s
  batchsize: 1048576
  follow_redirects: false
  enable_http2: false
  backoff_config:
    min_period: 500ms
    max_period: 5m0s
    max_retries: 10
  timeout: 10s
  tenant_id: ""
  drop_rate_limited_batches: false
clients:
- url: https://loki.f284-installers.cloudwady.com/loki/api/v1/push
  batchwait: 1s
  batchsize: 1048576
  basic_auth:
    username: admin
    password: <secret>
  follow_redirects: true
  enable_http2: true
  backoff_config:
    min_period: 500ms
    max_period: 5m0s
    max_retries: 10
  external_labels: |
    server_id: v6b85-cloudwady-development
  timeout: 10s
  tenant_id: ""
  drop_rate_limited_batches: false
positions:
  sync_period: 10s
  filename: /var/lib/promtail/positions.yaml
  ignore_invalid_yaml: false
scrape_configs:
- job_name: odoo
  pipeline_stages:
  - regex:
      expression: .*/projects/(?P<project>[^/]+)/(?P<environment>[^/]+)/(?:odoo/)?(?P<odoo_instance>[^/]+)/(?:runtime/)?logs/.*
      source: filename
  - labels:
      environment: null
      odoo_instance: null
      project: null
  - multiline:
      firstline: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3}
      max_wait_time: 3s
  - regex:
      expression: '^(?P<timestamp>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3}) (?P<pid>\d+)
        (?P<level>\w+) (?P<db>\S+) (?P<module>[\w.]+): (?P<message>(?s:.*))$'
  - labels:
      db: null
      level: null
      module: null
  - timestamp:
      format: "2006-01-02 15:04:05,000"
      source: timestamp
  static_configs:
  - targets:
    - localhost
    labels:
      __path__: /opt/odoo/projects/*/*/*/*/logs/odoo.log
      host: v6b85-cloudwady-development
      job: odoo
- job_name: system
  pipeline_stages:
  - regex:
      expression: ^(?P<timestamp>\w+\s+\d+\s+\d+:\d+:\d+)\s+(?P<hostname>\S+)\s+(?P<program>[^\[]+)(\[(?P<pid>\d+)\])?:\s+(?P<message>.*)$
  - labels:
      program: null
  static_configs:
  - targets:
    - localhost
    labels:
      __path__: /var/log/syslog
      host: v6b85-cloudwady-development
      job: system
- job_name: auth
  pipeline_stages:
  - regex:
      expression: ^(?P<timestamp>\w+\s+\d+\s+\d+:\d+:\d+)\s+(?P<hostname>\S+)\s+(?P<program>[^\[]+)(\[(?P<pid>\d+)\])?:\s+(?P<message>.*)$
  - labels:
      program: null
  static_configs:
  - targets:
    - localhost
    labels:
      __path__: /var/log/auth.log
      host: v6b85-cloudwady-development
      job: auth
- job_name: nginx_access
  pipeline_stages:
  - regex:
      expression: .*/nginx/(?P<app>[^/]+)-access\.log
      source: filename
  - labels:
      app: null
  - regex:
      expression: ^(?P<remote_addr>[\d.]+)\s+-\s+(?P<remote_user>\S+)\s+\[(?P<timestamp>[^\]]+)\]\s+"(?P<method>\w+)\s+(?P<path>[^\s]+)\s+(?P<protocol>[^"]+)"\s+(?P<status>\d+)\s+(?P<body_bytes>\d+)\s+"(?P<referer>[^"]*)"\s+"(?P<user_agent>[^"]*)"
  - labels:
      method: null
      status: null
  - timestamp:
      format: 02/Jan/2006:15:04:05 -0700
      source: timestamp
  static_configs:
  - targets:
    - localhost
    labels:
      __path__: /opt/services/nginx/logs/nginx/*access*.log
      host: v6b85-cloudwady-development
      job: nginx
      type: access
- job_name: nginx_error
  pipeline_stages:
  - regex:
      expression: .*/nginx/(?P<app>[^/]+)-error\.log
      source: filename
  - labels:
      app: null
  - regex:
      expression: '^(?P<timestamp>\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2}) \[(?P<level>\w+)\]
        (?P<pid>\d+)#(?P<tid>\d+): (?P<message>.*)'
  - labels:
      level: null
  static_configs:
  - targets:
    - localhost
    labels:
      __path__: /opt/services/nginx/logs/nginx/*error*.log
      host: v6b85-cloudwady-development
      job: nginx
      type: error
- job_name: docker
  pipeline_stages:
  - docker: {}
  - regex:
      expression: (?i)(?P<level>error|warn|info|debug|fatal)
  - labels:
      level: null
  relabel_configs:
  - separator: ;
    target_label: host
    replacement: v6b85-cloudwady-development
    action: replace
  - source_labels: [__meta_docker_container_name]
    separator: ;
    regex: /(.*)
    target_label: container
    replacement: $1
    action: replace
  - source_labels: [__meta_docker_container_label_com_docker_compose_service]
    separator: ;
    target_label: compose_service
    replacement: $1
    action: replace
  - source_labels: [__meta_docker_container_label_com_docker_compose_project]
    separator: ;
    target_label: compose_project
    replacement: $1
    action: replace
  - source_labels: [compose_service]
    separator: ;
    regex: .*(postgres|psql|db|database).*
    target_label: job
    replacement: database
    action: replace
  - source_labels: [compose_service]
    separator: ;
    regex: .*(postgres|psql|db|database).*
    target_label: type
    replacement: postgres
    action: replace
  - source_labels: [compose_service]
    separator: ;
    regex: (filestash|pgadmin|coder|oauth)
    target_label: job
    replacement: installer
    action: replace
  - source_labels: [compose_service]
    separator: ;
    regex: (filestash)
    target_label: app
    replacement: filestash
    action: replace
  - source_labels: [compose_service]
    separator: ;
    regex: (pgadmin)
    target_label: app
    replacement: pgadmin
    action: replace
  - source_labels: [compose_service]
    separator: ;
    regex: (coder)
    target_label: app
    replacement: coder
    action: replace
  - source_labels: [compose_service]
    separator: ;
    regex: (grafana|prometheus|loki|promtail|alertmanager)
    target_label: job
    replacement: monitoring
    action: replace
  - source_labels: [compose_service]
    separator: ;
    regex: (grafana)
    target_label: app
    replacement: grafana
    action: replace
  - source_labels: [compose_service]
    separator: ;
    regex: (prometheus)
    target_label: app
    replacement: prometheus
    action: replace
  - source_labels: [compose_service]
    separator: ;
    regex: (loki)
    target_label: app
    replacement: loki
    action: replace
  - source_labels: [compose_service]
    separator: ;
    regex: (node_exporter|cadvisor|node-exporter)
    target_label: job
    replacement: exporter
    action: replace
  - source_labels: [compose_service]
    separator: ;
    regex: .*(odoo).*
    target_label: job
    replacement: odoo
    action: replace
  - source_labels: [compose_service]
    separator: ;
    regex: (nginx)
    target_label: job
    replacement: nginx
    action: replace
  - source_labels: [job, container]
    separator: ;
    regex: ;.*(postgres|psql|db).*
    target_label: job
    replacement: database
    action: replace
  - source_labels: [job, container]
    separator: ;
    regex: ;.*(filestash|pgadmin|coder|oauth).*
    target_label: job
    replacement: installer
    action: replace
  - source_labels: [job, container]
    separator: ;
    regex: ;.*(grafana|prometheus|loki|promtail).*
    target_label: job
    replacement: monitoring
    action: replace
  - source_labels: [job, container]
    separator: ;
    regex: ;.*(odoo).*
    target_label: job
    replacement: odoo
    action: replace
  - source_labels: [job, container]
    separator: ;
    regex: ;.*(nginx).*
    target_label: job
    replacement: nginx
    action: replace
  - source_labels: [job]
    separator: ;
    regex: ^$
    target_label: job
    replacement: docker
    action: replace
  docker_sd_configs:
  - follow_redirects: true
    enable_http2: true
    host: unix:///var/run/docker.sock
    port: 80
    filters: []
    host_networking_host: localhost
    refresh_interval: 30s
    match_first_network: true
  static_configs: []
target_config:
  sync_period: 10s
  stdin: false
limits_config:
  readline_rate: 10000
  readline_burst: 10000
  readline_rate_drop: true
  max_streams: 0
  max_line_size: 0B
  max_line_size_truncate: false
tracing:
  enabled: true
wal:
  enabled: false
  dir: ""
  cleanSegmentsOlderThan: 0s
  watchConfig:
    minReadFrequency: 0s
    maxReadFrequency: 0s