Суть такова. На малинке стоит arch Linux с системой pikvm, назначен статический ip адрес, установлен docker и docker compose. Благополучно установлен portainer с ip адресом 192.168.1.50 через driver macvlan, и установлен nginx proxy manager, и также pihole, и zabbix server с адресами из моей локальной сети, все также через driver macvlan. Так вот в чем суть вопроса, хочу чтобы zabbix мониторил саму малинку. Как мне это сделать? Если я ставлю zabbix agent на саму хост систему, то zabbix server не видит его, ввиду ограничения docker, а если поставить агента в контейнере, то как он сможет собирать данные, ведь контейнер изолирован от хост системы?
Посмотреть по каким портам общается заббикс со своими агентами. Экспортнуть этот порт из контейнера в котором запущен забикс на localhost. Запустить агент на хосте (не в контейнере), а пассивном режиме, чтобы не забикс пытался к нему из контейнера подцепиться, а он сам стучался в забкис.
А вообще чрезмерное увлечение контейнерами до добра не доводит. Есть вещи, типа мониторинга, которые не следует контейнеризировать :)
Заставь агента слушать на интерфейсе, который является для Zabbix-a шлюзом или на 0.0.0.0 и подключайся к нему из контейнера либо прямо по IP либо по имени host.docker.internal, больше ничего делать не надо.
Можно и наоборот пушить с агента собранную информацию на IP контейнера с Zabbix (IP можно или явно задать или узнать из docker inspect <cintainer name or ID>) но лучше первый вариант.