Очередной пример того, почему важно понимать что происходит "под капотом" в результате твоих действий, а не просто тупо что-нибудь настроить по инструкции из интернета.
Начиная с 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
?
Правильный ответ будет в следующих выпусках журнала "Мурзилка", если в комментах никто не даст его раньше.