
terry
26.09.2018
14:51:57
мы за лайкаем

Andor
26.09.2018
14:52:29
но кажется в этом смысла нет

Google

Дмитрий
26.09.2018
14:53:11

terry
26.09.2018
14:53:58

Andor
26.09.2018
14:54:07
не надо уметь работать с системой, чтобы понимать в какую сторону стоит посмотреть, когда ошибка настолько явно написана
надо всего лишь уметь включать логику

terry
26.09.2018
14:54:18
есть логика и опыт, а есть юношеский максимализм, застрявший в одном месте

Andor
26.09.2018
14:54:51
вот если б нжинкс сказал "не знаю чо за переменная", а она у тебя в куске конфига опеределна, ты бы куда посмотрел?

Дмитрий
26.09.2018
14:54:56

Andor
26.09.2018
14:55:07
конечно же в то место, где этот кусок конфига должен подключаться
покажи соседние команды, покажи директиву include где они подключаются

Дмитрий
26.09.2018
14:57:44

Andor
26.09.2018
14:59:47
сунь свою команду в тот же файл где работающая
просто проверить

Google

Vladimir
26.09.2018
19:23:33
/subscribe lomik/prometheus-png all

Artem
26.09.2018
19:58:47
Сам на себя?)

Vladimir
26.09.2018
19:59:06

Terminator
26.09.2018
21:35:09
@bandikoot будет жить. Поприветствуем!

Andor
27.09.2018
10:50:19
короче есть у меня прометей в кубенях, у него в джобе вписано
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)и есть у меня поды у которых есть лейблы job, который становится лейблом job в прометее
как бы мне сделать чтобы лейблы job приехавшие из подов игнорировались?
сразу напомню что в прометее юзается гошные регэкспы re2 не умеющие в негатив матч


Ivan
27.09.2018
12:39:33
Всем привет!
У прометея (алертменеджера) есть конфиг default.tmpl который описывает формат сообщения.
В нём есть такие строки:
{{ range . }}
Labels:
{{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }}{{ end }}
{{ end }}
Которые шлют в алерте такой текст:
Labels
alertname = Consul
app = consul-exp
instance = 10.4.2.13:9107
job = kubernetes-service-endpoints
kubernetes_name = consul-exp
kubernetes_namespace = monitoring
node = kafka1-test
service_id = kafka
service_name = kafka
severity = slack
Подскажите пожалуйста, можно ли как-то вытащить отдельно какое то одно значение, например node?

Andor
27.09.2018
12:40:31
Можно, это гошные шаблоны, можешь вытащить чо хочешь

Ivan
27.09.2018
12:41:04
а как? я не понимаю ((
методом тыка не получается ((
мне кажется, что мне надо избавиться от range, но тогда вообще ничего не приходит

Andor
27.09.2018
12:43:19
Ты можешь просто залезть в мапу по ключу, без итерации через рейнж
Не вспомню щас как это сделать

Ivan
27.09.2018
12:44:28

Andor
27.09.2018
12:45:53
Ну блин, погугли
Go template map value

Andrey
27.09.2018
12:47:02

Andor
27.09.2018
12:47:21
Вроде просто .Labels.alertname
Или с долларом

Google

Andor
27.09.2018
12:47:46
Хер поймёшь эти гошные шаблоны

Andrey
27.09.2018
12:47:50
https://prometheus.io/docs/prometheus/latest/configuration/template_reference/
https://golang.org/pkg/text/template/
И всё сложится в жизни, @beatlejyse

Ivan
27.09.2018
12:50:12
а я нагуглил только это
https://prometheus.io/blog/2016/03/03/custom-alertmanager-templates/

Andrey
27.09.2018
12:51:36
Я на этой неделе такую жуть с Markdown в Alerting template Prometheus воротил, что всегда готов показать ворота в этот ад.

Ivan
27.09.2018
12:51:44
ща проверю ))

Wom
27.09.2018
13:35:55
подскажите куда копать, тестовый пром+алерт на одном хосте.
до алертменеджера алерты от прома доходят (по http)
а вот алертменеджер в слаку слать не хочет:
alertmanager[26815]: level=error ts=2018-09-27T13:34:29.359255247Z caller=dispatch.go:280 component=dispatcher msg="Notify for alerts failed" num_alerts=1 err="Post $slack_api_url: unsupported protocol scheme \"\""

Andor
27.09.2018
13:37:14
Он же пишет в чём ошибка
У тебя какая-то хрень вместо адреса куда слать запрос

Wom
27.09.2018
13:39:18
global:
resolve_timeout: 3m
slack_api_url: https://chat.my.site/hooks/xgssssssssss
receivers:
- name: slack
slack_configs:
- api_url: $slack_api_url

Andor
27.09.2018
13:39:54
Ну
Чо за хрень с долларом вместо адреса

Wom
27.09.2018
13:40:19
переменная ж

Andor
27.09.2018
13:40:41
Что за переменная в ямлях?

Admin
ERROR: S client not available

Andor
27.09.2018
13:40:46
Пхпшник что ли
С чего ты вообще взял что так будет работать?
Ну то есть реально интересно, что тебя натолкнуло на такую мысль

Wom
27.09.2018
13:42:20
sec
https://github.com/cloudalchemy/ansible-alertmanager/blob/master/defaults/main.yml#L53

Google

Andor
27.09.2018
13:43:23
Это же комментарий

Ivan
27.09.2018
13:44:48
{{ $labels.node }}
не прокатило ((
level=error ts=2018-09-27T13:43:32.003480708Z caller=main.go:325 msg="Loading configuration file failed" file=/etc/prometheus/alertmanager.yml err="template: default.tmpl:32: undefined variable \"$labels\""

Andrey
27.09.2018
13:45:10

Ivan
27.09.2018
13:45:28
нет, без рэнжа

Andrey
27.09.2018
13:46:33
Можно полностью template?

Ivan
27.09.2018
13:48:19
да
https://gist.github.com/beatlejuse/22976fc84ad6eae6eaadce8eb620d27a

Wom
27.09.2018
13:48:43

Andor
27.09.2018
13:49:22
Ну ваще да, по тому куску можно подумать что такие конструкции работают

Wom
27.09.2018
13:52:26
ну я и подумал :)

Andor
27.09.2018
13:54:59
Лучше родную доку читай :)

Ivan
27.09.2018
13:55:46
попробовал
{{ labels.node.Name }}
та же ошибка

Andor
27.09.2018
13:56:29
Попробуй то что я указал
.Labels.node

Ivan
27.09.2018
13:58:30
запустился. сейчас посмотрим, что придёт в алерте
не пришло письмо.
в логах:
template: default.tmpl:32:14: executing \"email.default.html\" at <.Labels.node.Value>: can't evaluate field Labels in type *template.Data"
и следом:
level=error ts=2018-09-27T14:05:43.471263839Z caller=notify.go:332 component=dispatcher msg="Error on notify" err="cancelling notify retry for \"email\" due to unrecoverable error: executing email html template: template: default.tmpl:32:14: executing \"email.default.html\" at <.Labels.node>: can't evaluate field Labels in type *template.Data"
получается он не умеет без рэнжа вытаскивать значения... хотя странно, должно бы работать.

Andrey
27.09.2018
14:08:10
Ты scope перетираешь, сейчас объясню.

Andor
27.09.2018
14:10:30

Andrey
27.09.2018
14:15:08