【问题标题】:Zabbix docker environment - specify MySQL certificateZabbix docker环境-指定MySQL证书
【发布时间】:2020-07-27 13:49:22
【问题描述】:

我正在尝试为 zabbix 配置 docker-compose yaml 并收到此消息:

Creating network "zabbix_default" with the default driver
Creating zabbix_server ... done
Attaching to zabbix_server
server_1   |  Preparing Zabbix server
server_1   |  Using MYSQL_USER variable from ENV
server_1   |  Using MYSQL_PASSWORD variable from ENV
server_1   |  Using MYSQL_ROOT_PASSWORD variable from ENV
server_1   | ********************
server_1   | * DB_SERVER_HOST: here-is-my-db-host.mdb.yandexcloud.net
server_1   | * DB_SERVER_PORT: 3306
server_1   | * DB_SERVER_DBNAME: zabbix
server_1   | ********************
server_1   | **** MySQL server is not available. Waiting 5 seconds...
server_1   | **** MySQL server is not available. Waiting 5 seconds...

但是 MySQL 服务器已经准备好了。我想这是因为 mysql ssl сertificate 文件。我们正在使用yandex cloud db,它需要一个。在 python 中,我们有这种格式的连接字符串:

mysql+pymysql://user:password@here-is-my-db-host.mdb.yandexcloud.net/db_name?ssl_ca=/path/to/ssl_cert.crt

我认为对于 docker,我应该以类似的方式指定 ssl_ca,但我不知道如何。

这是我的zabbix_server服务配置:

server:
    container_name: zabbix_server
    image: zabbix/zabbix-server-mysql:alpine-5.0-latest
    external_links:
      - "zabbix_gateway:zabbix-java-gateway"
    volumes:
      - "./.conf:/etc/zabbix/"
    ports:
      - "10051:10051"
    environment:
      MYSQL_SERVER_HOST: "here-is-my-db-host.mdb.yandexcloud.net"
      MYSQL_USER: "api"
      MYSQL_PASSWORD: "password"
      MYSQL_ROOT_PASSWORD: "password"
      MYSQL_DATABASE: "zabbix"
      MYSQL_SSL_CA: "/etc/zabbix/root.crt"
      ZBX_JAVAGATEWAY: "zabbix_gateway"
    restart: always

正如你在上面看到的,我设置了MYSQL_SSL_CA 变量,试图让 zabbix 应用证书。除此之外,我还尝试了这些变量:

MYSQL_SSL_CERT
MYSQL_SSL_KEY
DB_SSL_CERT_PATH
MYSQL_SSL_CERT_PATH
ZBX_DBTLSCAFILE

还有其他一些(现在我只是不记得是哪些)。还是一样的结果。

我应该怎么做才能让zabbix容器读取这个证书(或者只是连接数据库)?

【问题讨论】:

    标签: mysql docker docker-compose zabbix


    【解决方案1】:

    Zabbix docker 镜像中没有 MYSQL_SSL_CA 变量,但目前没有记录(至少对于 README.md):

      configuration   |      variable
    ---------------------------------------
     DBTLSConnect       ZBX_DBTLSCONNECT
     DBTLSCAFile        ZBX_DBTLSCAFILE
     DBTLSCertFile      ZBX_DBTLSCERTFILE
     DBTLSKeyFile       ZBX_DBTLSKEYFILE
     DBTLSCipher        ZBX_DBTLSCIPHER
     DBTLSCipher13      ZBX_DBTLSCIPHER13
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-06
      • 1970-01-01
      • 1970-01-01
      • 2019-02-14
      • 1970-01-01
      相关资源
      最近更新 更多