monitoring/templates/agent/vector-template.yml

37 lines
1.1 KiB
YAML

sources:
{{- range $value := . }}
source_{{ $value.Key }}:
type: file
include: ["{{ $value.LogDir }}"]
line_delimiter: "\n"
read_from: beginning
# Handle multi-line Java stacktraces
multiline:
start_pattern: "^[^\\s]"
mode: continue_through
condition_pattern: "(^([\\s]+at\\s|Caused by:\\s)|common frames omitted$)"
timeout_ms: 1000
{{- end }}
transforms:
{{- range $value := . }}
transform_{{ $value.Key }}:
type: remap
inputs: ["source_{{ $value.Key }}"]
source: |
# Store Nomad metadata.
.nomad.namespace = "{{ $value.Namespace }}"
.nomad.node_name = "{{ $value.Node }}"
.nomad.job_name = "{{ $value.Job }}"
.nomad.group_name = "{{ $value.Group }}"
.nomad.task_name = "{{ $value.Task }}"
.nomad.alloc_id = "{{ $value.ID }}"
.nomad.alloc_name = "{{ $value.Name }}"
# Set alloc = <TaskName>-<Alloc Index> so it's similar to what prometheus has
.nomad.alloc = join!(["{{ $value.Task }}", replace("{{ $value.Name }}", r'.+\[(?P<index>\d+)\]', "$$index")], separator: "-")
{{- end }}