记录一下使用docker-compose部署zabbix以及问题解决

部署

  1. 这边使用官方的yaml来部署,直接从github克隆
git clone https://github.com/zabbix/zabbix-docker.git
  1. 部署
    我这边使用的docker-compose_v3_centos_mysql_latest.yaml来部署的,该 compose 文件运行基于 CentOS7 的 Zabbix 4.0 最新版本的组件,支持 MySQL 数据库。如有必要的话,需要按照实际情况修改一下,比如端口、挂载等等。
    e.g.
version: '3.5'
services:
 zabbix-server:
  image: zabbix/zabbix-server-mysql:centos-4.2-latest
  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/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
  links:
   - mysql-server:mysql-server
   - zabbix-java-gateway:zabbix-java-gateway
  ulimits:
   nproc: 65535
   nofile:
    soft: 20000
    hard: 40000
  deploy:
   resources:
    limits:
      cpus: '0.70'
      memory: 1G
    reservations:
      cpus: '0.5'
      memory: 512M
  env_file:
   - .env_db_mysql
   - .env_srv
  user: root
  depends_on:
   - mysql-server
   - zabbix-java-gateway
   - zabbix-snmptraps
  networks:
   zbx_net_backend:
     aliases:
      - zabbix-server
      - zabbix-server-mysql
      - zabbix-server-centos-mysql
      - zabbix-server-mysql-centos
   zbx_net_frontend:
