В чём заключается цель синхронизации? Отказоустойчивость предоставляет репликация базы и контейнеризация приложения, незачем тут, имхо, городить костыли сомнительного качества в угоду "незамороченности".
Думаю, стоит сделать эти триггеры зависимыми от какого-то общего, типа "Устройство недавно было перезагружено" или "Устройство недоступно". Тогда в моменты ребутов триггеры линков активироваться не будут.
Частота проверок к выражению триггера отношения не имеет. Вам нужно настраивать именно последнее, указав что-нибудь типа nodata(86400)=1 или max(86400)<1 в зависимости от того, что отдаёт пинг в случае неудачи.
Это делается не через выражение триггера, а через Actions - алармы про триггеры определённой severity (или по каким-то другим параметрам отфильтрованые) отправлять, например, не сразу, а через определённый промежуток времени.
Это не ошибка, а оповещение относительно загруженности рабочих процессов. Либо не хватает производительности железа на сервере, либо Заббикс не настроен (количество процессов разного назначения, память и т. д).
Ничем не лучше, если вы собираетесь пихать базу в докер. В целом, тут применимо универсальное правило - в чём лучше разбираетесь, то и ставьте. Если ни в чём - ставьте тот вариант, в котором меньше возможностей накосячить.
Спешу вас расстроить - именно те проценты, которые видны в таск менеджере и есть на самом деле попугаи.
Измерение нагрузки многоядерных современных систем - это вообще такая неоднозначная штука. Почитайте хотя бы дискуссию относительно отображения LA в линуксе...