Add `Promtail` setting for `nomad`.

This commit is contained in:
Kazuhiro MUSASHI 2022-01-10 15:09:59 +09:00 committed by Gitea
parent 948a11e394
commit a7363ef7b1
2 changed files with 100 additions and 0 deletions

View File

@ -67,3 +67,15 @@ service 'nomad' do
action [:enable, :start] action [:enable, :start]
end end
# Deploy `promtail` config:
HOSTNAME = run_command('uname -n').stdout.chomp
template '/etc/promtail/nomad.yaml' do
owner 'root'
group 'root'
mode '644'
variables(HOSTNAME: HOSTNAME, LOKIENDPOINT: node['nomad']['lokiendpoint'])
notifies :restart, 'service[promtail-nomad]'
end

View File

@ -0,0 +1,88 @@
server:
disable: true
positions:
filename: /var/opt/promtail/promtail_nomad_position.yaml
clients:
- url: http://<%= @LOKIENDPOINT %>/loki/api/v1/push
scrape_configs:
- job_name: nomad
static_configs:
- targets:
- localhost
labels:
job: nomad
hostname: <%= @HOSTNAME %>
__path__: /var/log/nomad.log
pipeline_stages:
- match:
selector: '{job="nomad"} != "task="'
stages:
- regex:
expression: '^\w+ +[0-9]+ [0-9]+:[0-9]+:[0-9]+ [^ ]+ nomad[^:]+: +(?P<timestamp>\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+\+\d{4}) \[(?P<level>[^\]]+)\] +(?P<message>.*)$'
- timestamp:
source: timestamp
format: 2006-01-02T15:04:05.000-0700
location: Asia/Tokyo
- template:
source: level
template: '{{ ToLower .level }}'
- labels:
level:
- output:
source: message
- match:
selector: '{job="nomad"} |~ "task=.*timestamp="'
stages:
- regex:
expression: '^\w+ +[0-9]+ [0-9]+:[0-9]+:[0-9]+ [^ ]+ nomad[^:]+: +\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+\+\d{4} \[(?P<level>[^\]]+)\] +(?P<message>.*) task=(?P<task>[^ ]+) .* timestamp=(?P<timestamp>\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+\+\d{4})$'
- timestamp:
source: timestamp
format: 2006-01-02T15:04:05.000-0700
location: Asia/Tokyo
- template:
source: level
template: '{{ ToLower .level }}'
- labels:
level:
task:
- output:
source: message
- match:
selector: '{job="nomad"} |~ "task=.*reason="'
stages:
- regex:
expression: '^\w+ +[0-9]+ [0-9]+:[0-9]+:[0-9]+ [^ ]+ nomad[^:]+: +(?P<timestamp>\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}\+\d{4}) \[(?P<level>[^\]]+)\] +(?P<message>.*) task=(?P<task>.*) reason="(?P<reason>.*)"$'
- timestamp:
source: timestamp
format: 2006-01-02T15:04:05.000-0700
location: Asia/Tokyo
- template:
source: msg
template: 'Message={{ .message }} Reason={{ .reason }}'
- template:
source: level
template: '{{ ToLower .level }}'
- labels:
level:
task:
- output:
source: msg