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: http://monitoring.crinastudio-service.com/loki/api/v1/push
  batchwait: 1s
  batchsize: 1048576
  tls_config:
    insecure_skip_verify: true
  follow_redirects: true
  enable_http2: true
  backoff_config:
    min_period: 100ms
    max_period: 10s
    max_retries: 10
  timeout: 10s
  tenant_id: kobbo
  drop_rate_limited_batches: false
positions:
  sync_period: 10s
  filename: /tmp/positions.yaml
  ignore_invalid_yaml: false
scrape_configs:
- job_name: docker
  pipeline_stages:
  - json:
      expressions:
        level: level
        logger: logger
        message: message
        thread: thread
        timestamp: timestamp
      on_error: keep
  - regex:
      expression: (?P<timestamp>\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}) \[(?P<thread>.*?)\]
        (?P<level>\w+) (?P<logger>[\w.]+) - (?P<message>.*)
      on_error: keep
  - labels:
      environment: production
      hostname: app.kobbo.io
      server: kobbo
      service: kobbo-app
  relabel_configs:
  - source_labels: [__meta_docker_container_name]
    separator: ;
    target_label: container
    replacement: $1
    action: replace
  - source_labels: [__meta_docker_container_label_com_docker_compose_service]
    separator: ;
    target_label: service
    replacement: $1
    action: replace
  - source_labels: [__meta_docker_container_image_name]
    separator: ;
    target_label: image
    replacement: $1
    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: 5s
    match_first_network: true
  static_configs: []
- job_name: application
  pipeline_stages:
  - json:
      expressions:
        level: level
        logger: logger_name
        message: message
        thread: thread_name
        timestamp: timestamp
      on_error: keep
  - regex:
      expression: (?P<timestamp>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) \[(?P<thread>.*?)\]
        (?P<level>\w+) (?P<logger>[\w.]+) - (?P<message>.*)
      on_error: keep
  - match:
      selector: '{service="kobbo-app"}'
      stages:
      - regex:
          expression: (?P<level>ERROR|WARN|INFO|DEBUG|TRACE)
      - labels:
          level: level
  - labels:
      component: backend
      environment: production
      server: kobbo
      service: kobbo-app
  static_configs:
  - targets:
    - /home/ubuntu/projects/kobbo/logs-prod/backend.log
    labels:
      component: backend
      job: application
      service: kobbo-app
- job_name: system
  pipeline_stages:
  - regex:
      expression: '(?P<timestamp>\w+ \d+ \d+:\d+:\d+) (?P<hostname>[\w.-]+) (?P<program>[\w.-]+)(?:\[(?P<pid>\d+)\])?(?::
        (?P<message>.*)?)?'
      on_error: keep
  - labels:
      component: os
      environment: production
      server: kobbo
      service: system
  static_configs:
  - targets:
    - /var/log/syslog
    labels:
      component: os
      job: syslog
      service: system
- job_name: docker-daemon
  pipeline_stages:
  - json:
      expressions:
        level: level
        msg: msg
        time: time
      on_error: keep
  - labels:
      environment: production
      server: kobbo
      service: docker
  static_configs:
  - targets:
    - /var/log/docker.log
    labels:
      component: container-engine
      job: docker
      service: docker
- job_name: nginx
  pipeline_stages:
  - regex:
      expression: (?P<remote_addr>[\w.]+) (?P<remote_user>[\w.-]+|"-") \[(?P<timestamp>[\w/\d:+\s-]+)\]
        "(?P<method>\w+) (?P<uri>[\w/?.=&-]+) (?P<protocol>[\w/\.]+)" (?P<status>\d+)
        (?P<body_bytes_sent>\d+|-)
      on_error: keep
  - labels:
      component: reverse-proxy
      environment: production
      server: kobbo
      service: nginx
  static_configs:
  - targets:
    - /var/log/nginx/access.log
    - /var/log/nginx/error.log
    labels:
      component: reverse-proxy
      job: nginx
      service: nginx
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