TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #620 · 30.10

История из жизни. В начальной школе у нас проводили конкурс моделей из Лего, участвовать мог каждый, у кого был этот конструктор. Требовалось заявить одну любую модель. Я тогда был под впечатлением от просмотра Фантомаса — той серии, где Фантомас улетает на автомобиле с крыльями, поэтому потратил много дней, чтобы собрать такой автомобиль. С виду совершенно обычный, но внутри был спрятан хитрый механизм на рычагах. Нужно было нажать на определённое место на крыше, чтобы из боков выдвинулись крылья. Я очень гордился этой поделкой и с радостью принёс её на конкурс, будучи уверенным, что выиграю. — Нет, — сказали мне на месте, — с готовыми моделями нельзя. Вы должны были принести конструктор и собирать модель для конкурса на месте. Так что собирай что-то другое. Это была катастрофа. У меня не было с собой всего конструктора, только те детали, которые использовались в автомобиле Фантомаса. Совсем небольшая часть весьма специфических деталей, из которых не особенно то соберёшь что-то принципиально другое. Я запаниковал. Я видел, что некоторые участники принесли с собой инструкции и собирают коробочные наборы — это было запрещено, но следили слабо, а пожилая учительница начальных классов, скорее всего, не особо понимала, что это у них за книжечки цветные такие. Ну собирают же дети что-то. Я начал по памяти воспроизводить свой коробочный набор LEGO 6550, многие детали которого были в машине Фантомаса, но быстро понял, что, во-первых, деталей всё-таки не особо хватает, а, во-вторых, не хотелось быть нарушителем и представлять не свою модель. К этому моменту я перестал нервничать и успокоился. Подумав, на что похож корпус вот этой машинки, я остановился на такой идее: пусть это будет голова динозавра. Добавил тело, хвост, лапы, челюсти. Получилось что-то вроде тирекса-робота, похожего на трансформеров-динозавров из мультика. Никаких интересных механизмов не было, вроде чуть-чуть двигались лапы, кажется даже челюсть не закрывалась. Мы расставили наши модельки на общем столе. Пригласили комиссию из учителей и... сразу отвели их к столу оценивать. Не дали презентовать модель или как-то показать её в действии, не дали ничего о ней рассказать, мы вообще стояли в стороне и не видели, что там учителя делают. Практически все модельки были автомобилями. Если бы мне разрешили оставить автомобиль Фантомаса, то для жюри это был бы просто обычный автомобиль, они никак не узнали бы, что там внутри механизм с крыльями. Зато динозавр был единственным и привлекал своим внешним видом. Выиграли в итоге двое: я и ещё один парень с космическим кораблём (тоже единственным). В награду получили по книжке-раскраске с автомобилями :) Мораль, думаю, вывести совсем не сложно: 1. Иногда проблемы это действительно новые возможности. 2. Нежелание мухлевать и сокращать путь сделает твои результаты более интересными, чем у других. 3. Всегда носи с собой все детали своего Lego :) #life

Hashtags

Резултати

Намерени 1 подобни публикации

Търсене: #zabbix

当前筛选 #zabbix清除筛选
DOFH - DevOps from hell

@dofh_ru · Post #3753 · 12.06.2025 г., 07:41

Насколько мне известно, у Zabbix до сих пор нет стандартного шаблона для мониторинга за временем оплаты домена. Про крайней мере мне такой неизвестен. Если он уже есть и я его упустил, прошу подсказать. В разное время я реализовывал различные способы решения этой задачи. Все они один за одним собирались в статью на сайте: ⇨ Мониторинг времени делегирования домена в zabbix Все способы, описанные там, актуальны и работают. Основное их неудобство - реализация через скрипты, от чего уже давно хочется уйти, потому что неудобно ходить в консоль и править там список доменов. Можно собрать простенький пайплайн для этого, но это тоже перебор для такой простой задачи. Я её однажды реализовал полностью в шаблоне без скриптов с помощью внешнего сервиса Whois API и его бесплатного тарифа. В принципе, вариант рабочий, но не всегда удобно регистрироваться во внешнем сервисе, получать от него токен и в целом зависеть от его доступности. Прикинул, как можно сделать так же удобно, реализовав всю логику только в шаблоне Zabbix, в том числе в нём же в макросах вести список доменов, но при этом без внешнего сервиса. Решил для этого воспользоваться готовым экспортером для Prometheus. Он удобен тем, что отдаёт метрики по HTTP, а значит их можно забирать заббиксом напрямую через его HTTP Агент. Рассказываю по шагам, как всё настроил. 1️⃣ Поднимаю на любой своей машине в докере domain_exporter. Можно тут же на сервере Zabbix. 2️⃣ В шаблоне Zabbix создаю правило обнаружения с любым типом. Для примера взял тип Внутренний Zabbix и ключ zabbix[boottime]. Значения этого ключа нам не нужны, так как мы их сразу же будем преобразовывать. 3️⃣ В правиле обнаружения настроил предобработку типа JavaScript с таким кодом: var domains = '{$DOMAINS}'.split(/\s+/); var data = []; for (var i = 0; i < domains.length; i++) { data.push({ "{#DOMAIN}": domains[i] }); } return JSON.stringify({ data: data }); Берём список доменов из макроса {$DOMAINS} и преобразуем их в строку: { "data": [ { "{#DOMAIN}": "serveradmin.ru" }, { "{#DOMAIN}": "example.com" } ] } Это формат, который принимают прототипы айтемов и триггеров. 4️⃣ Создал в шаблоне макросы: ◽️{$DOMAINS} = serveradmin.ruexample.com # разделитель доменов - пробел; ◽️{$PROM_URL} = http://10.30.52.9:9222/probe # адрес экспортера; ◽️{$WARN_DAYS} = 30 # порог в днях для триггера со статусом предупреждение; ◽️{$CRIT_DAYS} = 5 # порог в днях для триггера со статусом критический. 5️⃣ Создал прототип айтема с типом HTTP Agent. В качестве урла указал {$PROM_URL}, а для передачи имени домена использовал поля запроса: target ⇨ {#DOMAIN} То есть итоговый урл для получения данных будет такой: http://10.30.52.9:9222/probe?target={#DOMAIN}. А если развернуть lld-макрос, то такой: http://10.30.52.9:9222/probe?target=serveradmin.ru. 6️⃣ В прототипе айтема сделал предобработку: Шаблон Prometheus ⇨ domain_expiry_days Так как у нас данные поступают в формате Prometheus, с помощью этой предобработки мы сразу получаем данные о времени оплаты в формате целого числа. 7️⃣ В это же правило автообнаружения добавил 2 триггера. На выходе мы имеем шаблон для мониторинга за оплатой доменов, где все настройки можно выполнять в веб интерфейсе Zabbix Server через макросы. Не нужны никакие скрипты на хостах. Единственное, что нужно сделать на сервере - запустить экспортер от Prometheus и убедиться, что с Zabbix Server есть к нему доступ. Решение придумал и реализовал полностью сам. Не исследовал, что уже есть готового на эту тему. Мне видится такая реализация вполне удобной и функциональной. Если кто-то знает решение удобнее без скриптов, поделитесь информацией. Шаблон публикую отдельно следующей публикацией. Проверял на версии Zabbix 7.0. Необходимо его импортировать на сервер и заполнить макросы либо в самом шаблоне, либо переопределить их после прикрепления к любому хосту. ❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки. #zabbix