Zabbix【部署 05】 Docker部署Zabbix Server Agent Agent2 Web interface及 Java-Gate-Way(详细启动脚本及踩坑记录)不定时更新

这篇具有很好参考价值的文章主要介绍了Zabbix【部署 05】 Docker部署Zabbix Server Agent Agent2 Web interface及 Java-Gate-Way(详细启动脚本及踩坑记录)不定时更新。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

docker常用命令

# 查看运行的容器
docker ps
# 查看日志
docker logs containerID
# 重启容器
docker restart containerID
# 创建 zabbix 专用网络
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
# 查询
docker network ls
# 容器启动命令查询
docker pull cucker/get_command_4_run_container

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock cucker/get_command_4_run_container containerID

Preparation

  • 安装Docker。
  • 为Zabbix创建专用网络zabbix-net
  • 创建数据库用户zabbix和数据库zabbix

IP地址说明

  • 172.20.240.0【Zabbix 专用网络的 Gateway IP 下边有查询方法】
  • 172.17.0.8【云服务器的内网IP】

1.Server

# pull 镜像
docker pull zabbix/zabbix-server-pgsql:5.4-centos-latest

# 启动容器
docker run --name 5.4-zabbix-server-pgsql \
-e DB_SERVER_HOST="172.17.0.8" -e POSTGRES_USER="zabbix" -e POSTGRES_PASSWORD="zabbix" \
--privileged=true \
--network=zabbix-net \
--restart unless-stopped \
--restart=always \
-v /etc/localtime:/etc/localtime \
-v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
-p 10051:10051 \
-d zabbix/zabbix-server-pgsql:5.4-centos-latest

开启JAVAGATEWAY服务:

# 容器启动【开启JAVAGATEWAY服务】
docker run --name 5.4-zabbix-server-pgsql \
-e DB_SERVER_HOST="172.17.0.8" -e POSTGRES_USER="zabbix" -e POSTGRES_PASSWORD="zabbix" \
-e ZBX_JAVAGATEWAY_ENABLE="true" -e ZBX_JAVAGATEWAY="172.20.240.0" \
--privileged=true \
--network=zabbix-net \
--restart unless-stopped \
--restart=always \
-v /etc/localtime:/etc/localtime \
-v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
-p 10051:10051 \
-d zabbix/zabbix-server-pgsql:5.4-centos-latest
# 数据库会自动初始化166张表

2.Agent

2.1 agent

# pull 镜像
docker pull zabbix/zabbix-agent:centos-5.4-latest

# 启动容器
docker run --name 5.4-zabbix-agent \
-e ZBX_HOSTNAME="Zabbix server" -e ZBX_SERVER_HOST="172.20.240.0" \
--privileged=true \
--network=zabbix-net \
--restart unless-stopped \
-v /etc/localtime:/etc/localtime \
-p 10050:10050 \
-d zabbix/zabbix-agent:centos-5.4-latest

其他启动命令:

# 其他启动命令
# Connects from Zabbix server or Zabbix proxy in other containers (Passive checks)
docker run --name some-zabbix-server --link some-zabbix-agent:zabbix-agent -d zabbix/zabbix-server:latest

# Connect to Zabbix server or Zabbix proxy containers (Active checks)
docker run --name some-zabbix-agent --link some-zabbix-server:zabbix-server -d zabbix/zabbix-agent:latest

#  Privileged mode
docker run --name some-zabbix-agent --link some-zabbix-server:zabbix-server --privileged -d zabbix/zabbix-agent:latest
docker run --name some-zabbix-agent --link some-zabbix-server:zabbix-server -v /dev/sdc:/dev/sdc -d zabbix/zabbix-agent:latest

踩坑记录:

# 1.报错
active check configuration update from [云服务器内网IP:10051] started to fail (cannot connect to [[云服务器内网IP]:10051]: [111] Connection refused)

# 解决
# Zabbix server 启动时添加
-p 10051:10051 \
# 2.报错
# agent
no active checks on server [云服务器内网IP:10051]: host [zabbix-agent] not found
# server
cannot send list of active checks to "172.20.240.0": host [zabbix-agent] not found

# 解决修改 -e ZBX_HOSTNAME="zabbix-agent" 为
-e ZBX_HOSTNAME="Zabbix server" # 或者修改 Web 端的 Hosts->Name
# 3.报错
failed to accept an incoming connection: connection from "172.20.240.0" rejected, allowed hosts: "云服务器内网IP"

# 解决修改 -e ZBX_SERVER_HOST="云服务器内网IP" 为
-e ZBX_SERVER_HOST="172.20.240.0"

# 172.20.240.0 为 Zabbix 专用网络的 Gateway IP 地址 查看方式
docker inspect containerZabbixServerID | grep "Gateway"
            "Gateway": "",
            "IPv6Gateway": "",
                    "Gateway": "172.20.240.0",
                    "IPv6Gateway": "",

2.2 agent2

