klink0v (klink0v) wrote,
klink0v
klink0v

Category:

Неочевидная подстава с Zabbix + TimeScaleDB

Очередной пример того, почему важно понимать что происходит "под капотом" в результате твоих действий, а не просто тупо что-нибудь настроить по инструкции из интернета.

Начиная с 5-й версии Zabbix поддерживает в качестве бэкенда связку PostgreSQL+TimeScaleDB. Мы эту штуку у себя гоняем, работает весьма неплохо. Но по собственной глупости влетел в одну засаду.

Дело в том, что при миграции с "ванильного" Postgres-а на TimeScaleDB специальный скрипт из комплекта Zabbix-а самостоятельно за сисадмина заботливо проставляет вот эти две "галочки" в настройках: "Override item history period" и "Override item trend period" (смотри скриншот).

Делает он это не просто так, и боже упаси вас их потом убрать. При этом никакой "защиты от дурака" не предусмотрено. В документации этот момент не оговорен. Если вы недостаточно внимательны, то скорее всего даже не заметите, что в настройках что-то поменялось. И впоследствии вы сможете снять эти галки, если захотите. Но тогда заббиксовский housekeeper и PostgreSQL сойдут с ума, нагадят вам много-много гигабайт ошибок в логах и могут даже вообще положить ваш Zabbix-сервер, если он не особенно мощный в плане железа. А вы будете сидеть и недоумевать что же произошло и почему.

А причина простая. После того, как TimeScaleDB упакует "старые" данные в архив, в нём уже нельзя ничего изменять (update / delete). Можно удалить этот chunk целиком. Но для этого все элементы данных должны иметь одинаковый "срок протухания". Поэтому после перехода на TimeScaleDB уже не получится выставлять различные сроки хранения для разных Item-ов и Trend-ов. Нужно будет принудительно причесать всех под одну гребёнку. Что и осуществляется выставлением вот этих двух настроек скриптом миграции.

С одной стороны, тут есть большие вопросы к разработчикам Zabbix-а. Совсем чуть-чуть нужно изменить в коде приложения, чтобы оно не допускало бы или хотя бы игнорировало заведомо некорректные настройки. С другой стороны, если сисадмин хорошо понимает как изнутри устроен Zabbix и TimeScaleDB, то ему и в голову никогда не придёт снимать эти "галки". Но беглый поиск по профильным форумам наглядно продемонстрировал, что на эти грабли наступают очень многие. И я тоже не прошел мимо.

Напоследок мелкая загадка линуксоидам. На первый взгляд очень простой вопрос. Вот скажите, имеет ли значение порядок записей в "/etc/hosts"? Например, есть ли разница между вот такими двумя вариантами:

192.168.1.1 myhost.foo.bar myhost
192.168.1.1 myhost myhost.foo.bar

?

Правильный ответ будет в следующих выпусках журнала "Мурзилка", если в комментах никто не даст его раньше.

Tags: hints, it, грабли, загадки
Subscribe

  • Очередная багофича в Juniper SRX

    ... Ну вы уже поняли, насколько горячей любовью я их "обожаю". Дано. Техническая площадка. На ней контроллер домена MS AD. IPSec-тоннель…

  • Juniper + IPSec + MTU = баги

    Хотите еще багов ждунипера? Их есть у меня. Наступил на очередную пачку. Причём, практически на ровном месте. Вводные следующие. Есть IPSec-тоннель…

  • Внезапная ведроид-проблема

    Когда меня вдруг приспичивает поработать вне дома или офиса, то схема весьма стандартна. Из рюкзака достается ноутбук, к нему шнурком цепляется…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 9 comments