#  devices:
#   - "/dev/ttyUSB0:/dev/ttyUSB0"
  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
  labels:
   com.zabbix.description: "Zabbix server with MySQL database support"
   com.zabbix.company: "Zabbix SIA"
   com.zabbix.component: "zabbix-server"
   com.zabbix.dbtype: "mysql"
   com.zabbix.os: "centos"

 zabbix-proxy-sqlite3:
  image: zabbix/zabbix-proxy-sqlite3:centos-4.2-latest
  ports:
   - "10061:10051"
  volumes:
   - /etc/localtime:/etc/localtime:ro
   - /etc/timezone:/etc/timezone:ro 
   - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro
   - ./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
  links:
   - zabbix-server:zabbix-server
   - zabbix-java-gateway:zabbix-java-gateway
  ulimits:
   nproc: 65535
   nofile:
    soft: 20000
    hard: 40000
  deploy:
   resources:
    limits:
      cpus: '0.70'
      memory: 512M
    reservations:
      cpus: '0.3'
      memory: 256M
  env_file:
   - .env_prx
   - .env_prx_sqlite3
  user: root
  depends_on:
   - zabbix-java-gateway
   - zabbix-snmptraps
  networks:
   zbx_net_backend:
    aliases:
     - zabbix-proxy-sqlite3
     - zabbix-proxy-centos-sqlite3
     - zabbix-proxy-sqlite3-centos
   zbx_net_frontend:
  stop_grace_period: 30s
  labels:
   com.zabbix.description: "Zabbix proxy with SQLite3 database support"
   com.zabbix.company: "Zabbix SIA"
   com.zabbix.component: "zabbix-proxy"
   com.zabbix.dbtype: "sqlite3"
   com.zabbix.os: "centos"

 zabbix-proxy-mysql:
  image: zabbix/zabbix-proxy-mysql:centos-4.2-latest
  ports:
   - "10071:10051"
  volumes:
   - /etc/localtime:/etc/localtime:ro
   - /etc/timezone:/etc/timezone:ro
   - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro
   - ./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
  links:
   - zabbix-server:zabbix-server
   - zabbix-java-gateway:zabbix-java-gateway
  ulimits:
   nproc: 65535
   nofile:
    soft: 20000
    hard: 40000
  deploy:
   resources:
    limits:
      cpus: '0.70'
      memory: 512M
    reservations:
      cpus: '0.3'
      memory: 256M
  env_file:
   - .env_db_mysql_proxy
   - .env_prx
   - .env_prx_mysql
  user: root
  depends_on:
   - mysql-server
   - zabbix-java-gateway
   - zabbix-snmptraps
  networks:
   zbx_net_backend:
    aliases:
     - zabbix-proxy-mysql
     - zabbix-proxy-centos-mysql
     - zabbix-proxy-mysql-centos
   zbx_net_frontend:
  stop_grace_period: 30s
  labels:
   com.zabbix.description: "Zabbix proxy with MySQL database support"
   com.zabbix.company: "Zabbix SIA"
   com.zabbix.component: "zabbix-proxy"
   com.zabbix.dbtype: "mysql"
   com.zabbix.os: "centos"

 zabbix-web-apache-mysql:
  image: zabbix/zabbix-web-apache-mysql:centos-4.2-latest
  ports:
   - "18880:80"
   - "18443:443"
  links:
   - mysql-server:mysql-server
   - zabbix-server:zabbix-server
  volumes:
   - /etc/localtime:/etc/localtime:ro
   - /etc/timezone:/etc/timezone:ro
   - ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro
  deploy:
   resources:
    limits:
      cpus: '0.70'
      memory: 512M
    reservations:
      cpus: '0.5'
      memory: 256M
  env_file:
   - .env_db_mysql
   - .env_web
  user: root
  depends_on:
   - mysql-server
   - zabbix-server
  healthcheck:
   test: ["CMD", "curl", "-f", "http://localhost"]
   interval: 10s
   timeout: 5s
   retries: 3
   start_period: 30s
  networks:
   zbx_net_backend:
    aliases:
     - zabbix-web-apache-mysql
     - zabbix-web-apache-centos-mysql
     - zabbix-web-apache-mysql-centos
   zbx_net_frontend:
  stop_grace_period: 10s
  sysctls:
   - net.core.somaxconn=65535
  labels:
   com.zabbix.description: "Zabbix frontend on Apache web-server with MySQL database support"
   com.zabbix.company: "Zabbix SIA"
   com.zabbix.component: "zabbix-frontend"
   com.zabbix.webserver: "apache2"
   com.zabbix.dbtype: "mysql"
   com.zabbix.os: "centos"

 zabbix-web-nginx-mysql:
  image: zabbix/zabbix-web-nginx-mysql:centos-4.2-latest
  ports:
   - "18081:80"
   - "19443:443"
  links:
   - mysql-server:mysql-server
   - zabbix-server:zabbix-server
  volumes:
   - /etc/localtime:/etc/localtime:ro
   - /etc/timezone:/etc/timezone:ro
   - ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro
  deploy:
   resources:
    limits:
      cpus: '0.70'
      memory: 512M
    reservations:
      cpus: '0.5'
      memory: 256M
  env_file:
   - .env_db_mysql
   - .env_web
  user: root
  depends_on:
   - mysql-server
   - zabbix-server
  healthcheck:
   test: ["CMD", "curl", "-f", "http://localhost"]
   interval: 10s
   timeout: 5s
   retries: 3
   start_period: 30s
  networks:
   zbx_net_backend:
    aliases:
     - zabbix-web-nginx-mysql
     - zabbix-web-nginx-centos-mysql
     - zabbix-web-nginx-mysql-centos
   zbx_net_frontend:
  stop_grace_period: 10s
  sysctls:
   - net.core.somaxconn=65535
  labels:
   com.zabbix.description: "Zabbix frontend on Nginx web-server with MySQL database support"
   com.zabbix.company: "Zabbix SIA"
   com.zabbix.component: "zabbix-frontend"
   com.zabbix.webserver: "nginx"
   com.zabbix.dbtype: "mysql"
   com.zabbix.os: "centos"

 zabbix-agent:
  image: zabbix/zabbix-agent:centos-4.2-latest
  ports:
   - "10050:10050"
  volumes:
   - /etc/localtime:/etc/localtime:ro
   - /etc/timezone:/etc/timezone:ro
   - ./zbx_env/etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro
   - ./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
  links:
   - zabbix-server:zabbix-server
  deploy:
   resources:
    limits:
      cpus: '0.2'
      memory: 128M
    reservations:
      cpus: '0.1'
      memory: 64M
   mode: global
  env_file:
   - .env_agent
  user: root
  privileged: true
  pid: "host"
  networks:
   zbx_net_backend:
    aliases:
     - zabbix-agent
     - zabbix-agent-passive
     - zabbix-agent-centos
  stop_grace_period: 5s
  labels:
   com.zabbix.description: "Zabbix agent"
   com.zabbix.company: "Zabbix SIA"
   com.zabbix.component: "zabbix-agentd"
   com.zabbix.os: "centos"

 zabbix-java-gateway:
  image: zabbix/zabbix-java-gateway:centos-4.2-latest
  ports:
   - "10052:10052"
  volumes:
   - /etc/localtime:/etc/localtime:ro
   - /etc/timezone:/etc/timezone:ro
  deploy:
   resources:
    limits:
      cpus: '0.5'
      memory: 512M
    reservations:
      cpus: '0.25'
      memory: 256M
  env_file:
   - .env_java
  user: root
  networks:
   zbx_net_backend:
    aliases:
     - zabbix-java-gateway
     - zabbix-java-gateway-centos
  stop_grace_period: 5s
  labels:
   com.zabbix.description: "Zabbix Java Gateway"
   com.zabbix.company: "Zabbix SIA"
   com.zabbix.component: "java-gateway"
   com.zabbix.os: "centos"

 zabbix-snmptraps:
  image: zabbix/zabbix-snmptraps:centos-4.2-latest
  ports:
   - "162:162/udp"
  volumes:
   - /etc/localtime:/etc/localtime:ro
   - /etc/timezone:/etc/timezone:ro
   - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw
  deploy:
   resources:
    limits:
      cpus: '0.5'
      memory: 256M
    reservations:
      cpus: '0.25'
      memory: 128M
  user: root
  networks:
   zbx_net_frontend:
    aliases:
     - zabbix-snmptraps
   zbx_net_backend:
  stop_grace_period: 5s
  labels:
   com.zabbix.description: "Zabbix snmptraps"
   com.zabbix.company: "Zabbix SIA"
   com.zabbix.component: "snmptraps"
   com.zabbix.os: "ubuntu"

 mysql-server:
  image: mysql:8.0
  command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin, --default-authentication-plugin=mysql_native_password]
  volumes:
   - /etc/localtime:/etc/localtime:ro
   - /etc/timezone:/etc/timezone:ro
   - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw
  env_file:
   - .env_db_mysql
  user: root
  stop_grace_period: 1m
  networks:
   zbx_net_backend:
    aliases:
     - mysql-server
     - zabbix-database
     - mysql-database

 db_data_mysql:
  image: busybox
  volumes:
   - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw

