diff --git a/docker-compose.yml b/docker-compose.yml index 3745565..9ce887f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,7 +9,7 @@ services: POSTGRES_USER: zabbix POSTGRES_PASSWORD: zabbix volumes: - - /mnt/disk2/data/db:/var/lib/postgresql/data + - ./db:/var/lib/postgresql/data networks: - zbx-net @@ -27,12 +27,12 @@ services: ZBX_HOSTNAME: "zbx-server" ZBX_TIMEOUT: 10 volumes: - - "/mnt/disk2/data/alertscripts:/usr/lib/zabbix/alertscripts" - - "/mnt/disk2/data/externalscripts:/usr/lib/zabbix/externalscripts" - - "/mnt/disk2/data/modules:/var/lib/zabbix/modules" - - "/mnt/disk2/data/snmptraps:/var/lib/zabbix/snmptraps" - - "/mnt/disk2/data/mibs:/var/lib/zabbix/mibs" - - "/mnt/disk2/data/export:/var/lib/zabbix/export" + - "./data/alertscripts:/usr/lib/zabbix/alertscripts" + - "./data/externalscripts:/usr/lib/zabbix/externalscripts" + - "./data/modules:/var/lib/zabbix/modules" + - "./data/snmptraps:/var/lib/zabbix/snmptraps" + - "./data/mibs:/var/lib/zabbix/mibs" + - "./data/export:/var/lib/zabbix/export" - "/etc/localtime:/etc/localtime:ro" - "./zabbix-init.sh:/usr/local/bin/zabbix-entrypoint.sh" depends_on: @@ -73,8 +73,8 @@ services: #- ZBX_DEBUGLEVEL=5 - ZBX_LISTENIP=0.0.0.0 volumes: - - "/mnt/disk2/data/agent:/etc/zabbix/zabbix_agentd.d" - - "/mnt/disk2/data/agentmodules:/var/lib/zabbix/modules" + - "./data/agent:/etc/zabbix/zabbix_agentd.d" + - "./data/agentmodules:/var/lib/zabbix/modules" - "/etc/localtime:/etc/localtime:ro" depends_on: - zbx-server diff --git a/readme.md b/readme.md index 1eb28b4..18bf63c 100644 --- a/readme.md +++ b/readme.md @@ -1,31 +1,106 @@ # Zabbix ### 📌 Sobre o Projeto -Um script simples para montagem de discos no linux, lista todas as partições disponiveis, voce escolhe, informa onde quer montar e pronto ! +Um compose personalizado do zabbix para instalar pacotes sem a necessidade de um re-build. --- -#### 🚀 Como usar - --- +### 🚀 Como Usar - - Acesse seu terminal; - - Clone o repositorio: +#### Via docker compose (Meu preferido.) / Portainer -```shell - git clone https://git.instantti.com.br/instant/persist-disk.git -``` +```yaml +--- +services: + zbx-postgres: + image: postgres:alpine + container_name: zbx-postgres + restart: unless-stopped + environment: + POSTGRES_DB: zabbix + POSTGRES_USER: zabbix + POSTGRES_PASSWORD: zabbix + volumes: + - ./db:/var/lib/postgresql/data + networks: + - zbx-net - - acesse o diretorio: + zbx-server: + image: zabbix/zabbix-server-pgsql:alpine-latest + container_name: zbx-server + restart: unless-stopped + user: root + environment: + DB_SERVER_HOST: zbx-postgres + POSTGRES_USER: zabbix + POSTGRES_PASSWORD: zabbix + ZBX_CACHESIZE: 8G + ZBX_STARTPOLLERS: 19 + ZBX_HOSTNAME: "zbx-server" + ZBX_TIMEOUT: 10 + volumes: + - "./data/alertscripts:/usr/lib/zabbix/alertscripts" + - "./data/externalscripts:/usr/lib/zabbix/externalscripts" + - "./data/modules:/var/lib/zabbix/modules" + - "./data/snmptraps:/var/lib/zabbix/snmptraps" + - "./data/mibs:/var/lib/zabbix/mibs" + - "./data/export:/var/lib/zabbix/export" + - "/etc/localtime:/etc/localtime:ro" + - "./zabbix-init.sh:/usr/local/bin/zabbix-entrypoint.sh" + depends_on: + - zbx-postgres + entrypoint: ["/usr/local/bin/zabbix-entrypoint.sh"] + command: ["docker-entrypoint.sh"] + networks: + - zbx-net -```shell - cd persist-disk/ -``` - - Execute o comando: + zbx-web: + image: zabbix/zabbix-web-nginx-pgsql:alpine-latest + container_name: zbx-web + restart: unless-stopped + environment: + DB_SERVER_HOST: zbx-postgres + POSTGRES_USER: zabbix + POSTGRES_PASSWORD: zabbix + ZBX_SERVER_HOST: zbx-server + ZBX_MEMORYLIMIT: 512M + ZBX_SERVER_NAME: Instant + PHP_TZ: "America/Sao_Paulo" + depends_on: + - zbx-server + ports: + - 14201:8080 + networks: + - zbx-net -```shell - chmod +x persist.sh && \ - sh persist.sh + zbx-agent: + image: zabbix/zabbix-agent:alpine-latest + container_name: zbx-agent + restart: unless-stopped + user: root + environment: + - ZBX_SERVER_HOST=zbx-server,zbx-agent + - ZBX_SERVER=zbx-server + - ZBX_HOSTNAME=zbx-server + #- ZBX_DEBUGLEVEL=5 + - ZBX_LISTENIP=0.0.0.0 + volumes: + - "./data/agent:/etc/zabbix/zabbix_agentd.d" + - "./data/agentmodules:/var/lib/zabbix/modules" + - "/etc/localtime:/etc/localtime:ro" + depends_on: + - zbx-server + networks: + zbx-net: + aliases: + - zbx-agent + - zbx-agent-passive + - zbx-agent-ubuntu + +networks: + zbx-net: ``` >[!TIP] -> - O script em questão é interativo, então ao executar siga o passo-a-passo dele. \ No newline at end of file +> - Garanta que todas as pastas / volumes estejam criados e com as corretas permissões configuradas. +> - Cria um arquivo chamado **zabbix-ini.sh**, copie todo o o conteudo deste arquivo e cole no seu arquivo recem-criado, dê permissão de execução e 755 posteriormente. \ No newline at end of file