alerts.yml.j2 алерт прометеуса:
                  
                  
                  # Свободное место на файловой системе. Если места менее 5%, то срабатывает алерт
                  
                  
                    # Обязательно добавить в конфиг node_exporter, чтобы игнорировать эти точки монтирования
                  
                  
                    # "--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|run)($|/)".
                  
                  
                    # Это же правило с использованием "node_filesystem_free_bytes" будет срабатывать при заполнении диска для non-root пользователей
                  
                  
                    - alert: Менее_5_процентов_места_на_диске
                  
                  
                      expr: '(node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes < 5 and ON (instance, device, mountpoint) node_filesystem_readonly == 0'
                  
                  
                      for: 2m
                  
                  
                      labels:
                  
                  
                        severity: critical
                  
                  
                      annotations:
                  
                  
                        summary: '{% raw %}Хосту не хватает места на диске (хост {{ $labels.instance }}){% endraw %}'
                  
                  
                        description: '{% raw %}Диск почти заполнен (< 5% свободно)\n  ЗНАЧЕНИЕ: {{ $value }}\n  МЕТКИ: {{ $labels }}{% endraw %}'
                  
                  
                  
                  
                  
                  После деплоя ансиблом получаю в файле alerts.yml:
                  
                  
                    - alert: Менее_5_процентов_места_на_диске
                  
                  
                      expr: (node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes < 5 and ON
                  
                  
                        (instance, device, mountpoint) node_filesystem_readonly == 0
                  
                  
                      for: 2m
                  
                  
                      labels:
                  
                  
                        severity: critical
                  
                  
                      annotations:
                  
                  
                        summary: Хосту не хватает места на диске (хост {{ $labels.instance }})
                  
                  
                        description: 'Диск почти заполнен (< 5% свободно)\n  ЗНАЧЕНИЕ: {{ $value }}\n  МЕТКИ:
                  
                  
                          {{ $labels }}'
                  
                  
                  
                  
                  
                  А должно быть так:
                  
                  
                    - alert: Менее_5_процентов_места_на_диске
                  
                  
                      expr: (node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes < 5 and ON
                  
                  
                        (instance, device, mountpoint) node_filesystem_readonly == 0
                  
                  
                      for: 2m
                  
                  
                      labels:
                  
                  
                        severity: critical
                  
                  
                      annotations:
                  
                  
                        summary: Хосту не хватает места на диске (хост {{ $labels.instance }})
                  
                  
                        description: 'Диск почти заполнен (< 5% свободно)\n  ЗНАЧЕНИЕ: {{ $value }}\n  МЕТКИ: {{ $labels }}'
                  
                  
                
Мммм, мониторинг на ансибле, изыскано
Выглядит как дичь
Есть, что предложить лучше?
Зачем шаблонизировать yaml?
Я смотрю примеры здесь https://github.com/cloudalchemy/ansible-prometheus/blob/master/defaults/main.yml Там тоже дичь?
Честно говоря, навскидку похоже. Но, в принципе, вариант имеет право на существование при тщательном рассмотрении
Обсуждают сегодня