# elasticsearch:
#  image: elasticsearch
#  environment:
#   - transport.host=0.0.0.0
#   - discovery.zen.minimum_master_nodes=1
#  networks:
#   zbx_net_backend:
#    aliases:
#     - elasticsearch

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

docker-compose -f docker-compose_v3_centos_mysql_latest.yaml up -d

注意低版本的docker-compose可能起不来。

问题

  • 问题1:改为中文后graph页面乱码
    问题现象:在用户界面把文字改为中文后,虽然界面上变成了中文,但是在graph图形页面上有乱码:
    记录一下使用docker-compose部署zabbix以及问题解决
    解决方法:把本地字体文件复制到容器中去。
  1. 控制面板–>字体–>选择一种中文字库例如“楷体”(simkai.ttf),把这个字体拿到运行zabbix容器的宿主机上。
  2. 把字体复制到apache和nginx容器中:
docker cp ~/simkai.ttf zabbix-docker_zabbix-web-nginx-mysql_1:/usr/share/zabbix/fonts/
docker cp ~/simkai.ttf zabbix-docker_zabbix-web-apache-mysql_1:/usr/share/zabbix/fonts/

进入docker容器,执行:

cd /usr/share/zabbix/fonts
ln -snf simkai.ttf graphfont.ttf

不需要重启,再次查看,乱码已经显示正常。

  • 问题2:时区问题
    问题现象:graph上展示的时间与实际时间不符,因为php时区不对,如图:记录一下使用docker-compose部署zabbix以及问题解决
    解决方法:

一、对于apache容器

  1. 首先进入apache容器:
docker exec -it zabbix-docker_zabbix-web-apache-mysql_1 bash
  1. 编辑了/etc/php.ini,将时区设置为Asia/Shanghai
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai

  1. 重启容器, --貌似没啥用。。。
  2. 再次进入容器
  3. 编辑/etc/httpd/conf.d/zabbix.conf文件,在<VirtualHost>这一层,加上了php_value date.timezone Asia/Shanghai配置,如下:
<VirtualHost *:80>
    DocumentRoot /usr/share/zabbix/
    ServerName zabbix
    DirectoryIndex index.php
    AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
    AddType application/x-httpd-php-source .phps
    php_value date.timezone Asia/Shanghai

    <Directory "/usr/share/zabbix">
        Options FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
