- Машина с установленным Centos 8
- Ansible 2.16.x
- Host-файл
Тестовое задание на должность Junior SRE
.
├── All-in-one-playbook.yml
├── configs
│ ├── dashboards
│ │ ├── Node Exporter Full.json
│ │ └── testdb.yaml
│ ├── datasources
│ │ └── testds.yaml
│ ├── node_exporter.service
│ ├── prometheus.service
│ ├── prometheus.yml
│ └── web.yml
├── grafana-enterprise-10.3.3-1.x86_64.rpm
├── scripts
│ ├── add_annotation.sh
│ ├── install_node_exporter.sh
│ └── install_prometheus.sh
└── README.md
All-in-one-playbook.yml
— главный экспонат репозитория. Плейбук, в котором описываются действия связанные с установкой Grafana, Prometheus и node_exporter.
В директории configs
находятся конфигурационные и .service файлы, дэшборда 1860 и провижн для графаны.
web.yml
описывается basicAuth для Prometheus (admin:password)
prometheus.yml
описывает экспортеры к которым подключен Prometheus и вообще весь конфиг
В scripts
находятся скрипты для установки и скрип для добавления аннотации на борду на панельку CPU Basic.
Проблема | Решение |
---|---|
Grafana из репозитория Centos 8 являлась устаревшей 9.0.x версией, из-за этого возникали проблемы с соединением к Prometheus версии 2.50 | 1) Скачать альтернативными способами на машину с которой будет выполняться плейбук акутальную версию Grafana.(Мой способ. По совместиельству не самый быстрый) 2) Скачать в скриптах поддерживаемую версию Prometheus <= 2.40 на целевую машину (Не мой способ, но cамый логичный |
У меня никоим образом не хотела резолвиться коллекция prometheus.prometheus. Я виню в этом мою ос, но к какому-то железному выводу о причинах я прийти не смог | Прямого решения не нашёл. В качестве обходного пути решил писать bash-скрипты |
- Привести папку configs в порядок, чтобы скопировать все файлы за 1 таску
- Ввести переменные
- Начать обращать внимание на линтер ансибла
- Жалобы на пермишен игнорирую
- Latest в yum'е тоже
- Использовать Ansible Best Practices