Спасибо за статью, довольно насыщенный текст. Лично мой опыт использования трапов в мониторинге показал, что иной раз всё таки эффективнее распарсить логи соседнего оборудования. В частности, потому что syslog вроде как у всех одинаковый: либо RFC3164, либо RFC5424, в то время как SNMP допускает издеваться над форматами сообщений как душе угодно.
Не могли бы вы уточнить различия между вашим приёмником трапов и модуля snmptrap в составе net-snmp? Помимо того, что у вас конфигурационный файл выглядит более человекочитаемым. Те же Zabbix предлагают связку net-snmp + snmptt. И то snmptt только потому что там переформатирование сообщения выполнять комфортнее чем средствами net-snmp.
Для очень многих приемников трапов это может быть проблемой, особенно в случае с одинаковыми именами.
Не могли бы вы привести пример таких приёмников?
Зачастую нужно обязательно указывать engine id
Не зачастую, а всегда - https://www.ietf.org/rfc/rfc2571.txt раздел 3.1.1.1. Протокол рассчитывает на это, чтобы идентифицировать хост-отправитель трап\информ-сообщения.
В качестве подопытного коммутатора выступит Cisco Catalyst IE-3000-8TC.
Это вы, бесспорно, хорошо придумали. У Cisco подробные хорошо стандартизированные MIB. Было бы здорово посмотреть решение вашей задаче на стенде с менее именитым железом. Которое из трапов если поддерживает хоть что-то, то не более чем вот этот раздел -http://oidref.com/1.3.6.1.6.3.1.1.5
Помимо этого вижу, вы завели отдельный элемент данных для приёма сообщений с тестируемого интерфейса. В реальной среде не замучаетесь эту работу выполнять для каждого нового сетевого устройства в системе мониторинга? Discovery в Zabbix, конечно, могуч, но тем не менее.
Прочитал статью, посмотрел ссылки. Задался вопросом: "Ну, хорошо, давайте попробуем купить." Выбрал Бештау, так как омерзительный для меня Максим Горшенин долго их мусолил в инфопространстве. Допустим, ноутбуки.
В итоге: сами Бештау ничего не продают, ссылаются на ретейлеров. Посмотрел первых трёх: OCS - нет ноутбуков Бештау, Treolan - ссылка ведёт обратно на сайт Бештау и возвращает HTTP404, ResourceMedia - нет ноутбуков Бештау.
Можно ли утверждать, что, согласно вашей статье, Rust - это заплатка со стороны разработки, призванная решить проблему плохой аналитики и архитектуры проекта?
Я предполагаю, этот абзац больше про рекламу плагина zVirt, иной причины вот так изгаляться представить не могу.
Zabbix в версии 6 были неудобства пользования http-запросов. Например, если вам сначала надо запросить токен у опрашиваемой системы, а потом уже с ним ходить по API. Т.е. снабжать запрос заголовком Authorization: Basic login:pass здесь не вариант совсем. В один запрос средствами UI Zabbix сделать этого не получится. Проверка делает 1 запрос и дальше пляшет от ответа. Следовательно, если к моменту выполнения запроса элемента данных у вас нет токена, вы в лучшем случае получите 401 от проверяемого объекта, а если вы этот токен и запрашиваете, то не очень понятно, как его передать в другие элементы данных. Плюс встаёт вопрос как за собой "закрыть" открытую токеном сессию, если проверки вы осуществляете достаточно редко. Самописными скриптами решить эту задачу - да, без проблем.
В Zabbix мониторинг zVirt строится через Zabbix Agent 2 с плагином zVirt. Агент ходит по REST API движка, собирает метрики и шлёт их на сервер, где лежит база (MySQL или PostgreSQL). Всё по классике: поставил агент — получил данные.
Из статьи не очень понятно где располагается API zVirt и зачем вы туда ходите именно агентом?
Можно прикрутить TimeScaleDB и ужать хранение примерно в 10 раз, но придётся руками создавать гипертаблицы и включать компрессию — не для слабонервных.
Про установку TimeScaleDB в PostgreSQL вы немного слукавили, там далеко не всё так страшно, но с первого раза может не получиться.
Дополнительно спрошу, вы занимались тюнингом шаблонов, по которым опрашивали узлы?
Мне известно одно сообщество в vk.com (https://vk.com/scanbook2023), автор которого методично и, как мне кажется, довольно качественно, оцифровывает книги. Результаты можно в постах сообщества посмотреть. Он вроде бы даже принимает заказы.
Если вы не против рискнуть своим экземпляром (отправка туда и обратно), то я бы даже по чеку вам расходы компенсировал.
Геораспределённый кластер на PostgreSQL прекрасно строится с помощью Patroni со схемой master–replica.
Для удалённых филиалов можно использовать реплику в режиме read-only для аутентификации и авторизации, а master — для операций записи.
Но ведь при master-replica точка записи у вас только одна, а в остальных "местах" только чтение, и я не очень понимаю, как это решает проблему геораспределённости ваших пользователей. Изменения всё равно нужно сначала доставить на мастер, а потом докатить до ближайшей реплики. Те. какое-либо обновление будет довольно продолжительным. Вы исходите из предположения, что активная запись в БД происходит значительно реже чем массовое чтение?
Вообще, конечно, назвать решение multimaster, но использовать master-replica БД мне кажется хитрым маркетинговым ходом.
Дополню, в оригинальной версии если вариант ходов "по очереди", то стабильность сетевой игры сохраняется на более долгое время. Разница в 100-150 ходов на "нормальной" скорости в сравнении с одновременной игрой и гибридом.
По личному опыту конкретный вариант Whisper - https://huggingface.co/spaces/sanchit-gandhi/whisper-jax - прекрасно справлялся с транскрипцией интервью и совещаний от 5 до 60 минут с разным уровнем качества речи (в пустой студии, на улице, в шумной переговоке). Преобразовывал довольно шустро, а главное - бесплатно. Сейчас не работает, т.к. какие-то проблемы с доступом к серверам Amazon.
Предположу, что многое ПО (в т.ч. игры) для windows со временем начнёт в приказном порядке требовать платформу windows 11 и выше, чтобы установиться\запуститься и корректно отработать.
Интересная точка зрения. Добавил в закладки, чтобы ещё раз подумать: так ли мне нужен getopt моих инструментах или всё же можно обойтись getopt и короткими аргументами.
В одной оконной раме, среднестатистически, было одно стекло. Редко в Норильске видел 2 - в каких-нибудь нетиповых вариантах. Рам в оконный проём устанавливается две. Рамы деревянные, требуют регулярной реставрации либо замены, так как древесине грустно живётся в местном климате: краски и лаки обдираются снегом в пургу, а затем перепады влажности и температуры крутят дерево как заблагорассудится.
На сегодняшний день почти во всех домах заменено на пластиковые стеклопакеты с 2-3 стёклами.
М-м, да, действительно, ваша правда.
Да, конечно. Более близкие к действительности эксперименты даже интереснее читать!
Спасибо за статью, довольно насыщенный текст.
Лично мой опыт использования трапов в мониторинге показал, что иной раз всё таки эффективнее распарсить логи соседнего оборудования. В частности, потому что syslog вроде как у всех одинаковый: либо RFC3164, либо RFC5424, в то время как SNMP допускает издеваться над форматами сообщений как душе угодно.
Не могли бы вы уточнить различия между вашим приёмником трапов и модуля snmptrap в составе net-snmp? Помимо того, что у вас конфигурационный файл выглядит более человекочитаемым.
Те же Zabbix предлагают связку net-snmp + snmptt. И то snmptt только потому что там переформатирование сообщения выполнять комфортнее чем средствами net-snmp.
Не могли бы вы привести пример таких приёмников?
Не зачастую, а всегда - https://www.ietf.org/rfc/rfc2571.txt раздел 3.1.1.1. Протокол рассчитывает на это, чтобы идентифицировать хост-отправитель трап\информ-сообщения.
Это вы, бесспорно, хорошо придумали. У Cisco подробные хорошо стандартизированные MIB. Было бы здорово посмотреть решение вашей задаче на стенде с менее именитым железом. Которое из трапов если поддерживает хоть что-то, то не более чем вот этот раздел -http://oidref.com/1.3.6.1.6.3.1.1.5
Помимо этого вижу, вы завели отдельный элемент данных для приёма сообщений с тестируемого интерфейса. В реальной среде не замучаетесь эту работу выполнять для каждого нового сетевого устройства в системе мониторинга? Discovery в Zabbix, конечно, могуч, но тем не менее.
Прочитал статью, посмотрел ссылки. Задался вопросом: "Ну, хорошо, давайте попробуем купить."
Выбрал Бештау, так как омерзительный для меня Максим Горшенин долго их мусолил в инфопространстве. Допустим, ноутбуки.
В итоге: сами Бештау ничего не продают, ссылаются на ретейлеров. Посмотрел первых трёх: OCS - нет ноутбуков Бештау, Treolan - ссылка ведёт обратно на сайт Бештау и возвращает HTTP404, ResourceMedia - нет ноутбуков Бештау.
Ну, кажется, я всё понял.
Можно ли утверждать, что, согласно вашей статье, Rust - это заплатка со стороны разработки, призванная решить проблему плохой аналитики и архитектуры проекта?
https://www.rfc-editor.org/rfc/rfc6762#appendix-G - наверное, вам сюда.
Так вы предисловие к файлу почитайте.
"""
The most atomic way to train and inference a GPT in pure, dependency-free Python.
This file is the complete algorithm.
Everything else is just efficiency.
"""
Сама архитектура в этом файле не описана, здесь только модуль обучения. Ни модели, ни весов, только тренировалка.
Автор вроде как преподносит это как stateless-model, но что-то мне кажется есть подвох...
Я полагаю, вдохновлялись другим относительно стабильным вариантом - https://en.wikipedia.org/wiki/Kuratas
Ну и в городской Японии относительно неплохо с дорогами, поэтому, мне кажется, колёса там вполне валидны.
А тело скрипта пишется на JS, да?
Я предполагаю, этот абзац больше про рекламу плагина zVirt, иной причины вот так изгаляться представить не могу.
Zabbix в версии 6 были неудобства пользования http-запросов. Например, если вам сначала надо запросить токен у опрашиваемой системы, а потом уже с ним ходить по API. Т.е. снабжать запрос заголовком Authorization: Basic login:pass здесь не вариант совсем. В один запрос средствами UI Zabbix сделать этого не получится. Проверка делает 1 запрос и дальше пляшет от ответа. Следовательно, если к моменту выполнения запроса элемента данных у вас нет токена, вы в лучшем случае получите 401 от проверяемого объекта, а если вы этот токен и запрашиваете, то не очень понятно, как его передать в другие элементы данных. Плюс встаёт вопрос как за собой "закрыть" открытую токеном сессию, если проверки вы осуществляете достаточно редко. Самописными скриптами решить эту задачу - да, без проблем.
Из статьи не очень понятно где располагается API zVirt и зачем вы туда ходите именно агентом?
Про установку TimeScaleDB в PostgreSQL вы немного слукавили, там далеко не всё так страшно, но с первого раза может не получиться.
Дополнительно спрошу, вы занимались тюнингом шаблонов, по которым опрашивали узлы?
Zabbix до сих пор поддерживает как пассивный поллинг (pull) так и активный (push).
Здесь бы не помешали характеристики ВМ, на которой развёрнута система мониторинга и где хранится её БД.
Опять спрошу про агент. И.. ну, деплой zabbix довольно шаблонный, если у вас несколько идентичных мест для деплоя. Ansible?
Я совершенно не подумал, что вы сами территориально в Германии, извините. Чтож, тогда с нетерпением буду ждать.
Мне известно одно сообщество в vk.com (https://vk.com/scanbook2023), автор которого методично и, как мне кажется, довольно качественно, оцифровывает книги. Результаты можно в постах сообщества посмотреть. Он вроде бы даже принимает заказы.
Если вы не против рискнуть своим экземпляром (отправка туда и обратно), то я бы даже по чеку вам расходы компенсировал.
Совершенно случайно не подскажите, где найти в цифре?
Но ведь при master-replica точка записи у вас только одна, а в остальных "местах" только чтение, и я не очень понимаю, как это решает проблему геораспределённости ваших пользователей. Изменения всё равно нужно сначала доставить на мастер, а потом докатить до ближайшей реплики. Те. какое-либо обновление будет довольно продолжительным. Вы исходите из предположения, что активная запись в БД происходит значительно реже чем массовое чтение?
Вообще, конечно, назвать решение multimaster, но использовать master-replica БД мне кажется хитрым маркетинговым ходом.
Описано весьма занятно. Аналогичный подход встречал в https://github.com/veltman/clmystery
Дополню, в оригинальной версии если вариант ходов "по очереди", то стабильность сетевой игры сохраняется на более долгое время. Разница в 100-150 ходов на "нормальной" скорости в сравнении с одновременной игрой и гибридом.
По личному опыту конкретный вариант Whisper - https://huggingface.co/spaces/sanchit-gandhi/whisper-jax - прекрасно справлялся с транскрипцией интервью и совещаний от 5 до 60 минут с разным уровнем качества речи (в пустой студии, на улице, в шумной переговоке). Преобразовывал довольно шустро, а главное - бесплатно. Сейчас не работает, т.к. какие-то проблемы с доступом к серверам Amazon.
Предположу, что многое ПО (в т.ч. игры) для windows со временем начнёт в приказном порядке требовать платформу windows 11 и выше, чтобы установиться\запуститься и корректно отработать.
Интересная точка зрения. Добавил в закладки, чтобы ещё раз подумать: так ли мне нужен getopt моих инструментах или всё же можно обойтись getopt и короткими аргументами.
В одной оконной раме, среднестатистически, было одно стекло. Редко в Норильске видел 2 - в каких-нибудь нетиповых вариантах. Рам в оконный проём устанавливается две. Рамы деревянные, требуют регулярной реставрации либо замены, так как древесине грустно живётся в местном климате: краски и лаки обдираются снегом в пургу, а затем перепады влажности и температуры крутят дерево как заблагорассудится.
На сегодняшний день почти во всех домах заменено на пластиковые стеклопакеты с 2-3 стёклами.