精华内容
下载资源
问答
  • 下面咱们来看看如何在docker中搭建zabbix并且监控部署环境2台物理机机器:zabbix-server:192.168.254.13zabbix-agent:192.168.254.17docker版本:Server Version: 19.03.1zabbix版本:4.0docker的镜像网...

    我相信大家都已经会再物理机上跑zabbix并且监控了,那么有没有想过在docker中跑zabbix?下面咱们来看看如何在docker中搭建zabbix并且监控

    部署环境

    2台物理机机器:

    zabbix-server:192.168.254.13

    zabbix-agent:192.168.254.17

    docker版本:Server Version: 19.03.1

    zabbix版本:4.0

    docker的镜像网站(清华大学):https://mirrors.tuna.tsinghua.edu.cn/

    安装docker

    cd /etc/yum.repos.d/

    wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

    yum install docker-ce -y

    部署zabbix

    1.部署mysql数据库

    docker run --name mysql-server -t \

    -e MYSQL_DATABASE="zabbix" \

    -e MYSQL_USER="zabbix" \

    -e MYSQL_PASSWORD="zabbix" \

    -e MYSQL_ROOT_PASSWORD="root" \

    -v /mysql/data/:/var/lib/mysql -v /mysql/conf/:/etc/my.cnf.d/ \

    -d mariadb:10.2

    2.部署zabbix-server

    docker run --name zabbix-server-mysql -t \-e DB_SERVER_HOST="mysql-server"\-e MYSQL_DATABASE="zabbix"\-e MYSQL_USER="zabbix"\-e MYSQL_PASSWORD="zabbix"\-e MYSQL_ROOT_PASSWORD="root"\--link mysql-server:mysql \-p 10051:10051\-d zabbix/zabbix-server-mysql:latest

    3.部署apache web

    docker run --name zabbix-web-apache-mysql -t \-e DB_SERVER_HOST="mysql-server"\-e MYSQL_DATABASE="zabbix"\-e MYSQL_USER="zabbix"\-e MYSQL_PASSWORD="zabbix"\-e MYSQL_ROOT_PASSWORD="root"\--link mysql-server:mysql \--link zabbix-server-mysql:zabbix-server \-p 80:80\-d zabbix/zabbix-web-apache-mysql:latest

    4.打开浏览器

    用户名为Admin,密码为zabbix

    8c4dc78db550963b3d7d7c0f8dd853ba.png

    5.安装zabbix客户端agent

    docker run --name zabbix-agent \-e ZBX_HOSTNAME="self"\-e ZBX_SERVER_HOST="192.168.254.13"\-e ZBX_METADATA="client"\-p 10050:10050\-d zabbix/zabbix-agent:latest

    6.在zabbix server端开启自动注册规则

    d1e974f985db7ba99fae4205396880aa.png

    过一会我们就可以看到宿主机192.168.254.17上的容器已经被注册进来了

    ec00f20971b08221c6df466ae9103edf.png

    最后说明一下上面用到的命令和参数解释

    说明一下各个参数的意义:--name:代表容器的名字,或者标签-e:代表要执行的环境变量-p:代表映射的端口,:前面为宿主机,:后面代表容器的端口-d:代表后台运行-v:代表映射卷--character-set-server:字符集--collation-server:大小写是否敏感

    MYSQL_USER:代表zabbix用户名

    MYSQL_PASSWORD:代表zabbix的密码

    MYSQL_DATABASE:zabbix创建的数据库名字为zabbixMYSQL_ROOT_PASSWORD:代表数据库root密码,没有指定USER是因为默认就是root

    更多参数详情请参照以下网站:

    mariadb10.2参考手册:https://hub.docker.com/_/mariadb

    zabbix-server参考手册:https://hub.docker.com/r/zabbix/zabbix-server-mysql

    zabbix-web-apache-mysql参考手册:https://hub.docker.com/r/zabbix/zabbix-web-apache-mysql

    zabbix-agent参考手册:https://hub.docker.com/r/zabbix/zabbix-agent

    用docker-compose部署zabbix

    编辑docker-compose.yaml文件

    [root@master ~]# catdocker-compose.yaml

    version:'3.3'services:

    mysql-server:

    container_name: mariadb-server

    image: mariadb:10.2restart: always

    environment:

    MYSQL_DATABASE: zabbix

    MYSQL_USER: zabbix

    MYSQL_PASSWORD: zabbix

    MYSQL_ROOT_PASSWORD: root

    volumes:- /data/mysql/data/:/var/lib/mysql- /data/mysql/conf/:/etc/my.cnf.d/server.cnf

    zabbix-server:

    container_name: zabbix-server

    image: zabbix/zabbix-server-mysql

    restart: always

    environment:

    DB_SERVER_HOST:"mysql-server"MYSQL_DATABASE:"zabbix"MYSQL_USER:"zabbix"MYSQL_PASSWORD:"zabbix"MYSQL_ROOT_PASSWORD:"root"ports:- 10051:10051links:- mysql-server

    zabbix-web:

    container_name: zabbix-web

    image: zabbix/zabbix-web-apache-mysql

    restart: always

    depends_on:- mysql-server- zabbix-server

    environment:

    DB_SERVER_HOST:"mysql-server"MYSQL_DATABASE:"zabbix"MYSQL_USER:"zabbix"MYSQL_PASSWORD:"zabbix"MYSQL_ROOT_PASSWORD:"root"ports:- 80:80links:- mysql-server- zabbix-server

    用docker-compose执行创建容器

    #启动docker-compose.yaml文件中定义的容器,并且是后台运行

    [root@master~]# docker-compose up -d

    说明

    docker-compose命令的用法

    Commands:

    build Build or rebuild services

    bundle Generate a Docker bundle from the Composefileconfig Validate and view the Composefilecreate Create services

    down Stop and remove containers, networks, images, and volumes

    events Receive realtimeevents from containers

    exec Execute a commandina running container

    help Get help on a command

    images List imageskillKill containers

    logs View output from containers

    pause Pause services

    port Print the public portfora port bindingpsList containers

    pull Pull service images

    push Push service images

    restart Restart servicesrmRemove stopped containers

    run Run a one-off command

    scale Set number of containersfora service

    start Start services

    stop Stop services

    top Display the running processes

    unpause Unpause services

    up Create and start containers

    version Show the Docker-Compose version information

    build 构建或重建服务

    help 命令帮助

    pause 暂停服务

    exec 进入到一个docker容器的交互界面kill杀死容器

    logs 显示docker-compose.yaml文件中容器的输出内容ps显示启动的容器

    pull 拉取服务镜像

    restart 重启服务rm删除停止的容器

    run 运行容器

    scale 设置服务的容器数目

    start 开启服务

    stop 停止服务

    up 创建并启动容器config 测试docker-comose.yaml文件的语法是否ok

    docker-compose.yaml文件中的语法参数说明

    一个docker-compose.yaml文件大致分为:version,services,network

    version

    version可以是1,2,3这是大版本,还有小版本,比如1.0,2.2,3.3等,在定义yaml文件时必须制定version版本,每个版本的语法可能不太相同,可以参照文章下方给的官方文档了解详情

    service

    1.service中定义服务名称,service的下一级定义服务名称

    version: '3.3'services:

    服务名称:

    2.在服务名称下一级标签有container_name,image,restart,privileged,environment,volumes,ports,links等

    container_name:定义容器名称

    image:镜像名称

    restart

    restart:"no"#不重启

    restart: always #总是重启

    restart: on-failure #失败时才重启

    restart: unless-stopped #除非停止

    privileged:获取最高权限

    environment:设置系统环境变量

    KEY1:VALUE1

    KEY2:VALUE2

    volumes 映射容器卷-HOST_PATH:CONTAINER_PATH-HOST_PATH:CONTAINER_PATH

    ports: 映射容器端口-HOST_PORT: CONTAINER_PORT

    links: 连接容器-SERVICE_NAME

    depends_on:定义容器的先后顺序- zabbix-server- zabbix-web- mysql-server

    展开全文
  • 本次使用docker搭建zabbix的组合是mysql+docker+zabix-server1 先安装数据库mysqlsudo mkdir -p ~/zabbix/mysql/data ~/zabbix/mysql/logs ~/zabbix/mysql/confsudo cp -r my.cnf ~/zabbix/mysql/conf/ &...

    本次使用docker搭建zabbix的组合是mysql+docker+zabix-server

    1 先安装数据库mysql

    sudo mkdir -p ~/zabbix/mysql/data ~/zabbix/mysql/logs ~/zabbix/mysql/conf

    sudo cp -r my.cnf ~/zabbix/mysql/conf/ && cd ~/zabbix/mysql/

    sudo docker pull mysql:5.7

    sudo docker run --name zabbix-DB \

    -e MYSQL_ROOT_PASSWORD="000000" \

    -e MYSQL_USER="zabbix" \

    -e MYSQL_PASSWORD="111111" \

    -e MYSQL_DATABASE="zabbix" \

    -v ~/zabbix/mysql/conf/my.cnf:/etc/mysql/my.cnf \

    -v ~/zabbix/mysql/logs:/logs \

    -v ~/zabbix/mysql/data:/mysql_data \

    -p 5506:3306 \

    -d mysql:5.7 --character-set-server=utf8 --collation-server=utf8_bin

    2 创建zabbix-server

    sudo docker pull zabbix/zabbix-server-mysql:ubuntu-3.4-latest

    sudo docker run --name zabbix-SER \

    --link zabbix-DB:mysql \

    -e DB_SERVER_HOST="192.168.0.115" \

    -e DB_SERVER_PORT=5506 \

    -e MYSQL_USER="zabbix" \

    -e MYSQL_DATABASE="zabbix" \

    -e MYSQL_PASSWORD="111111" \

    -v ~/zabbix/zabbix-server/etc/localtime:/etc/localtime:ro \

    -v ~/zabbix/zabbix-server/data/docker/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \

    -v ~/zabbix/zabbix-server/data/docker/zabbix/externalscripts:/usr/lib/zabbix/externalscripts \

    -p 10051:10051 \

    -d zabbix/zabbix-server-mysql:ubuntu-3.4-latest

    3 安装zabbix-web-nginx

    sudo docker pull zabbix/zabbix-web-nginx-mysql:ubuntu-3.4-latest

    sudo docker run --name zabbix-WEB \

    --link zabbix-DB:mysql \

    --link zabbix-SER:zabbix-server \

    -e DB_SERVER_HOST="192.168.0.115" \

    -e DB_SERVER_PORT=5506 \

    -e MYSQL_USER="zabbix" \

    -e MYSQL_PASSWORD="111111" \

    -e MYSQL_DATABASE="zabbix" \

    -e ZBX_SERVER_HOST="zabbix-SER" \

    -e PHP_TZ="Asia/Shanghai" \

    -p 8000:80 \

    -p 1443:443 \

    -d zabbix/zabbix-web-nginx-mysql:ubuntu-3.4-latest

    登录访问测试,浏览器访问ip:8000查看

    默认登录

    username:Admin

    password:zabbix

    这里说明下,mysql、nginx在实际生产环境下,需要做数据卷的映射,防止数据丢失。

    4 安装docker-zabbbix-agent

    sudo docker pull zabbix/zabbix-agent:ubuntu-3.4-latest

    sudo docker run --name zabbix-agent \

    --link zabbix-SER:zabbix-server \

    -e ZBX_SERVER_HOST="zabbix-SER" \

    -e ZBX_SERVER_PORT=10051 \

    -e ZBX_HOSTNAME="zabbix_agent" \

    -v /dev/sdc:/dev/sdc \

    -p 10050:10050 \

    -d zabbix/zabbix-agent:ubuntu-3.4-latest

    最后需要在web端将,zabbix-agent添加到zabbix-server的host列表里面。

    报错处理

    no active checks on server [*.*.*.*:10051]: host [*] not found

    zabbix_agentd.log

    错误一

    no active checks on server [*.*.*.*:10051]: host [*] not found

    出现该错误的原因是一般是zabbix_agentd.conf里面的Hostname和前端zabbix web(Monitoring->Configuration->Hosts 页面的Name)里面的配置不一样所造成的

    解决

    在zabbix web页面Monitoring->Configuration->Hosts 页面更改Host name和zabbix_agentd.conf里面的Hostname一样。

    1941642e0471732fc5f1b9080094ed98.png

    7a90af47dcec0dcd2814b8b2a9e91df5.png

    错误二

    activecheck configuration update from [127.0.0.1:10051] started to fail (cannotconnect to [[127.0.0.1]:10051]: [111] Connection refused)

    解决:

    上面标注的地方有报错,我们可以编辑etc/zabbix/zabbix_agentd.conf 注释掉#ServerActive=127.0.0.1并且重启zabbix agent即可。

    展开全文
  • zabbix_agent配置Zabbix 监控Dockeragent 需要使用 zabbix_agent2,而不是zabbix_agent主要模式时配置如下:[root@localhost#] cat /etc/zabbix/zabbix_agent2.conf |grep -v ^#|grep -v ^$ PidFile=/var/run/...

    zabbix_agent配置

    Zabbix 监控Docker 时 agent 需要使用 zabbix_agent2,而不是zabbix_agent

    主要模式时配置如下:

    [root@localhost#] cat /etc/zabbix/zabbix_agent2.conf |grep -v ^#|grep -v ^$  PidFile=/var/run/zabbix/zabbix_agent2.pidLogFile=/var/log/zabbix/zabbix_agent2.logLogFileSize=0DebugLevel=3Server= zabbix-server-ipaddressListenPort=10050Hostname=kube-master-02Include=/etc/zabbix/zabbix_agent2.d/*.confControlSocket=/tmp/agent.sockPlugins.Docker.Endpoint=unix:///var/run/docker.sock

    并将zabbix_agent2用户 zabbix加入到Docker 用户组 docker ,不然agent2没有权限获取 Docker的相关数据

    usermod -aG docker zabbix

    配置完成后启动 zabbix_agent2

    systemctl start zabbix_agent2

    查看日志, 是否正常获取Docker服务的数据 ,这里获取数据比较慢,耐心等待

    tail -f /var/log/zabbix/zabbix_agent2.log |grep [Dd]ocker

    Zabbix-server 服务端配置

    服务端默认自带Docker监控的模板,不需要导入,如果 没有的话在这里找到模板并导入

    git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/docker

    服务端安装 zabbix_get 尝试获取被监控端的数据

    zabbix_get -s zabbix-agent-ip-address -k docker.info

    有数据显示表示zabbix-agent2 被监控端配置成功

    344ed0b5b7595244b59adecc18a117ec.png

    web页面添加主机,并添加监控模板

    0e7b8ca617ae73f932deb86c3e5bf0b7.png

    添加主机成功后, 耐心等待服务端收集数据,之后查看主机图形

    f6d147207df0777b58cab5f4abb16104.png
    展开全文
  • 这里zabbix客户端,服务器版本均为4.01、官方地址2、使用docker部署zabbix2.1 创建docker网络docker network create zabbix-net2.1 启动zabbix-server 端容器 (注意划分到同一个网络)docker pull zabbix/zabbix-...

    这里zabbix客户端,服务器版本均为4.0

    1、官方地址

    2、使用docker部署zabbix

    2.1 创建docker网络

    docker network create zabbix-net

    2.1 启动zabbix-server 端容器 (注意划分到同一个网络)

    docker pull zabbix/zabbix-appliance:latest # 拉取镜像

    docker run --name zabbix-server -t \

    -p 10051:10051 \

    -p 80:80 \

    --net zabbix-net -d zabbix/zabbix-appliance:latest

    65e51290a897

    登录

    zabbix默认帐号为 Admin 密码 zabbix

    登录即可

    2.3 修改中文

    65e51290a897

    配置中文[图片上传中...(Screenshot of Zabbix docker_ Configuration of users (1).jpg-475a2e-1574852909261-0)]

    65e51290a897

    image.png

    修改为中文点击update即可

    3、配置zabbix-agent端

    3.1. 启动容器

    docker run -dit --name zabbix-agent --net zabbix-net centos:7

    3.2 客户端安装zabbix-agent

    docker exec -it zabbix-agent bash # 进入容器

    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # yum源切换为阿里源

    rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm

    #在安装前首先添加对应的yum repository

    yum -y install zabbix-agent

    4、web页面配置

    4.1 创建主机

    65e51290a897

    Screenshot of Zabbix docker_ 配置主机.jpg

    65e51290a897

    Screenshot of Zabbix docker_ 配置主机 (1).jpg

    4.2 创建监控项

    65e51290a897

    Screenshot of Zabbix docker_ 配置主机 (2).jpg

    65e51290a897

    Screenshot of Zabbix docker_ 配置监控项.jpg

    65e51290a897

    Screenshot of Zabbix docker_ 配置监控项 (1).jpg

    5、修改agent端配置文件

    docker exec -it zabbix-agent bash

    现在zabbix-agent服务还未开启,我们先配置好配置文件再开启服务

    /etc/zabbix/zabbix_agentd.conf

    5.1 修改配置文件

    # 修改三个地方

    Server=zabbix-server # 这里需要填的是服务端的ip

    # 因为这里是容器 并且处于同一网络 所以可以用服务端的容其名

    ServerActive=zabbix-server

    # 主动模式用到的配置

    Hostname=zabbix-agent1 # 这里与之前创建主机时用到的主机名称一样

    5.2 开启服务

    /usr/sbin/zabbix_agentd # 开启服务

    ps aux # 查看进程是否开启

    65e51290a897

    image.png

    6、web页面展示

    65e51290a897

    Screenshot of Zabbix docker_ 最新数据 [每30秒刷新一次].jpg

    65e51290a897

    Screenshot of Zabbix docker_ 最新数据 [每30秒刷新一次] (1).jpg

    这里我们遇到了一个 问题 图形内没有数据

    65e51290a897

    Screenshot of Zabbix docker_ 配置监控项 (2).jpg

    我们查看主机的监控项发现 这个监控项状态是不支持的

    报错如下

    Value "0.450000" of type "string" is not suitable for value type "Numeric (unsigned)"

    翻译

    “string”类型的值“0.450000”不适用于“Numeric(unsigned)”类型的值

    这是因为我们设置监控项的时候设置的类型为整数 而cpu负载的数据是浮点数 无法完成展示

    65e51290a897

    Screenshot of Zabbix docker_ 配置监控项 (3).jpg

    修改完之后 再次查看图形

    65e51290a897

    Screenshot of Zabbix docker_ 历史记录 [每30秒刷新一次].jpg

    可以看到 已经产生了数据

    这次实验成功

    相信你们也一定可以实现

    展开全文
  • Docker中使用Zabbix 进行监控Container容器提供了以下* Zabbix服务*,请参阅[ Zabbix文件](http://www.zabbix.com/)附加信息。Zabbix Server 端口号10051.Zabbix Java Gateway 端口号 10052.Zabbix Web UI 端口号 ...
  • 容器部署zabbix更简单准备两台机器:192.168.22.200 zabbix-server192.168.22.8 zabbix-agent软件版本:docker: 18.06.1-cezabbix: 4.0.1开始部署zabbix:192.168.22.200上操作:[root@server ~]# mkdir -p /data/...
  • 基础环境cat /etc/redhat-releaseCentOS Linux release7.5.1804 (Core)docker安装配置yum源# vim /etc/yum.repos.d/docker-ce.repo[docker-ce-stable]name=Docker CE Stable - $basearchbaseurl=...
  • 基本原理、须知:1、zabbix 分为zabbix server和zabbix agent,其中zabbix server需要web环境,并且其数据存储在独立的数据库中;2、docker是一种容器服务,它是基于操作系统的虚拟化,可以减少应用对操作系统环境的...
  • 在client端启动zabbix-agent服务启动zabbix-agent有如下2种方式:agent startroot@lykj-45:/srv# lsleyao zabbix zabbix-agent-20180606.tar.gzroot@lykj-45:/srv# tree -L 3zabbix/zabbix/`-- agent|-- agent|-- ...
  • 需要的docker镜像:mysql:5.7zabbix/zabbix-java-gateway:latestzabbix/zabbix-server-mysql:latestzabbix/zabbix-web-nginx-mysql:latestzabbix/zabbix-agent:latest1.安装镜像>docker pull mysql:5.7>docker...
  • 官方文档位置https://www.zabbix.com/documentation/3.4/zh/manual/installation/containers一、安装命令# 启动一个空的MySQL服务器实例docker pull mysql-serverdocker run --name mysql-server -t -e MYSQ...
  • A:安装了docker版本的agent之后,是能监控到宿主机的磁盘信息的,没有局限于给docker容器分配的空间,你可以试下直接安装一个docker版本的agent。Q:zabbix的cpu 内存的触发器, 图形是不是要自己添加?A:图形指的是...
  • Q:大佬们,我的Server,agent,web都用docker装在60一台机器上,日志也没报错,但是就是监控不了咋回事?都没有报错呀 A:容器的地址有放出来吗? Q:有的,我防火墙都没开 A:你zabbix配置文件的"Server"参数的...
  • 关于docker环境运行zabbix时,可以快速的部署一套zabbix环境,不管是学习docker还是学习zabbix,都是可以作为一个实际项目来进行测试和练习,但是如果对docker的网络模式不熟悉,可能会遇到一些坑,本文就一些你可能...
  • docker zabbix agent安装

    2019-11-21 21:16:48
    docker zabbix agent安装环境搭建mysql-serverzabbix-java-gatewayzabbix-server-mysqlzabbix-web-nginx-mysqlzabbix-agent坑点 环境搭建 linux系统版本:centos7.7 docker环境安装 yum install -y docker 启动...
  • docker zabbix_agent

    2020-09-05 15:38:41
    docker run --name some-zabbix-agent -p 10050:10050 -e ZBX_HOSTNAME=“客户机名称” -e ZBX_SERVER_HOST=“Zabbix服务器IP” -e ZBX_SERVER_PORT=10051 -d zabbix/zabbix-agent
  • docker Zabbix-agent 安装

    2020-02-27 20:51:18
    上次写到Zabbix server安装,这次安装agent agent ip:192.168.59.11 server ip:192.168.59.12 ...docker run --name zabbix-agent \ -e ZBX_HOSTNAME="k8s-node1" \ -e ZBX_SERVER_HOST="192.168.59.12" \ -p 1005...
  • 目录监控方案概述我们使用 zabbix-agent 的方式来监控 多个 tomcat 8.5.51 ,由于我们需要监控的是 Docker 容器里的 Tomcat ,而 zabbix 官方模板并不支持,而且官方提供的第三方方案也不支持多实例监控,所以只能...
  • 一、docker zabbix相关镜像下载分别docker pull (mysql:5.7 、zabbix/zabbix-agentzabbix/zabbix-server-mysql 、zabbix/zabbix-web-nginx-mysql)[root@ald8 ~]# docker imagesREPOSITORY TAG ...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 275
精华内容 110
关键字:

agentdockerzabbix