Ad Widget

Collapse

Can't connect to server after update

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • aertg
    Junior Member
    • Sep 2022
    • 1

    #1

    Can't connect to server after update

    I'm running Zabbix in docker, and it's been running just fine for months.
    Today I did an update of the docker containers from 6.0.3 to 6.2.3, and Zabbix is complaining that:

    ```
    Database error
    • The Zabbix database version does not match current requirements. Your database version: 6010031. Required version: 6020000. Please contact your system administrator
    ```

    The zabbix server docker logs:

    ```
    Starting Zabbix Server. Zabbix 6.2.3 (revision 98ee88f).
    Press Ctrl+C to exit.

    7:20220930:152839.276 Starting Zabbix Server. Zabbix 6.2.3 (revision 98ee88f).
    7:20220930:152839.276 ****** Enabled features ******
    7:20220930:152839.276 SNMP monitoring: YES
    7:20220930:152839.277 IPMI monitoring: YES
    7:20220930:152839.277 Web monitoring: YES
    7:20220930:152839.277 VMware monitoring: YES
    7:20220930:152839.277 SMTP authentication: YES
    7:20220930:152839.278 ODBC: YES
    7:20220930:152839.278 SSH support: YES
    7:20220930:152839.278 IPv6 support: YES
    7:20220930:152839.278 TLS support: YES
    7:20220930:152839.278 ******************************
    7:20220930:152839.278 using configuration file: /etc/zabbix/zabbix_server.conf
    7:20220930:152839.583 current database version (mandatory/optional): 06010031/06010031
    7:20220930:152839.584 required mandatory version: 06020000
    7:20220930:152839.584 optional patches were found
    7:20220930:152839.584 starting automatic database upgrade
    7:20220930:152839.591 [Z3008] query failed due to primary key constraint: [0] PGRES_FATAL_ERROR:ERROR: could not create unique index "hstgrp_1"
    DETAIL: Key (type, name)=(0, dev_cluster_workers) is duplicated.

    7:20220930:152839.592 database upgrade failed​
    ```


    The postgres docker logs show:

    ```
    2022-09-30 13:26:28.367 UTC [1068] STATEMENT: create unique index hstgrp_1 on hstgrp (type,name)
    2022-09-30 13:27:34.021 UTC [1090] ERROR: could not create unique index "hstgrp_1"
    2022-09-30 13:27:34.021 UTC [1090] DETAIL: Key (type, name)=(0, dev_cluster_workers) is duplicated.
    2022-09-30 13:27:34.021 UTC [1090] STATEMENT: create unique index hstgrp_1 on hstgrp (type,name)​
    ```

    From the docker-compose.yml:

    ```
    version: '3.5'
    services:

    zabbix_server:
    image: zabbix/zabbix-server-pgsql:alpine-latest
    deploy:
    labels:
    com.centurylinklabs.watchtower.enable: true
    restart: always
    ports:
    - "10051:10051"
    volumes:
    - /etc/localtime:/etc/localtime:ro
    - /etc/timezone:/etc/timezone:ro
    - ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro
    - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro
    - ./zbx_env/var/lib/zabbix/export:/var/lib/zabbix/export:rw
    - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro
    - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro
    - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro
    - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro
    - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro
    - /opt/zabbix/env_vars/.ZBX_CA/root-ca.pem:/run/secrets/root-ca.pem:ro
    - /opt/zabbix/env_vars/.ZBX_CLIENT/client-cert.pem:/run/secrets/client-cert.pem:ro
    - /opt/zabbix/env_vars/.ZBX_CLIENT/client-key.pem:/run/secrets/client-key.pem:ro
    env_file:
    - ./env_vars/.env_db_pgsql
    - ./env_vars/.env_srv
    secrets:
    - POSTGRES_USER
    - POSTGRES_PASSWORD
    depends_on:
    - postgres_server
    networks:
    zbx_net_backend:
    aliases:
    - zabbix_server
    - zabbix-server
    - zabbix-server-pgsql
    - zabbix-server-alpine-pgsql
    - zabbix-server-pgsql-alpine
    zbx_net_frontend:
    stop_grace_period: 30s
    sysctls:
    - net.ipv4.ip_local_port_range=1024 65000
    - net.ipv4.conf.all.accept_redirects=0
    - net.ipv4.conf.all.secure_redirects=0
    - net.ipv4.conf.all.send_redirects=0

    zabbix_web_nginx_pgsql:
    restart: always
    image: zabbix/zabbix-web-nginx-pgsql:alpine-latest
    deploy:
    labels:
    com.centurylinklabs.watchtower.enable: true
    ports:
    - "80:8080"
    - "443:8443"
    volumes:
    - /etc/localtime:/etc/localtime:ro
    - /etc/timezone:/etc/timezone:ro
    # - ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro
    - /etc/ssl/private/cert.pem:/etc/ssl/nginx/ssl.crt:ro
    - /etc/ssl/private/privkey.pem:/etc/ssl/nginx/ssl.key:ro
    - /etc/ssl/private/dhparam.pem:/etc/ssl/nginx/dhparam.pem:ro
    - ./zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
    - /opt/zabbix/env_vars/.ZBX_CA/root-ca.pem:/run/secrets/root-ca.pem:ro
    - /opt/zabbix/env_vars/.ZBX_CLIENT/client-cert.pem:/run/secrets/client-cert.pem:ro
    - /opt/zabbix/env_vars/.ZBX_CLIENT/client-key.pem:/run/secrets/client-key.pem:ro
    privileged: yes
    env_file:
    - ./env_vars/.env_db_pgsql
    - ./env_vars/.env_web
    secrets:
    - POSTGRES_USER
    - POSTGRES_PASSWORD
    depends_on:
    - postgres_server
    - zabbix_server
    healthcheck:
    test: ["CMD", "curl", "-f", "http://localhost:8080/"]
    interval: 10s
    timeout: 5s
    retries: 3
    start_period: 30s
    networks:
    zbx_net_backend:
    aliases:
    - zabbix_web_nginx_pgsql
    - zabbix-web-nginx-pgsql
    - zabbix-web-nginx-alpine-pgsql
    - zabbix-web-nginx-pgsql-alpine
    zbx_net_frontend:
    stop_grace_period: 10s
    sysctls:
    - net.core.somaxconn=65535

    postgres_server:
    restart: always
    image: postgres:latest
    deploy:
    labels:
    com.centurylinklabs.watchtower.enable: true
    volumes:
    - ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw
    - /opt/zabbix/env_vars/.ZBX_CA/root-ca.pem:/run/secrets/root-ca.pem:ro
    - /opt/zabbix/env_vars/.ZBX_SERVER/server-cert.pem:/run/secrets/server-cert.pem:ro
    - /opt/zabbix/env_vars/.ZBX_SERVER/server-key.pem:/run/secrets/server-key.pem:ro
    env_file:
    - ./env_vars/.env_db_pgsql
    secrets:
    - POSTGRES_USER
    - POSTGRES_PASSWORD
    stop_grace_period: 1m
    networks:
    zbx_net_backend:
    aliases:
    - postgres_server
    - postgres-server
    - pgsql-server
    - pgsql-database

    db_data_pgsql:
    image: busybox
    deploy:
    labels:
    com.centurylinklabs.watchtower.enable: true
    volumes:
    - ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw

    networks:
    zbx_net_frontend:
    driver: bridge
    driver_opts:
    com.docker.network.enable_ipv6: "false"
    ipam:
    driver: default
    config:
    - subnet: 172.16.238.0/24
    zbx_net_backend:
    driver: bridge
    driver_opts:
    com.docker.network.enable_ipv6: "false"
    internal: true
    ipam:
    driver: default
    config:
    - subnet: 172.16.239.0/24

    secrets:
    POSTGRES_USER:
    file: ./env_vars/.POSTGRES_USER
    POSTGRES_PASSWORD:
    file: ./env_vars/.POSTGRES_PASSWORD​
    ```

    Help? Please?
Working...