色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

基于docker安裝zabbix的詳細教程

瀏覽:220日期:2023-04-06 15:09:25
目錄
  • 基于docker安裝zabbix
  • 1、zabbix配置
  • 2、存儲配置
    • 格式化磁盤
    • 創建pv
    • 創建vg
    • 創建lv
    • 創建文件系統
    • 創建掛載目錄
    • 掛載分區
    • 寫入啟動項
  • 3、安裝docker
    • 4、修改docker存儲路徑
      • 5、創建專用于 Zabbix 組件容器的網絡:
        • 6、創建mysql庫
          • [廢棄]6、docker安裝mysql
          • 拉取mysql鏡像
          • 創建mysql容器
          • 添加防火墻端口
        • 7、安裝zabbix-java-gateway
          • 8、安裝zabbix-server
            • 安裝zabbix-server(基于Alphine)
            • 配置企業微信腳本
            • 安裝python環境
            • 添加防火墻端口
          • 9、安裝zabbix-web-nginx-mysql 創建容器
            • 添加防火墻端口
            • 訪問zabbix服務
          • 10、安裝zabbix-agent(yum安裝)
            • a. 安裝Zabbix資源庫
            • b. 安裝 Zabbix agent
            • c. 啟動 Zabbix agent
            • d.root用戶啟動
            • e.配置防火墻

          基于docker安裝zabbix

          1、zabbix配置

          用途ip賬戶zabbix服務端192.168.1.1賬戶:Admin 密碼:zabbixzabbix-mysql數據庫192.168.1.2數據庫:zabbix,用戶:zabbix 密碼:123456

          2、存儲配置

          存儲規劃

          docker鏡像文件默認存儲路徑:/var/lib/docker
          為避免系統磁盤空間不足影響docker服務正常運行,需要調整docker默認存儲路徑。

          通用存儲建議:
          1、目錄/data:用于存儲數據文件;
          2、目錄/app:用于存儲應用文件;
          3、數據盤建議使用卷管理模式,便于后期擴容

          綜上,對應zabbix服務安裝,建議:
          1、目錄/data/docker用于存儲docker文件;
          1、目錄/data/zabbix用于存儲zabbix相關配置文件;

          格式化磁盤

          [root@s01 ~]# fdisk -l
          
          Disk /dev/vda: 64.4 GB, 64424509440 bytes, 125829120 sectors
          Units = sectors of 1 * 512 = 512 bytes
          Sector size (logical/physical): 512 bytes / 512 bytes
          I/O size (minimum/optimal): 512 bytes / 512 bytes
          Disk label type: dos
          Disk identifier: 0x0001598a
          
             Device Boot      Start End      Blocks   Id  System
          /dev/vda1    2048     8390655     4194304   82  Linux swap / Solaris
          /dev/vda2   *     8390656   125829086    58719215+  83  Linux
          
          Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
          Units = sectors of 1 * 512 = 512 bytes
          Sector size (logical/physical): 512 bytes / 512 bytes
          I/O size (minimum/optimal): 512 bytes / 512 bytes
          
          [root@s01 ~]# lsblk
          NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
          vda    253:0    0   60G  0 disk
          ├─vda1 253:1    0    4G  0 part [SWAP]
          └─vda2 253:2    0   56G  0 part /
          vdb    253:16   0  100G  0 disk
          [root@s01 ~]# fdisk /dev/vdb
          Welcome to fdisk (util-linux 2.23.2).
          
          Changes will remain in memory only, until you decide to write them.
          Be careful before using the write command.
          
          Device does not contain a recognized partition table
          Building a new DOS disklabel with disk identifier 0x4dee972c.
          
          Command (m for help): n
          Partition type:
             p   primary (0 primary, 0 extended, 4 free)
             e   extended
          Select (default p):
          Using default response p
          Partition number (1-4, default 1):
          First sector (2048-209715199, default 2048):
          Using default value 2048
          Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):
          Using default value 209715199
          Partition 1 of type Linux and of size 100 GiB is set
          
          Command (m for help): p
          
          Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
          Units = sectors of 1 * 512 = 512 bytes
          Sector size (logical/physical): 512 bytes / 512 bytes
          I/O size (minimum/optimal): 512 bytes / 512 bytes
          Disk label type: dos
          Disk identifier: 0x4dee972c
          
             Device Boot      Start End      Blocks   Id  System
          /dev/vdb1    2048   209715199   104856576   83  Linux
          
          Command (m for help): w
          The partition table has been altered!
          
          Calling ioctl() to re-read partition table.
          Syncing disks.
          [root@s01 ~]# lsblk
          NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
          vda    253:0    0   60G  0 disk
          ├─vda1 253:1    0    4G  0 part [SWAP]
          └─vda2 253:2    0   56G  0 part /
          vdb    253:16   0  100G  0 disk
          └─vdb1 253:17   0  100G  0 part

          創建pv

          [root@s01 ~]# pvcreate /dev/vdb1
            Physical volume "/dev/vdb1" successfully created.
          [root@s01 ~]# pvs
            PV VG Fmt  Attr PSize    PFree
            /dev/vdb1     lvm2 ---  <100.00g <100.00g

          創建vg

          [root@s01 ~]# vgcreate vg0 /dev/vdb1
            Volume group "vg0" successfully created
          [root@s01 ~]# vgs
            VG  #PV #LV #SN Attr   VSize    VFree
            vg0   1   0   0 wz--n- <100.00g <100.00g
          

          創建lv

          [root@s01 ~]# lvcreate -l 100%VG -n lv_1 vg0
            Logical volume "lv_1" created.
          [root@s01 ~]# lvs
            LV   VG  Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
            lv_1 vg0 -wi-a----- <100.00g
          

          創建文件系統

          [root@s01 ~]# mkfs.xfs /dev/vg0/lv_1
          meta-data=/dev/vg0/lv_1  isize=512    agcount=4, agsize=6553344 blks
           =       sectsz=512   attr=2, projid32bit=1
           =       crc=1finobt=0, sparse=0
          data     =       bsize=4096   blocks=26213376, imaxpct=25
           =       sunit=0      swidth=0 blks
          naming   =version 2      bsize=4096   ascii-ci=0 ftype=1
          log      =internal log   bsize=4096   blocks=12799, version=2
           =       sectsz=512   sunit=0 blks, lazy-count=1
          realtime =none   extsz=4096   blocks=0, rtextents=0
          

          創建掛載目錄

          [root@s01 ~]# mkdir /data
          

          掛載分區

          [root@s01 ~]# mount /dev/vg0/lv_1 /data
          
          [root@s01 ~]# df -Th
          Filesystem   Type      Size  Used Avail Use% Mounted on
          devtmpfs     devtmpfs  7.8G     0  7.8G   0% /dev
          tmpfstmpfs     7.8G     0  7.8G   0% /dev/shm
          tmpfstmpfs     7.8G  8.7M  7.8G   1% /run
          tmpfstmpfs     7.8G     0  7.8G   0% /sys/fs/cgroup
          /dev/vda2    ext3       55G  2.7G   50G   6% /
          /dev/mapper/vg0-lv_1 xfs       100G   33M  100G   1% /data
          tmpfstmpfs     1.6G     0  1.6G   0% /run/user/0
          

          寫入啟動項

          # vi /etc/fstab
          # 新增內容:
          /dev/vg0/lv_1  /data xfs    defaults1 2
          

          3、安裝docker

          # 查看操作系統版本
          $ cat /etc/redhat-release
          CentOS Linux release 7.2.1511 (Core)
          # 安裝docker
          $ yum install -y docker
          # 查看docker版本
          $ docker -v
          Docker version 1.13.1, build 7d71120/1.13.1
          

          4、修改docker存儲路徑

          docker默認存儲路徑:/var/lib/docker
          新存儲路徑:/data/docker

          $ docker -v
          Docker version 1.13.1, build 7d71120/1.13.1
          
          # 停止docker
          $ systemctl stop docker
          # 設置docker新存儲路徑
          $ mv /var/lib/docker /data/docker
          
          # 修改docker路徑
          $ vim /etc/docker/daemon.json
          {
              "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
              "graph": "/data/docker"
          }
          # 啟動docker
          $ systemctl start docker
          
          # 查看docker進程信息
          $ docker info
          

          5、創建專用于 Zabbix 組件容器的網絡:

          # 1.bridge模式
          docker默認網絡模式。此模式將容器連接到一個docker0虛擬網橋,通過docker0網橋以及Iptables nat表配置與宿主機通信。開啟的容器會自動分配和IP在一個網段的ip地址,并且開啟的容器的ip以IP為基礎遞增關閉容器之后,ip會自動釋放。bridge模式只有宿主機才能與運行在其上面的容器進行通信。
          # 2.host模式
          容器將不會虛擬出自己的網卡,配置自己的IP等,而是直接與宿主機的共享P和端口。
          如果啟動容器的時候使用host模式,那么這個容器將不會獲得一個獨立的Network Namespace,而是和宿主機共用一個Network Namespace。容器將不會虛擬出自己的網卡,配置自己的IP等,而是使用宿主機的IP和端口。但是,容器的其他方面,如文件系統、進程列表等還是和宿主機隔離的。
          使用host模式的容器可以直接使用宿主機的IP地址與外界通信,容器內部的服務端口也可以使用宿主機的端口,不需要進行NAT,host最大的優勢就是網絡性能比較好,但是docker host上已經使用的端口就不能再用了,網絡的隔離性不好,網絡的安全性變差。
          # 3.none模式
          該模式關閉了容器的網絡功能。
          使用none模式,Docker容器擁有自己的Network Namespace,但是,并不為Docker容器進行任何網絡配置。也就是說,這個Docker容器沒有網卡、IP、路由等信息。需要我們自己為Docker容器添加網卡、配置IP等。
          這種網絡模式下容器只有lo回環網絡,沒有其他網卡。none模式可以在容器創建時通過–network=none來指定。這種類型的網絡沒有辦法聯網,封閉的網絡能很好的保證容器的安全性。
          
          # 創建專用于 Zabbix 組件容器的網絡
          $ docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
          
          # 查看的docker network
          $ docker network ls
          NETWORK ID  NAMEDRIVER      SCOPE
          14c25119dd06bridge      bridge      local
          4e2782140647hosthostlocal
          b25888b8c26anonenulllocal
          cfc3bf2124afzabbix-net  bridge      local
          
          # 查看新增的網絡
          $ ip a
          5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
              link/ether 02:42:31:ce:6a:ce brd ff:ff:ff:ff:ff:ff
              inet 172.17.0.1/16 scope global docker0
                 valid_lft forever preferred_lft forever
          
          6: br-cfc3bf2124af: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
              link/ether 02:42:cd:35:b7:4c brd ff:ff:ff:ff:ff:ff
              inet 172.20.240.0/16 scope global br-cfc3bf2124af
                 valid_lft forever preferred_lft forever

          6、創建mysql庫

          如果生產環境已有mysql實例,僅需創建數據庫。

          $ mysql -uroot -p -h 192.168.1.2
          password  root_pwd
          mysql> create database zabbix character set utf8 collate utf8_bin;
          mysql> create user [email protected] identified by "123456";
          mysql> grant all privileges on zabbix.* to [email protected];
          mysql> quit;
          

          [廢棄]6、docker安裝mysql

          建議使用平臺提供mysql實例。

          拉取mysql鏡像

          $ docker pull mysql

          創建mysql容器

          # -----------------------------------------------
          # 創建mysql服務器實例
          # 注意:此命令用于創建mysql容器實例后提取配置文件,如果已有配置文件,可直接進入下一步:
          $ docker run --name mysql-server -t \
          -e MYSQL_DATABASE="zabbix" \
          -e MYSQL_USER="zabbix" \
          -e MYSQL_PASSWORD="123456" \
          -e MYSQL_ROOT_PASSWORD="root_pwd" \
          -e TZ=Asia/Shanghai \
          --network=zabbix-net \
          --ip=172.20.240.1 \
          -p 3306:3306 \
          -d mysql:latest \
          --character-set-server=utf8 --collation-server=utf8_bin \
          --default-authentication-plugin=mysql_native_password
          
          # -----------------------------------------------
          # 創建mysql配置與數據存儲路徑
          $ mkdir -p /app/mysql/conf
          $ mkdir -p /app/mysql/data
          # 拷貝已有mysql配置文件到宿主機目錄
          $ docker cp mysql-server:/etc/mysql/ /app/mysql/conf/
          
          # 使用新路徑創建mysql-server
          $ docker run --name mysql-server -t \
          -e MYSQL_DATABASE="zabbix" \
          -e MYSQL_USER="zabbix" \
          -e MYSQL_PASSWORD="123456" \
          -e MYSQL_ROOT_PASSWORD="root_pwd" \
          -e TZ=Asia/Shanghai \
          -v /app/mysql/conf:/etc/mysql \
          -v /app/mysql/data:/var/lib/mysql \
          --network=zabbix-net \
          --ip=172.20.240.1 \
          -p 3306:3306 \
          -d mysql:latest \
          --character-set-server=utf8 --collation-server=utf8_bin \
          --default-authentication-plugin=mysql_native_password
          
          # 關于mysql容器重啟策略
          問題描述:
          如果創建mysql容器時指定--restart參數,則無法啟動容器
          --restart unless-stopped \
          解決辦法:
          需要創建后,手工更新容器重啟策略:
          $ docker update --restart=unless-stopped mysql-server
          
          # 查看啟動日志
          $ docker logs mysql-server
          2022-04-15 05:43:59+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.28-1debian10 started.
          2022-04-15 05:43:59+00:00 [Note] [Entrypoint]: Switching to dedicated user "mysql"
          2022-04-15 05:43:59+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.28-1debian10 started.
          2022-04-15T05:44:00.942337Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.28) starting as process 1
          
          # 查看進程
          $ docker ps
          CONTAINER IDIMAGE       COMMAND  CREATED     STATUS      PORTS       NAMES
          28c91f44958amysql:latest"docker-entrypoint..."   22 hours agoUp 5 minutes0.0.0.0:3306->3306/tcp, 33060/tcp   mysql-server
          
          # 連接mysql
          $ docker exec -it mysql-server /bin/bash
          root@28c91f44958a:/# whereis mysql
          mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql
          root@28c91f44958a:/# mysql -u root -p
          Enter password:
          Welcome to the MySQL monitor.  Commands end with ; or \g.
          Your MySQL connection id is 8
          Server version: 8.0.28 MySQL Community Server - GPL
          
          Copyright (c) 2000, 2022, Oracle and/or its affiliates.
          
          Oracle is a registered trademark of Oracle Corporation and/or its
          affiliates. Other names may be trademarks of their respective
          owners.
          
          Type "help;" or "\h" for help. Type "\c" to clear the current input statement.
          
          mysql> show databases;
          +--------------------+
          | Database   |
          +--------------------+
          | information_schema |
          | mysql      |
          | performance_schema |
          | sys|
          +--------------------+
          4 rows in set (0.01 sec)
          

          添加防火墻端口

          firewall-cmd --zone=public --add-port=3306/tcp --permanent
          firewall-cmd --reload
          firewall-cmd --zone=public --list-ports
          

          7、安裝zabbix-java-gateway

          Zabbix Java gateway 的守護進程是用 Java 編寫。為了在特定主機上找到 JMX 計數器的值,Zabbix server 向 Zabbix Java gateway 發送請求,后者使用 JMX 管理 API 來遠程查詢相關的應用。該應用不需要安裝額外的軟件。只需要在啟動時,命令行添加-Dcom.sun.management.jmxremote選項即可。

          # 運行zabbix-java-gateway
          $ docker run --name zabbix-java-gateway -t \
          -e TZ=Asia/Shanghai \
          --network=zabbix-net \
          --ip=172.20.240.2 \
          --restart unless-stopped \
          -d zabbix/zabbix-java-gateway:latest
          
          # 查看進程
          $ docker ps
          CONTAINER IDIMAGE       COMMAND  CREATED     STATUS      PORTS       NAMES
          85a594ad32d9zabbix/zabbix-java-gateway:latest   "docker-entrypoint..."   9 seconds ago       Up 9 seconds10052/tcp   zabbix-java-gateway
          
          # 查看日志
          $ docker logs zabbix-java-gateway
          ** Preparing Zabbix Java Gateway
          ** Preparing Zabbix Java Gateway log configuration file
          Updating /etc/zabbix/zabbix_java_gateway_logback.xml "DebugLevel" parameter: "info"... updated
          2022-04-15 06:43:36.232 [main] INFO  com.zabbix.gateway.JavaGateway - Zabbix Java Gateway 6.0.3 (revision 506e2b5) has started
          2022-04-15 06:43:36.247 [main] INFO  com.zabbix.gateway.JavaGateway - listening on 0.0.0.0/0.0.0.0:10052
          

          8、安裝zabbix-server

          安裝zabbix-server(基于Alphine)

          # ------------------------------------------------
          # 安裝zabbix-server(latest版本基于Alphine Linux)
          $ docker run --name zabbix-server-mysql -t \
          -e DB_SERVER_HOST="192.168.1.2" \
          -e MYSQL_DATABASE="zabbix" \
          -e MYSQL_USER="zabbix" \
          -e MYSQL_PASSWORD="123456" \
          -e MYSQL_ROOT_PASSWORD="root_pwd" \
          -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
          -e TZ=Asia/Shanghai \
          --network=zabbix-net \
          --ip=172.20.240.3 \
          -p 10051:10051 \
          --restart unless-stopped \
          -d zabbix/zabbix-server-mysql:latest
          
          # 不需要的參數
          # --link mysql-server:mysql \
          # --link zabbix-java-gateway \
          
          # ------------------------------------------------
          # 使用外部存儲目錄
          # 創建zabbix-server配置目錄
          $ mkdir -p /data/zabbix/conf
          $ mkdir -p /data/zabbix/alertscripts
          # 拷貝zabbix配置文件
          $ docker cp zabbix-server-mysql:/etc/zabbix/zabbix_server.conf /data/zabbix/conf
          $ ll /data/zabbix/conf
          total 28
          -rw-rw-r-- 1 root root 24804 May 30 15:14 zabbix_server.conf
          
          # 移除容器
          $ docker stop zabbix-server-mysql
          $ docker rm zabbix-server-mysql
          # 重新創建容器
          $ docker run --name zabbix-server-mysql -t \
          -e DB_SERVER_HOST="192.168.1.2" \
          -e MYSQL_DATABASE="zabbix" \
          -e MYSQL_USER="zabbix" \
          -e MYSQL_PASSWORD="123456" \
          -e MYSQL_ROOT_PASSWORD="root_pwd" \
          -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
          -e TZ=Asia/Shanghai \
          -v /data/zabbix/conf/zabbix_server.conf:/etc/zabbix/zabbix_server.conf \
          -v /data/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
          --network=zabbix-net \
          --ip=172.20.240.3 \
          -p 10051:10051 \
          --restart unless-stopped \
          -d zabbix/zabbix-server-mysql:latest
          
          # 查看日志,此版本是:5.4.9
          $ docker logs zabbix-server-mysql
          Starting Zabbix Server. Zabbix 5.4.9 (revision d81e506).
          

          配置企業微信腳本

          # 將企業微信發送腳本:pyweixin.py,存儲到目錄:alertscripts
          $ cd /data/zabbix/alertscripts
          $ vim pyweixin.py
          $ chmod +x pyweixin.py
          
          # 修改python3地址
          # 微信腳本默認的python3地址為與實際不符:
          #!/usr/local/python3/bin/python3.5
          # 需要修改為以下地址:
          #!/usr/bin/python3
          

          安裝python環境

          發送企業微信需要python環境支持。

          # 使用root用戶進入容器安裝python
          $ docker exec --privileged -u root -it zabbix-server-mysql /bin/bash
          $ cat /etc/issue
          Welcome to Alpine Linux 3.14
          Kernel \r on an \m (\l)
          
          # 修改Alpine鏡像源
          $ sed -i s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g /etc/apk/repositories
          # 安裝python
          $ apk add --update --no-cache curl jq py3-configobj py3-pip py3-setuptools python3 python3-dev
          # 驗證python3版本
          $ python3 -V
          Python 3.9.5
          

          添加防火墻端口

          # 開啟防火墻
          $ systemctl enable firewalld
          $ systemctl start firewalld
          
          # 添加防火墻端口
          firewall-cmd --zone=public --add-port=10051/tcp --permanent
          firewall-cmd --reload
          firewall-cmd --zone=public --list-ports
          

          9、安裝zabbix-web-nginx-mysql 創建容器

          # 創建容器
          $ docker run --name zabbix-web-nginx-mysql -t \
          -e ZBX_SERVER_HOST="zabbix-server-mysql" \
          -e DB_SERVER_HOST="192.168.1.2" \
          -e MYSQL_DATABASE="zabbix" \
          -e MYSQL_USER="zabbix" \
          -e MYSQL_PASSWORD="123456" \
          -e MYSQL_ROOT_PASSWORD="root_pwd" \
          -e PHP_TZ=Asia/Shanghai \
          -e TZ=Asia/Shanghai \
          --network=zabbix-net \
          --ip=172.20.240.4 \
          -p 80:8080 \
          --restart unless-stopped \
          -d zabbix/zabbix-web-nginx-mysql:latest
          
          # 取消以下參數
          # --link mysql-server:mysql \
          # --link zabbix-server-mysql:zabbix-server \
          
          # 查看日志
          $ docker logs zabbix-web-nginx-mysql
          ** Deploying Zabbix web-interface (Nginx) with MySQL database
          ** Using MYSQL_USER variable from ENV
          ** Using MYSQL_PASSWORD variable from ENV
          ********************
          * DB_SERVER_HOST: mysql-server
          * DB_SERVER_PORT: 3306
          * DB_SERVER_DBNAME: zabbix
          ********************
          ** Adding Zabbix virtual host (HTTP)
          **** Impossible to enable SSL support for Nginx. Certificates are missed.
          ** Preparing Zabbix frontend configuration file
          
          # 進程列表
          $ docker ps
          CONTAINER IDIMAGE  COMMAND  CREATED     STATUS      PORTS       NAMES
          a707c1ff30c9zabbix/zabbix-web-nginx-mysql:latest   "docker-entrypoint.sh"   6 minutes ago       Up 6 minutes8443/tcp, 0.0.0.0:80->8080/tcp      zabbix-web-nginx-mysql
          27f3c4948691zabbix/zabbix-server-mysql:latest      "/sbin/tini -- /us..."   24 hours agoUp About an hour    0.0.0.0:10051->10051/tcp    zabbix-server-mysql
          fa0a386f2459zabbix/zabbix-java-gateway:latest      "docker-entrypoint..."   25 hours agoUp About an hour    10052/tcp   zabbix-java-gateway
          

          添加防火墻端口

          firewall-cmd --zone=public --add-port=80/tcp --permanent
          firewall-cmd --reload
          firewall-cmd --zone=public --list-ports
          

          訪問zabbix服務

          # 經過上述配置后,Zabbix 前端已準備就緒! 默認用戶名是Admin,密碼zabbix。
          http://192.168.1.1
          # 訪問zabbix-web服務時,發現監控首頁提示錯誤:
          Zabbix agent is not available (for 3m)
          需要安裝zabbix-agent,并配置zabbix-agent的ip,詳見下面小結:

          10、安裝zabbix-agent(yum安裝)

          由于zabbix-agent用于監控服務器狀態,建議直接安裝在服務器上,不要使用docker安裝。

          a. 安裝Zabbix資源庫

          $ rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/7/x86_64/zabbix-release-5.4-1.el7.noarch.rpm
          $ yum clean all
          

          b. 安裝 Zabbix agent

          $ yum install -y zabbix-agent
          
          # 配置agent,設置服務端地址
          $ vim /etc/zabbix/zabbix_agentd.conf
          # 如果在zabbix-server上安裝agent,需要配置zabbix-server的docker地址:
          Server=172.20.240.3
          ServerActive=172.20.240.3
          # 如果在被監控服務器上安裝agent,需要配置zabbix-server的宿主機地址:
          Server=192.168.1.1
          ServerActive=192.168.1.1
          
          # 注釋掉Hostname配置,讓agent自動解析
          # Hostname=****
          # 如果操作系統不允許創建zabbix用戶,需要使用root運行agent,修改配置:
          AllowRoot=1
          

          c. 啟動 Zabbix agent

          設置開機zabbix-agent開機啟動

          $ systemctl enable zabbix-agent
          $ systemctl restart zabbix-agent
          $ systemctl status zabbix-agent
          

          d.root用戶啟動

          啟動agent服務時,提示以下錯誤:

          # 問題描述:
          Failed at step USER spawning /usr/sbin/zabbix_agentd: No such process
          zabbix-agent.service: control process exited, code=exited status=217
          Failed to start Zabbix Agent.
          Unit zabbix-agent.service entered failed state.

          # 問題分析
          此問題主要是因為操作系統限制不允許創建用戶導致的,需要使用root賬戶啟動服務。

          # 解決辦法
          修改啟動用戶:
          vim /usr/lib/systemd/system/zabbix-agent.service
          修改默認用戶zabbix為root,
          修改前:
          User=zabbix
          Group=zabbix
          修改后:
          User=root
          Group=root

          # 然后重載服務配置,并啟動服務
          systemctl daemon-reload
          systemctl start zabbix-agent.service

          e.配置防火墻

          firewall-cmd --zone=public --add-port=10050/tcp --permanent
          firewall-cmd --reload
          firewall-cmd --zone=public --list-ports

          到此這篇關于基于docker安裝zabbix的文章就介紹到這了,更多相關docker安裝zabbix內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

          標簽: Zabbix
          主站蜘蛛池模板: 欧美高清视频手机在在线 | 久久福利青草免费精品 | 国产精品成久久久久三级 | 中国国产一级毛片 | 三级毛片在线免费观看 | www.xxx.国产| 手机看片福利在线 | 日韩精品毛片 | 国产在线爱做人成小视频 | 91精品久久久久久久久网影视 | 又摸又揉又黄又爽的视频 | 精品无码久久久久国产 | 欧美精品做人一级爱免费 | 久久在线观看免费视频 | 97免费在线观看视频 | 国产成人香蕉在线视频网站 | 亚洲欧美在线综合一区二区三区 | 亚洲精品99久久久久中文字幕 | 日本理论在线 | 国产精品日本欧美一区二区 | 欧美精品国产一区二区三区 | 亚洲美女在线观看亚洲美女 | 欧美一欧美一级毛片 | 孩交啪啪网址 | 亚欧视频在线观看 | 看全色黄大色黄大片女图片 | 日本三级免费网站 | 97国内免费久久久久久久久久 | 国产一区二区三区在线视频 | 国产亚洲在线 | 黄网在线观看免费 | 欧美日韩精品免费一区二区三区 | 久草免费在线播放 | 一区二区三区在线播放视频 | 欧美成人精品 | 国产精品日本一区二区在线播放 | 久久99视频 | 色青青草原桃花久久综合 | 亚洲成a人片在线观 | 国产福利一区二区在线精品 | 久久99国产乱子伦精品免费 |