Zabbix agent 2 是新一代的 Zabbix agent,可以代替 Zabbix agent 使用。Zabbix agent 2 有以下特点:

  • 减少TCP连接数。
  • 提供改进的检查并发性。
  • 易于使用插件进行扩展。
  • 一个插件应该能够:提供仅由几行简单代码组成的简单检查;提供复杂的检查,包括长时间运行的脚本和独立的数据收集,并定期发回数据。

是 Zabbix agent 的临时替代品(因为它支持之前的所有功能)【新一代的 agent 是临时替代品???】

# pull 镜像
docker pull zabbix/zabbix-agent2:5.4-centos-latest

# 启动容器
docker run --name 5.4-zabbix-agent2 \
-e ZBX_HOSTNAME="Zabbix server" -e ZBX_SERVER_HOST="172.20.240.0" \
--privileged=true \
--network=zabbix-net \
--restart unless-stopped \
-v /etc/localtime:/etc/localtime \
-p 10050:10050 \
-d zabbix/zabbix-agent2:5.4-centos-latest

3.Web interface

# pull 镜像
docker pull zabbix/zabbix-web-nginx-pgsql:5.4-centos-latest

# 启动容器
docker run --name 5.4-zabbix-web-nginx-pgsql \
-e DB_SERVER_HOST="172.17.0.8" -e POSTGRES_USER="zabbix" -e POSTGRES_PASSWORD="zabbix" \
-e ZBX_SERVER_HOST="172.20.240.0" \
--restart unless-stopped \
-v /etc/localtime:/etc/localtime \
-v /usr/share/zabbix/assets/fonts:/usr/share/zabbix/assets/fonts \
--network=zabbix-net \
-p 443:8443 \
-p 9090:8080 \
-e PHP_TZ="Asia/Shanghai" \
-d zabbix/zabbix-web-nginx-pgsql:5.4-centos-latest

# 用于解决图表中文乱码问题
# -v /usr/share/zabbix/assets/fonts:/usr/share/zabbix/assets/fonts 
# /usr/share/zabbix/assets/fonts 文件夹下放置 DejaVuSans.ttf 文件

# 界面实例将 443/TCP 端口(HTTPS)暴露给主机。

其他启动命令:

# Linking the container to Zabbix server
docker run --name some-zabbix-web-nginx-pgsql --link some-zabbix-server:zabbix-server -e DB_SERVER_HOST="some-postgres-server" -e POSTGRES_USER="some-user" -e POSTGRES_PASSWORD="some-password" -e ZBX_SERVER_HOST="some-zabbix-server" -e PHP_TZ="some-timezone" -d zabbix/zabbix-web-nginx-pgsql:tag

# Linking the container to PostgreSQL database
docker run --name some-zabbix-web-nginx-pgsql --link some-postgres-server:postgres -e DB_SERVER_HOST="some-postgres-server" -e POSTGRES_USER="some-user" -e POSTGRES_PASSWORD="some-password" -e ZBX_SERVER_HOST="some-zabbix-server" -e PHP_TZ="some-timezone" -d zabbix/zabbix-web-nginx-pgsql:tag
# socket 统计信息查看
ss -lnt

# 结果
State		Recv-Q		Send-Q		Local Address:Port		Peer Address:Port
LISTEN		0			128 		*:22					*:*
LISTEN		0			128 		*:5432					*:*
LISTEN		0			128 		*:10050					*:*
LISTEN		0			128 		*:9090					*:*
LISTEN		0			128 		*:10051					*:*
LISTEN		0			128 		[::]:5432				[::]:*
LISTEN		0			128 		[::]:10050				[::]:*
LISTEN		0			128 		[::]:9090				[::]:*
LISTEN		0			128 		[::]:10051				[::]:*

4.Java gateway

# pull 镜像
docker pull zabbix/zabbix-java-gateway:5.4-centos-latest

# 启动容器
docker run --name 5.4-zabbix-java-gateway \
-e ZBX_START_POLLERS=50 \
--privileged=true \
--network=zabbix-net \
--restart unless-stopped \
--restart=always \
-v /etc/localtime:/etc/localtime \
-v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
-p 10052:10052 \
-d zabbix/zabbix-java-gateway:5.4-centos-latest
# 其他启动命令
# Linking the container to Zabbix server or Zabbix proxy
docker run --name some-zabbix-java-gateway --link some-zabbix-server:zabbix-server -d zabbix/zabbix-java-gateway:tag

启用Java gatewayServer的启动参数也要进行调整:

  • ZBX_JAVAGATEWAY_ENABLE

The variable enable communication with Zabbix Java Gateway to collect Java related checks. By default, value is false.

  • Other variables
# Additionally the image allows to specify many other environment variables listed below【仅贴出 Java gateway 相关参数】
# 本次使用默认参数
ZBX_JAVAGATEWAYPORT=10052
ZBX_STARTJAVAPOLLERS=5

修改后的启动命令:

docker run --name 5.4-zabbix-server-pgsql \
-e DB_SERVER_HOST="172.17.0.8" -e POSTGRES_USER="zabbix" -e POSTGRES_PASSWORD="zabbix" \
-e ZBX_JAVAGATEWAY_ENABLE="true" -e ZBX_JAVAGATEWAY="172.20.240.0" \
--privileged=true \
--network=zabbix-net \
--restart unless-stopped \
--restart=always \
-v /etc/localtime:/etc/localtime \
-v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
-p 10051:10051 \
-d zabbix/zabbix-server-pgsql:5.4-centos-latest

