Гуглил нужные рефы для GitLab CI забытые (потому что пока используются у нас раз в пять лет). Рефы нашел сразу же, но выдача Гугла была прекрасна:
Как известно Prometheus хранит метрики в временных рядах. Состоят они из имени метрики, лейблов со значением и собственно значением самой метрики. И при этом каждое сочетание лейблов и их значений порождает из метрики новый временной ряд. И вот здесь зарыта интересная собака. Предисловие:
Изучая вчерашний кейс с передачей переменных в Ansible, имею сказать, что вероятно проблема в том, что любая передаваемая через командную строку переменная передается как строка. Используем волшебные много "-vvvvvvvvv" при запуске (то есть дебаг-мод) и видим:
В рамках задачи писал с нуля роль для Ansible, чтобы пользователями в БД управлять. Среди прочего - надо ей принять список из командной строки по запуску, а потом сравнить его с структурой данных из yml-файла и сделать действия. И вот на этот моменте нашлось забавное (нет) поведение Ansible, которые пришлось подпирать костылями.
У GitLab для выполнения его CI используются внешние сервисы - раннеры (runners). Про них можно написать много (и написано очень много), но у них есть среди их свойств одно, про которое и пойдет речь.
Решая задачу по выставлению TTL пользователей в MongoDB столкнулся с парой моментов ее специфики.
У связки Grafana+Loki есть занятный глюк. Если вам надо получить значение какой-то метки в переменную в Grafana, то вы можете выбрать как источник данных свой Loki и использовать весьма простое выражение:
Есть у Windows-версии клиента Git одно плохое-плохое свойство - страсть как любит при стягивании репозитория автоматом ставить там перевод строки CR/LF, Windows же, чо.
Бывает такая веселая задача, как посчитать SLA какого-нибудь сервиса. Это весьма легко для метрик, которые возвращают бинарное значение, 0 или 1, скажем какой-нибудь условный site_probe. Берем, суммируем за период, делим на количество записей и получаем наш SLA. Выглядеть это будет так: