Zabbix in selfhosted env
from cichy1173@szmer.info to selfhosted@lemmy.world on 01 Aug 11:15
https://szmer.info/post/8814246

Hello. Does anyone here use Zabbix to monitor their self-hosted environment? If so, what architecture do you have, and what does your deployment look like?

#selfhosted

threaded - newest

0x0@lemmy.zip on 01 Aug 11:43 next collapse

It’s still on my to-do list.

mbirth@lemmy.ml on 01 Aug 12:12 next collapse

I have this running on a Raspberry Pi 5:

services:
  db:
    image: postgres:16-alpine
    environment:
      - POSTGRES_USER=zabbix
      - POSTGRES_PASSWORD=zabbix
      - PGDATA=/var/lib/postgresql/data
    volumes:
      - /opt/docker/zabbix7/pgdata/16/data:/var/lib/postgresql/data
    networks:
      - zabbix7
    restart: unless-stopped

  # fping needs setsuid
  # Connect to container as "root" and run: chmod +s /usr/sbin/fping
  server:
    image: zabbix/zabbix-server-pgsql:alpine-7.4-latest
    environment:
      - POSTGRES_USER=zabbix
      - POSTGRES_PASSWORD=zabbix
      - PHP_TZ=Europe/London
      - ZBX_SERVER_NAME=zabbix.domain.com
      - ZBX_NODEADDRESS=zabbix-server:10051
    cap_add:
      - NET_RAW
      - NET_ADMIN
    volumes:
      - /opt/docker/zabbix7/zabbix-server/alertscripts:/usr/lib/zabbix/alertscripts
      - /opt/docker/zabbix7/zabbix-server/externalscripts:/usr/lib/zabbix/externalscripts
      - /opt/docker/zabbix7/zabbix-server/mibs:/usr/lib/zabbix/mibs
      - /opt/docker/zabbix7/zabbix-server/modules:/usr/lib/zabbix/modules
      - /opt/docker/zabbix7/zabbix-server/export:/var/lib/zabbix/export
      - /opt/docker/zabbix7/zabbix-server/snmptraps:/var/lib/zabbix/snmptraps
    ports:
      - 10051:10051
    depends_on:
      - db
    links:
      - "db:postgres-server"
    networks:
      - zabbix7
      - traefik-public
    restart: unless-stopped

  web:
    image: zabbix/zabbix-web-nginx-pgsql:alpine-7.4-latest
    restart: unless-stopped
    environment:
        - PHP_TZ=Europe/London
        - ZBX_SERVER_NAME=zabbix.domain.com
        - ZBX_SERVER_HOST=zabbix-server
    #ports:
    #  - 10080:8080
    #  - 10081:443
    depends_on:
      - server
      - db
    links:
      - "server:zabbix-server"
      - "db:postgres-server"
    networks:
      - zabbix7
      - traefik-public
    labels:
      traefik.enable: "true"
      traefik.http.routers.zbx.rule: Host(`zabbix.domain.com`)
      traefik.http.routers.zbx.entrypoints: https
      traefik.http.routers.zbx.tls: "true"
      traefik.http.routers.zbx.tls.certresolver: le
      traefik.http.services.zbx.loadbalancer.server.port: "8080"

networks:
  traefik-public:
    external: true
surfrock66@lemmy.world on 01 Aug 13:12 next collapse

I use it at home, as a test environment as I brought it to 2 workplaces. I have a mysql VM and a front end VM.

taaz@biglemmowski.win on 01 Aug 13:35 next collapse

have it on dietpi (pi 4) + tailscale at home to monitor my dedics

forbiddenlake@lemmy.world on 02 Aug 02:42 next collapse

I used to. It’s really complicated and not big in the self hosted space.

I’d recommend the standard Prometheus, alert manager, and grafana stack instead. That’s what I use now, and although yaml sure is something, at least there’s tons of people to copy.

mbirth@lemmy.ml on 02 Aug 02:55 next collapse

But can Prometheus + Grafana e.g. monitor a website’s content and alert when there is a new firmware version available?

Zabbix can be configured completely via its GUI. It’s really easy once you get the hang of it.

surph_ninja@lemmy.world on 03 Aug 12:46 collapse

Ehh. I wouldn’t say it’s ever easy. At least not the initial setup. No matter how many times I do it, that initial setup is always a pain in the butt.

But once you get it configured and go through the initial headaches, it’s a breeze to coast on it.

cichy1173@szmer.info on 02 Aug 10:31 next collapse

What is complicated in Zabbix?

MysteriousSophon21@lemmy.world on 03 Aug 03:10 collapse

Zabbix is more powerfull for complex alerting scenarios and has better agent-based monitoring, while Prom/Grafana excels at metrics visualzation and integrates better with containers - they’re actually complementary depending on what you’re monitoring.

philpo@feddit.org on 04 Aug 08:50 next collapse

I am using it and tbh didn’t have too many issues with it. It runs as a LXC on my Proxmox server.

With that it’s a fairly comfortable setup - it does have API access on the proxmox node and therefore automatically discovers all LXCs,even the ones you add after the installation.

For other machines I use a fairly easy bash script to download the agent 2 and then overwrite the config file with the right parameters,but that’s just me being lazy - it’s not that much work doing it by hand as well.

And for everything else there is always SNMP which is fairly well supported and there are tons of templates nowadays.

Tbh, I had Prometheus/Grafana before and found it to be much more complicated, especially when you need active and passive nodes. The fact that Zabbix is “All in one” is fairly nice sometimes.

Dashboards are a bit lacking behind Grafana at times,but I can live with that.

exu@feditown.com on 06 Aug 12:14 collapse

I run mine on a separate server in containers (using Podman). For architecture, the server just connects directly to each agent, using my VPN network