1d6a3dcc5e
Promtail was configured to create labels for nearly every key in the
logs. This was done to support easier label-based querying. Loki
however is not optimized to work with labels having a high cardinality.
This led to failures in Loki, if it had to handle a high number of
logs. In addition, the high number of labels led to a huge number of
chunks being created, mostly just containing a single log entry,
making querying and storage very inefficient.
This change removes all custom made labels, except for the
gerrit_version label. Logs should rather be queried using the grep-
like syntax of LogQL for which Loki is optimized.
Change-Id: I70e2a3ff4f640bc6f5d08d50212958a7bca2eae1
87 lines
2.2 KiB
YAML
87 lines
2.2 KiB
YAML
#@ load("@ytt:data", "data")
|
|
|
|
server:
|
|
http_listen_port: 9080
|
|
grpc_listen_port: 0
|
|
|
|
positions:
|
|
filename: #@ "{}/positions.yaml".format(data.values.promtail.storagePath)
|
|
|
|
clients:
|
|
- url: #@ "https://{}/loki/api/v1/push".format(data.values.loki.host)
|
|
tls_config:
|
|
insecure_skip_verify: #@ data.values.tls.skipVerify
|
|
#@ if not data.values.tls.skipVerify:
|
|
ca_file: #@ "{}/promtail.ca.crt".format(data.values.promtail.storagePath)
|
|
#@ end
|
|
basic_auth:
|
|
username: #@ data.values.loki.username
|
|
password: #@ data.values.loki.password
|
|
scrape_configs:
|
|
- job_name: gerrit_error
|
|
static_configs:
|
|
- targets:
|
|
- localhost
|
|
labels:
|
|
job: gerrit_error
|
|
__path__: #@ "{}/error_log.json".format(data.values.promtail.logPath)
|
|
entry_parser: raw
|
|
pipeline_stages:
|
|
- json:
|
|
expressions:
|
|
timestamp: '"@timestamp"'
|
|
message:
|
|
- template:
|
|
source: timestamp
|
|
template: '{{ Replace .Value "," "." 1 }}'
|
|
- template:
|
|
source: timestamp
|
|
template: '{{ Replace .Value "Z" " +0000" 1 }}'
|
|
- template:
|
|
source: timestamp
|
|
template: '{{ Replace .Value "T" " " 1 }}'
|
|
- timestamp:
|
|
source: timestamp
|
|
format: "2006-01-02 15:04:05.999 -0700"
|
|
- regex:
|
|
source: message
|
|
expression: "Gerrit Code Review (?P<gerrit_version>.*) ready"
|
|
- labels:
|
|
gerrit_version:
|
|
- job_name: gerrit_httpd
|
|
static_configs:
|
|
- targets:
|
|
- localhost
|
|
labels:
|
|
job: gerrit_httpd
|
|
__path__: #@ "{}/httpd_log.json".format(data.values.promtail.logPath)
|
|
entry_parser: raw
|
|
pipeline_stages:
|
|
- json:
|
|
expressions:
|
|
timestamp:
|
|
- template:
|
|
source: timestamp
|
|
template: '{{ Replace .Value "," "." 1 }}'
|
|
- timestamp:
|
|
source: timestamp
|
|
format: '02/Jan/2006:15:04:05.999 -0700'
|
|
- job_name: gerrit_sshd
|
|
static_configs:
|
|
- targets:
|
|
- localhost
|
|
labels:
|
|
job: gerrit_sshd
|
|
__path__: #@ "{}/sshd_log.json".format(data.values.promtail.logPath)
|
|
entry_parser: raw
|
|
pipeline_stages:
|
|
- json:
|
|
expressions:
|
|
timestamp:
|
|
- template:
|
|
source: timestamp
|
|
template: '{{ Replace .Value "," "." 1 }}'
|
|
- timestamp:
|
|
source: timestamp
|
|
format: 2006-01-02 15:04:05.999 -0700
|