5.总结及更新内容

Docker部署方便,load导出的镜像就无需下载各种依赖了。文章来源地址https://www.toymoban.com/news/detail-430586.html

  • 20230331 更新了对IP的说明。
  • 20230331 添加了前端图表中文乱码的解决方法。

到了这里,关于Zabbix【部署 05】 Docker部署Zabbix Server Agent Agent2 Web interface及 Java-Gate-Way(详细启动脚本及踩坑记录)不定时更新的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Zabbix6 通过zabbix-agent2监控MySQL

         Zabbix6 自带mysql模版,无须再使用第三方,也不用自己写监控脚本,而且zabbix-agent2比zabbix-agent,功能更强大,应用也更简单。 1、登录要被监控的mysql, 创建监控用户 2、登录Zabbix Server WEB,【配置】--【模版】- 【MySQL by Zabbix agent 2】,修改此【宏】 3、【配置】-【主机】

    2024年02月11日
    浏览(42)
  • Zabbix第二部分:基于Proxy分布式部署实现Web监控和Zabbix HA集群的搭建

    1)分担 server 的集中式压力; 2)解决多机房之间的网络延时问题。 agent -- proxy -- server zabbix-server :整个监控体系中最核心的组件,它负责接收客户端发送的报告信息,所有配置、 统计数据及操作数据都由它组织。 Database :所有配置信息和zabbix收集到的数据都存储在数据库

    2024年02月06日
    浏览(27)
  • 基于jenkins+gitlab+docker部署zabbix

    我现在已经在一台服务器上部署了jenkins和gitlab,现在有一个场景是需要在服务器上再部署一个zabbix,需要通过jenkins加上gitlab部署,并且要求zabbix是通过docker部署的 jenkins、gitlab已完成部署并能正常访问,服务器docker能够正常使用 1、创建Git仓库: 在GitLab上创建一个新的仓库,

    2024年04月13日
    浏览(28)
  • Zabbix最简易安装部署:基于docker容器

    zabbix 读音: 正确读法: [`zæbiks] ,中文发音:擦日阿(ra)贝克斯 zabbix 是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在

    2024年02月12日
    浏览(31)
  • 使用docker轻量化部署snmp agent(SNMPv2访问)

    linux宿主系统为centos7 提前安装docker环境,并注意配置国内镜像源 推荐使用1panel管理面板进行可视化操作和容器管理 记得关闭防火墙,简化操作 项目源码地址 Debian是一个流行的Linux发行版之一,而\\\"Buster\\\"是Debian的代号,用于代表其发布版本号的名称。\\\"Slim\\\"版本的Docker镜像是指

    2024年02月03日
    浏览(22)
  • ZABBIX-agent端的安装和配置

    接上文:Zabbix的详细安装部署_zabbix安装部署linux_linux_yanbb的博客-CSDN博客 文章目录 zabbix-agent安装 1.安装 zabbix -agent 2.修改配置文件          3.创建主机群组 4.创建主机  5.创建应用集   6.创建监控项 a.创建1个不带参数的监控项: b.创建1个带参数的监控项 7.删除监控项 当我

    2024年02月13日
    浏览(28)
  • docker-compose部署zabbix6.0

    本文第一步有部署docker步骤 本文第二步有部署docker-compose步骤 创建父目录 创建容器映射文件夹 拉取镜像 上传.ttf文件解决乱码问题 将windows的simfang.ttf上传至./font 路径 C:WindowsFontssimfang.ttf 编辑docker-compose.yml文件部署容器堆栈 启动Zabbix Server容器堆栈 查看容器堆栈启动状态

    2023年04月09日
    浏览(23)
  • docker (十一)-进阶篇-docker-compos最佳实践部署zabbix

    关闭防火墙、selinux、开启docker,并设置开机自启动 注意点:docker部署的时候,bip要指定,不然会导致虚拟机ip和容器ip冲突,ssh连不上虚拟机 部署请参考   docker (二)-yum二进制部署-CSDN博客 创建相应映射目录 /data2/zabbix/zabbix-server                       用于存储 Zabbix 服

    2024年02月21日
    浏览(30)
  • 安装及配置zabbix_agent代理端(监控FTP服务器)

    监控agent的linux主机我们在之前的文章里已经做好了 现在直接安装ftp服务即可             监控成功

    2024年02月16日
    浏览(26)
  • Docker【部署 05】docker使用tensorflow-gpu安装及调用GPU踩坑记录

    Other than the name, the two packages have been identical since TensorFlow 2.1 也就是说安装2.1版本的已经自带GPU支持。 不同型号的GPU及驱动版本有所区别,环境驱动及CUDA版本如下: 在Docker容器中的程序无法识别CUDA环境变量,可以尝试以下步骤来解决这个问题: 检查CUDA版本:首先,需要确认

    2024年02月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包