В операторе goto (то бишь, JMP) нету ничего плохого - им, например, можно перейти в середину инструкции.
Последний раз я такой трюк видел в 2004-м в защите какой-то транзасовской программы, а предпоследний - в каком-то коде для ZX Spectrum.
В Zabbix тоже нет ничего плохого в том смысле, в котором нет ничего плохого в JMP - если вы находитесь примерно в 2009-м, то вокруг только Zabbix, а те, у кого уже есть Graphite, не рвутся обзывать это дело "инициатива metrics 2.0", потому что такой инициативы еще нет.
Если вы не можете отличить Zabbix от не-Zabbix - проверьте вашу привилегию, возможно, вы не отличаете JMP в середину инструкции от бабочки. В таком случае вам надо либо выработать набор критериев (прочитать, подсмотреть, украсть, натренировать), либо пользоваться Zabbix, как будто 2009-й, потому что вы не хотите ничего вырабатывать, вам и так нарм. Почему остальные инженеры занимаются этой фигней - ну, им, видимо, просто больше нечем заняться (здесь должна быть надоевшая ссылка на статью про принцип Анны Карениной в технически сложных системах). Нет, это не NIH syndrome - чем дольше мы этим занимаемся, тем меньше вокруг NIH syndrome, потому что у человечества тупо не хватает рабочих рук. Если ORM для PHP писал каждый, то журналируемую файловую систему с экстентами - уже, кажется, не каждый.
Отдельно надо сказать про упомянутый выше принцип "чуз да боринг тикнолоджи" - если у вас в критериях выбора есть "боринг"/"нат боринг", вам как-то надо пересмотреть свою жизнь, если вы и правда инженер, конечно. Технология должна обеспечивать определенный уровень качества, поэтому настоящие вопросы это не "монолит против микросервисов", а - "Танненбаум против Торвальдса" и "Стив Йегги против Саймона Пейтона Джонса" (спойлер алерт: в финале Йегги проигрывает, потому что синька - чмо).