George
ты хочешь сделать костыль
George
вопрос в том, что "сделать правильно" возможно будет быстрее и дешевле , чем "сейчас сделать костыль, как-то его поддерживать, а потом все равно переделать по уму"
George
окей.
George
ладно. Предлагаю дальше в дискуссию не вдаваться, а решить конкретную задачу
John
ты хочешь сделать костыль
Ты плохо прочитал. Я не делаю, а пытаюсь разобраться что «тут» наделано уже
George
т.е. конкретная задача - каким-то образом опросить конфиг прометеуса или его АПИ и из него надергать айпи хостов?
George
реквизиты доступа у всех одинаковые?
George
WinRM будешь цепляться?
John
WinRM будешь цепляться?
На венде настроены разные варианты удаленного доступа, в том числе и ssh
George
на венде есть ссш? 😳😳😳
John
Джорж, я сам вахуе, но... да
John
И это все работает! Что меня удивляет ещё больше чем просто ssh
John
Это не ты снимался?
Sergey
😂
George
Это не ты снимался?
Пока самое простое. Написать скрипт, который парсит конфиг прометеуса / апи. И кладет результат в текстовый файл инвентори
George
Не вижу смысла городить полноценный динамический инвентори (= писать плагин)
John
Он уже написан. И уже все «нагорожено». Просто две метрики сломались. И надо понять «какого числа ятЪ»
George
Что значит "две метрики" сломалось?
John
Не приезжают, где то, говорят, в лимиты уперлись. Но это пока все «слухи», мне надо с этим разобраться :)
John
Вроде у пуш гейтвея есть какие то лимиты. И до промы не доезжает
UglyKoyote
Это не ты снимался?
ну пеппу как торговую марку продают за 1ярд баксов
UglyKoyote
так что бы выбрал другой объект для шуток)
George
Вроде у пуш гейтвея есть какие то лимиты. И до промы не доезжает
А зачем там вообще пуш гейтвей? А.. эти извращенцы решили конфиг прома не менять
George
Ппц. Не выглядит как бест пректис
George
Тогда или в настройки пуш гейтвей и крути выделенный ему объем памяти. Или что там у него. И смотри в логи внимательно. Стопудово, если у него лимит - он напишет
John
Не выглядит. Но как есть... Гейтвей там вроде как потому что не всегда хосты в сети, и это не критично
George
Не выглядит. Но как есть... Гейтвей там вроде как потому что не всегда хосты в сети, и это не критично
Вопрос для @metrics_ru То что ты говоришь - это вообще не о том. Нет хоста - можно правильно алерты в прометеусе сделать. Пушгейтвей озвученную задачу не решает
John
Тогда не знаю нахрена он там. Да и «где - там» я не знаю пока)
John
Много компов инет получают от ОпСоСов, цепляются по впн, что бы отдать гейтвею или проме
John
Много это больше 2к)
George
Просто пром - это про мониторинг сервисов в первую очередь, а не про мониторинг узлов и сетей
George
Натянуть можно... Но такое себе
John
Т.е. они не напрямую доступны с прома? Или доступны ?
Не знаю пока. Возможно да, потому что ходят слухи что заставим пром ходить на хосты за метриками
Vitaliy
Парни, как избавиться от предупреждения (не красиво): [WARNING]: could not parse environment value, skipping: [u'{{ proxy_env | default(omit) }}'] Может не omit использовать для default а пробел? Т.е. если не задан параметр окружения, передай ничего, а не ругайся что переменная не задана (мы это итак знаем).
Vitaliy
Да много где используется (для поддержки установки пакетов без доступа в инет, через прокси сервер). Пример: - block: - name: Add repository apt-key apt_key: url: "{{ item.key }}" state: present loop: "{{ apt_repository_keys }}" - name: Add repository apt_repository: repo: "{{ item.repo }}" state: present update_cache: yes loop: "{{ apt_repository }}" environment: "{{ proxy_env | default(omit) }}" when: ansible_os_family == "Debian" tags: add_repo
Vitaliy
Потом такая шняга: TASK [Gathering Facts] ************************************************************************************************************************************************************************ ok: [10.0.60.87] ok: [10.0.60.85] ok: [10.0.60.86] [WARNING]: could not parse environment value, skipping: [u'{{ proxy_env | default(omit) }}'] [WARNING]: could not parse environment value, skipping: [u'{{ proxy_env | default(omit) }}'] [WARNING]: could not parse environment value, skipping: [u'{{ proxy_env | default(omit) }}'] TASK [install | get epel-release-latest-7.noarch.rpm] ***************************************************************************************************************************************** ok: [10.0.60.86] ok: [10.0.60.87] ok: [10.0.60.85] [WARNING]: could not parse environment value, skipping: [u'{{ proxy_env | default(omit) }}'] [WARNING]: could not parse environment value, skipping: [u'{{ proxy_env | default(omit) }}'] [WARNING]: could not parse environment value, skipping: [u'{{ proxy_env | default(omit) }}'] ...
George
По идее должно помочь
George
Как будто оно ругается не на то, что переменная не определена, а глюки синтаксиса опции environment
Vitaliy
Вот я и думал так протестировать, но решил сначала спросить. Ранее рекомендовали использовать omit.
Vladislav 👻
Тоже окунулся в это
George
Это проблема только env
В смысле ансибла
Vladislav 👻
Так то лучше действительно omit
Vitaliy
вот оно что
George
Я думаю, что можно завести Ишью ) поправить не должно быть сложно
Vladislav 👻
В смысле ансибла
Не суть, была исушка на эту тему
George
Просто разрешить пустой ключ environment: (как будто)
Vladislav 👻
Там логика вроде, что env не может не существовать
Vladislav 👻
Поэтому должен быть пустой
Vitaliy
спасибо, сейчас поправлю и проверю результат.
Vladislav 👻
https://github.com/ansible/ansible/issues/14130
Vitaliy
спасибо, подписался на issue. Там еще рекомендуют None
Vladislav 👻
Ну там есть более правильная рекомендация, как сделать через omit
Vladislav 👻
А не, перепутал, нету
Vladislav 👻
В общем, у меня везде через пустую строку сделано
Vitaliy
Я обернул в одинарную ковычку environment: '{{ proxy_env | default("") }}'
Vladislav 👻
Я всегда оборачиваю в ковычки, обычно внешние двойные 😬
George
А если environment передать как второй элемент листа фейковую переменную ?
George
Это тоже сработает, но выглядит как 💩
Vitaliy
💩 не хочется )
Vladislav 👻
Timur
Одинарные кавычки лучше, чем двойные Вообще без кавычек лучше, чем одинарные
Timur
Не согласен
Аргументы?
Vladislav 👻
Были прецеденты, когда значения не могли распарсится yaml и нужны были ковычки
Vitaliy
без ковычек ansible-lint сказал - фу.
George
В исушке есть такой вариант, не работает
Должен работать. Дойду до рабочего места - скрафчу код