docker无脑部署zabbix6.0+agent


前言

随着监控的不断发展,zabbix这门技术也越来越重要,很多人都开启了zabbix学习,本文就介绍了zabbix安装的基础内容。


一、安装docker-compose

下载二进制文件

cd /usr/src/
wget https://github.com/docker/compose/releases/download/1.24.0/docker-compose-Linux-x86_64

移动文件到/usr/local/bin下

mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

赋予可执行权限

chmod +x /usr/local/bin/docker-compose

创建软链接

ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试

docker-compose --version

二、部署Zabbix Server 6.0+agent

1.创建父目录

mkdir /zabbix-server
cd /root
cd /zabbix-server
mkdir -p ./mysql/data
#映射数据库数据目录
mkdir -p ./mysql/conf
#映射数据库配置文件
mkdir -p ./mysql/logs
#映射数据库日志文件
mkdir -p ./font
mkdir -p ./snmptraps
mkdir -p ./mibs
mkdir -p ./alertscripts
mkdir -p ./externalscripts

2.拉取镜像

docker pull mysql:8.0
docker pull zabbix/zabbix-java-gateway:6.0-centos-latest
docker pull zabbix/zabbix-snmptraps:6.0-centos-latest
docker pull zabbix/zabbix-server-mysql:6.0-centos-latest
docker pull zabbix/zabbix-web-nginx-mysql:6.0-centos-latest
docker pull zabbix/zabbix-agent:centos-6.0-latest

3.编辑docker-compose.yml文件

vim /zabbix-server/docker-compose.yml

编辑以下内容

##author:yanpu
version: '3'
services:
  mysql:
    image: mysql:8.0
    container_name: mysql
    volumes:
      - ./mysql/data:/var/lib/mysql
      - ./mysql/conf:/etc/mysql/conf.d
      - ./mysql/logs:/var/log/mysql
      - /etc/localtime:/etc/localtime
    restart: always
    privileged: true
    environment:
      - MYSQL_ROOT_PASSWORD=myrootpass
      - MYSQL_DATABASE=zabbix
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=mypass
      - TZ=Asia/Shanghai
      - LANG=en_US.UTF-8
    expose:
      - "3306"
    networks:
      zabbix-net:
    command: --character-set-server=utf8 --collation-server=utf8_bin
  zabbix-gateway:
    image: zabbix/zabbix-java-gateway:6.0-centos-latest
    container_name: zabbix-gateway
    volumes:
      - /etc/localtime:/etc/localtime
    restart: always
    privileged: true
    ports:
      - "10052:10052"
    networks:
      zabbix-net:
 
  zabbix6-agent:
    image: zabbix/zabbix-agent:centos-6.0-latest
    container_name: zabbix6-agent
    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
    restart: always
    privileged: true
    environment:
      - ZBX_HOSTNAME=Zabbix server
      - ZBX_SERVER_HOST=zabbix-server
      - ZBX_SERVER_PORT=10051
    ports:
      - "10050:10050"
    networks:
      zabbix-net:
  zabbix-snmptraps:
    image: zabbix/zabbix-snmptraps:6.0-centos-latest
    container_name: zabbix-snmptraps
    volumes:
      - /etc/localtime:/etc/localtime
      - ./snmptraps:/var/lib/zabbix/snmptraps
      - ./mibs:/var/lib/zabbix/mibs
    restart: always
    privileged: true
    ports:
      - "1162:1162/udp"
    networks:
      zabbix-net:
  zabbix-server:
    image: zabbix/zabbix-server-mysql:6.0-centos-latest
    container_name: zabbix-server
    volumes:
      - /etc/localtime:/etc/localtime
      - ./snmptraps:/var/lib/zabbix/snmptraps
      - ./mibs:/var/lib/zabbix/mibs
      - ./alertscripts:/usr/lib/zabbix/alertscripts
      - ./externalscripts:/usr/lib/zabbix/externalscripts
    restart: always
    privileged: true
    environment:
      - ZBX_LISTENPORT=10051
      - DB_SERVER_HOST=mysql
      - DB_SERVER_PORT=3306
      - MYSQL_DATABASE=zabbix
      - MYSQL_USERx-server=zabbix
      - MYSQL_PASSWORD=mypass
      - MYSQL_ROOT_PASSWORD=myrootpass
      - ZBX_CACHESIZE=1G
      - ZBX_HISTORYCACHESIZE=512M
      - ZBX_HISTORYINDEXCACHESIZE=16M
      - ZBX_TRENDCACHESIZE=256M
      - ZBX_VALUECACHESIZE=256M
      - ZBX_STARTPINGERS=64
      - ZBX_IPMIPOLLERS=1
      - ZBX_ENABLE_SNMP_TRAPS=true
      - ZBX_STARTTRAPPERS=1
      - ZBX_JAVAGATEWAY_ENABLE=true
      - ZBX_JAVAGATEWAY=zabbix-gateway
      - ZBX_STARTJAVAPOLLERS=1
    ports:
      - "10051:10051"
    networks:
      zabbix-net:
    links:
      - mysql
      - zabbix-gateway
  zabbix-web:
    image: zabbix/zabbix-web-nginx-mysql:6.0-centos-latest
    container_name: zabbix-web
    volumes:
      - ./font/simfang.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf
      - /etc/localtime:/etc/localtime
    restart: always
    privileged: true
    environment:
      - ZBX_SERVER_NAME=Zabbix 6.0
      - ZBX_SERVER_HOST=zabbix-server
      - ZBX_SERVER_PORT=10051
      - DB_SERVER_HOST=mysql
      - DB_SERVER_PORT=3306
      - MYSQL_DATABASE=zabbix
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=mypass
      - MYSQL_ROOT_PASSWORD=myrootpass
      - PHP_TZ=Asia/Shanghai
    ports:
      - "80:8080"
    networks:
      zabbix-net:
    links:
      - mysql
      - zabbix-server