......
  1. 再次重启容器,OK了。。

二、对于nginx容器:

  1. 首先进入nginx容器:
docker exec -it zabbix-docker_zabbix-web-nginx-mysql_1 bash
  1. 编辑了/etc/php.ini,将时区设置为Asia/Shanghai
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai

  1. 重启容器, 同样没什么用,用phpinfo()查看了确实是这个php.ini,不知为何不生效。
  2. 一路找到最后,找到/usr/share/zabbix/include/config.inc.php文件:
[[email protected] zabbix]# ps -ef | grep nginx
root        41     1  0 14:56 ?        00:00:00 nginx: master process /usr/sbin/nginx -g daemon off; -c /etc/nginx/nginx.conf
nginx       43    41  0 14:56 ?        00:00:00 nginx: worker process
nginx       44    41  0 14:56 ?        00:00:00 nginx: worker process
nginx       45    41  0 14:56 ?        00:00:00 nginx: worker process
nginx       46    41  0 14:56 ?        00:00:00 nginx: worker process
nginx       47    41  0 14:56 ?        00:00:00 nginx: worker process
nginx     2254    42  0 15:57 ?        00:00:03 php-fpm: pool www
nginx     2310    42  0 15:58 ?        00:00:02 php-fpm: pool www
nginx     2347    42  0 16:00 ?        00:00:01 php-fpm: pool www
root      2470  2432  0 16:03 pts/0    00:00:00 grep --color=auto nginx
[[email protected] zabbix]# cat /etc/nginx/nginx.conf
user nginx;
worker_processes 5;
worker_rlimit_nofile 256000;

error_log /dev/fd/2 warn;

pid        /var/run/nginx.pid;

events {
    worker_connections 5120;
    use epoll;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /dev/fd/1 main;

    client_body_timeout             5m;
    send_timeout                    5m;

    connection_pool_size            4096;
    client_header_buffer_size       4k;
    large_client_header_buffers     4 4k;
    request_pool_size               4k;
    reset_timedout_connection       on;


    gzip                            on;
    gzip_min_length                 100;
    gzip_buffers                    4 8k;
    gzip_comp_level                 5;
    gzip_types                      text/plain;
    gzip_types                      application/x-javascript;
    gzip_types                      text/css;

    output_buffers                  128 512k;
    postpone_output                 1460;
    aio                             on;
    directio                        512;

    sendfile                        on;
    client_max_body_size            8m;
    client_body_buffer_size	    256k;
    fastcgi_intercept_errors        on;

    tcp_nopush                      on;
    tcp_nodelay                     on;

    keepalive_timeout               75 20;

    ignore_invalid_headers          on;

    index                           index.php;
    server_tokens                   off;

    include /etc/nginx/conf.d/*.conf;
}
[[email protected] zabbix]# cat /etc/nginx/conf.d/*.conf
server {
    listen          80;
    server_name     zabbix;
    index           index.php;

    access_log      /dev/fd/1 main;
    error_log       /dev/fd/2 notice;

    set $webroot '/usr/share/zabbix';
    root $webroot;

    large_client_header_buffers 8 8k;
    client_max_body_size 10M;


    location = /favicon.ico {
        log_not_found off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    # deny running scripts inside writable directories
    location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
        return 403;
        error_page 403 /403_error.html;
    }

    # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    # caching of files
    location ~* \.(ico|pdf|flv)$ {
        expires 1y;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
        expires 14d;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        fastcgi_pass   unix:/var/run/php5-fpm.sock;
        fastcgi_index  index.php;

        fastcgi_param  SCRIPT_FILENAME  $webroot$fastcgi_script_name;

        include fastcgi_params;
        fastcgi_param  QUERY_STRING     $query_string;
        fastcgi_param  REQUEST_METHOD   $request_method;
        fastcgi_param  CONTENT_TYPE     $content_type;
        fastcgi_param  CONTENT_LENGTH   $content_length;
        fastcgi_intercept_errors        on;
        fastcgi_ignore_client_abort     off;
        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 180;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
    }
}
[[email protected] zabbix]# cd /usr/share/zabbix
[[email protected] zabbix]# ll
total 1112
-rw-r--r--  1 root root 31911 Apr 15 20:08 actionconf.php
-rw-r--r--  1 root root  3565 Jan  7 21:38 adm.gui.php
-rw-r--r--  1 root root  7018 Jan  7 21:38 adm.housekeeper.php
-rw-r--r--  1 root root  4331 Jan  7 21:38 adm.iconmapping.php
-rw-r--r--  1 root root  4451 Jan  7 21:38 adm.images.php
-rw-r--r--  1 root root  3347 Jan  7 21:38 adm.macros.php
-rw-r--r--  1 root root  3637 Jan  7 21:38 adm.other.php
-rw-r--r--  1 root root  8180 Apr 15 20:08 adm.regexps.php
-rw-r--r--  1 root root  5054 Jan  7 21:38 adm.triggerdisplayoptions.php
-rw-r--r--  1 root root  5092 Jan  7 21:38 adm.triggerseverities.php
-rw-r--r--  1 root root  6568 Apr 15 20:08 adm.valuemapping.php
-rw-r--r--  1 root root  1882 Jan  7 21:38 adm.workingtime.php
-rw-r--r--  1 root root  2327 Jan  7 21:38 api_jsonrpc.php
drwxr-xr-x  4 root root  4096 Apr 19 19:14 app
-rw-r--r--  1 root root 10469 Apr 15 20:08 applications.php
drwxr-xr-x  2 root root  4096 Apr 19 19:14 audio
-rw-r--r--  1 root root  4743 Jan  7 21:38 auditacts.php
-rw-r--r--  1 root root  6285 Jan  7 21:38 auditlogs.php
-rw-r--r--  1 root root  1508 Jan  7 21:38 browserwarning.php
-rw-r--r--  1 root root  4505 Feb  7 14:40 chart.php
-rw-r--r--  1 root root  5176 Feb  7 14:40 chart2.php
-rw-r--r--  1 root root  6769 Feb  7 14:40 chart3.php
-rw-r--r--  1 root root  5595 Jan  7 21:38 chart4.php
-rw-r--r--  1 root root  5713 Jan  7 21:38 chart5.php
-rw-r--r--  1 root root  3596 Jan  7 21:38 chart6.php
-rw-r--r--  1 root root  3638 Jan  7 21:38 chart7.php
-rw-r--r--  1 root root  3501 Jan  7 21:38 charts.php
drwxr-xr-x  1 root root  4096 May 16 14:56 conf
-rw-r--r--  1 root root  6963 Mar 15 22:37 conf.import.php
-rw-r--r--  1 root root 17403 Apr 15 20:08 correlation.php
-rw-r--r--  1 root root 56368 Apr 16 21:36 disc_prototypes.php
-rw-r--r--  1 root root 13204 Apr 15 20:08 discoveryconf.php
-rw-r--r--  1 root root 32988 Oct 15  2015 favicon.ico
drwxr-xr-x  1 root root  4096 May 15 17:29 fonts
-rw-r--r--  1 root root 22516 Apr 15 20:08 graphs.php
-rw-r--r--  1 root root  4578 Jan  7 21:38 history.php
-rw-r--r--  1 root root 28944 Apr 15 20:08 host_discovery.php
-rw-r--r--  1 root root 15158 Apr 15 20:08 host_prototypes.php
-rw-r--r--  1 root root  3953 Jan 21 16:49 host_screen.php
-rw-r--r--  1 root root  9448 Apr 15 20:08 hostgroups.php
-rw-r--r--  1 root root  8656 Feb 14 02:44 hostinventories.php
-rw-r--r--  1 root root  5243 Jan  7 21:38 hostinventoriesoverview.php
-rw-r--r--  1 root root 46057 Apr 15 20:08 hosts.php
-rw-r--r--  1 root root 27142 Apr 16 21:36 httpconf.php
-rw-r--r--  1 root root  6592 Jan  7 21:38 httpdetails.php
-rw-r--r--  1 root root  1857 Jan  7 21:38 image.php
drwxr-xr-x  3 root root  4096 Apr 19 19:14 images
drwxr-xr-x  2 root root  4096 Apr 19 19:14 img
-rw-r--r--  1 root root  3704 Apr  3 21:58 imgstore.php
drwxr-xr-x  1 root root  4096 May 16 15:13 include
-rw-r--r--  1 root root  3522 Apr  4 14:34 index.php
-rw-r--r--  1 root root  2835 Jan  7 21:38 index_http.php
-rw-r--r--  1 root root 77893 Apr 15 20:08 items.php
drwxr-xr-x  5 root root  4096 Apr 19 19:14 js
-rw-r--r--  1 root root 13786 Mar 15 20:58 jsLoader.php
-rw-r--r--  1 root root 17451 Apr 10 17:09 jsrpc.php
-rw-r--r--  1 root root 25424 Apr  4 16:09 latest.php
drwxr-xr-x  4 root root  4096 Apr 19 19:14 local
drwxr-xr-x 35 root root  4096 Apr 19 19:14 locale
-rw-r--r--  1 root root 19986 Apr 15 20:08 maintenance.php
-rw-r--r--  1 root root  6961 Mar 15 22:37 map.import.php
-rw-r--r--  1 root root  2438 Jan  7 21:38 map.php
-rw-r--r--  1 root root  8612 Mar  5 23:26 overview.php
-rw-r--r--  1 root root    90 May 16 15:10 phpinfo.php
-rw-r--r--  1 root root  6707 Mar 11 22:20 profile.php
-rw-r--r--  1 root root  8430 Apr  4 13:54 queue.php
-rw-r--r--  1 root root 15408 Jan  7 21:38 report2.php
-rw-r--r--  1 root root  8282 Feb 28 21:02 report4.php
-rw-r--r--  1 root root   974 Apr 21  2016 robots.txt
-rw-r--r--  1 root root  6965 Mar 15 22:37 screen.import.php
-rw-r--r--  1 root root 13977 Apr 15 20:08 screenconf.php
-rw-r--r--  1 root root 10446 Jan  7 21:38 screenedit.php
-rw-r--r--  1 root root  4401 Jan  7 21:38 screens.php
-rw-r--r--  1 root root 12271 Apr  8 22:33 services.php
-rw-r--r--  1 root root  4332 Apr 12 21:37 setup.php
-rw-r--r--  1 root root 12757 Apr 15 20:08 slideconf.php
-rw-r--r--  1 root root  6429 Jan  9 19:08 slides.php
-rw-r--r--  1 root root  5413 Jan  7 21:38 srv_status.php
drwxr-xr-x  2 root root  4096 Apr 19 19:14 styles
-rw-r--r--  1 root root  9624 Mar 15 22:37 sysmap.php
-rw-r--r--  1 root root 16791 Apr 15 20:08 sysmaps.php
-rw-r--r--  1 root root 29323 Apr 15 20:08 templates.php
-rw-r--r--  1 root root  6671 Feb 14 02:44 toptriggers.php
-rw-r--r--  1 root root  5579 Mar  6 00:08 tr_events.php
-rw-r--r--  1 root root 24970 Apr 16 21:36 trigger_prototypes.php
-rw-r--r--  1 root root 36506 Apr 15 20:08 triggers.php
-rw-r--r--  1 root root 15537 Apr 15 20:08 usergrps.php
-rw-r--r--  1 root root 13245 Apr 15 20:08 users.php
-rw-r--r--  1 root root   841 Jan  7 21:38 zabbix.php
[[email protected] zabbix]# cat zabbix.php
<?php
/*
** Zabbix
** Copyright (C) 2001-2019 Zabbix SIA
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
**/

require_once dirname(__FILE__).'/include/config.inc.php';
  1. 修改/usr/share/zabbix/include/config.inc.php文件,加上date_default_timezone_set('Asia/Shanghai');来设置时区:
[[email protected] zabbix]# vi include/config.inc.php

<?php
/*
** Zabbix
** Copyright (C) 2001-2019 Zabbix SIA
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
**/
date_default_timezone_set('Asia/Shanghai');

// reset the LC_CTYPE locale so that case transformation functions would work correctly
// it is also required for PHP to work with the Turkish locale (https://bugs.php.net/bug.php?id=18556)
// WARNING: this must be done before executing any other code, otherwise code execution could fail!
// this will be unnecessary in PHP 5.5
......
  1. 不需要重启,刷新下页面就能看到时间已经正常了。上面的apache容器也可以这样改。

    其实nginx容器和apache容器只需要一个就行了,可以修改docker-compose_v3_centos_mysql_latest.yaml文件,只保留一个。