networks:
  zabbix-net:
    driver: bridge
    ipam:
      config:
        - subnet: 10.10.10.0/24
        #  gateway: 10.10.10.1
 

启动Zabbix Server容器

cd /zabbix-server/
docker-compose up -d

二、浏览器访问Zabbix

1.url栏输入http://ip/

初始账号 Admin  ##注意A是大写
密码 zabbix

2.修改主机配置

在这里插入图片描述

在这里插入图片描述
需要稍等一会就会变成绿色
在这里插入图片描述


总结

以上就是今天要讲的内容,本文仅仅简单介绍了zabbix的安装,创作不易,请大家给一个赞以示鼓励

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供关于使用 Docker Service 部署 ZabbixZabbix-Agent 的一些指导。 首先,您需要编写一个 Docker Compose 文件,该文件描述了您要部署的服务以及它们之间的依赖关系。这是一个示例 Docker Compose 文件: ``` version: '3' services: zabbix-server: image: zabbix/zabbix-server-mysql:latest ports: - "10051:10051" volumes: - ./zabbix-server/data:/var/lib/mysql environment: - DB_SERVER_HOST=db - MYSQL_USER=zabbix - MYSQL_PASSWORD=zabbix - MYSQL_ROOT_PASSWORD=zabbix - MYSQL_DATABASE=zabbix networks: - zabbix-network zabbix-web: image: zabbix/zabbix-web-nginx-mysql:latest ports: - "80:80" environment: - DB_SERVER_HOST=db - MYSQL_USER=zabbix - MYSQL_PASSWORD=zabbix - MYSQL_ROOT_PASSWORD=zabbix - MYSQL_DATABASE=zabbix depends_on: - zabbix-server networks: - zabbix-network zabbix-agent: image: zabbix/zabbix-agent:latest environment: - ZBX_HOSTNAME=my-hostname - ZBX_SERVER_HOST=zabbix-server networks: - zabbix-network db: image: mysql:5.7 volumes: - ./db/data:/var/lib/mysql environment: - MYSQL_USER=zabbix - MYSQL_PASSWORD=zabbix - MYSQL_ROOT_PASSWORD=zabbix - MYSQL_DATABASE=zabbix networks: - zabbix-network networks: zabbix-network: ``` 在这个 Docker Compose 文件中,您定义了四个服务:zabbix-server、zabbix-web、zabbix-agent 和 db。其中,zabbix-server 和 zabbix-web 是 Zabbix 服务器和 Web 界面,zabbix-agentZabbix 客户端,db 是 MySQL 数据库。 接下来,您可以使用以下命令在 Docker Swarm 集群中部署这个 Compose 文件: ``` docker stack deploy --compose-file docker-compose.yml zabbix ``` 这个命令将创建一个名为 zabbix 的服务堆栈,并在您的 Swarm 集群中部署这些服务。您可以使用以下命令检查服务的状态: ``` docker service ls ``` 这个命令将返回一个服务列表,其中包括您刚刚部署Zabbix 服务。您可以使用以下命令查看服务的日志: ``` docker service logs zabbix_zabbix-server docker service logs zabbix_zabbix-web docker service logs zabbix_zabbix-agent docker service logs zabbix_db ``` 这些命令将分别显示 zabbix-server、zabbix-web、zabbix-agent 和 db 服务的日志。 最后,您可以使用以下命令删除服务堆栈: ``` docker stack rm zabbix ``` 这个命令将删除 zabbix 服务堆栈中的所有服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值