首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Zabbix代理容器的正确使用

Zabbix代理容器的正确使用
EN

Stack Overflow用户
提问于 2020-12-17 20:32:43
回答 1查看 896关注 0票数 2

我想使用Zabbix来监视我的服务器(到目前为止只有一个)。为了保持整洁,我决定把它放在码头集装箱里。我只是对容器中的代理的使用有疑问。据我所知,它应该能够监视主机本身。但容器通常是孤立的。那么在容器中运行代理有什么意义呢?

如果有理由这样做,代理容器的网络模式是否应该是“主机”?

EN

回答 1

Stack Overflow用户

发布于 2022-03-28 15:00:11

简介:

我刚刚完成了一个完全DockerizedZabbix6.2安装,使用的是Zabbix的GitHub Docker-Compose。我的经验是,码头安装是更好的途径,但其他人当然可能有不同的看法。

尽管它看起来非常令人望而生畏--其中有很多组件-- Zabbix的Docker-Compose回购是启动Zabbix安装最快、最痛苦的方法;安装起来比手动配置容易得多。

我使用他们的回购配置一个所有唱歌-所有舞蹈的Zabbix基础设施的覆盆子Pi4与8GB内存使用64位ARM版本的Ubuntu20.04LTS。用手动配置获得相同的结果需要花费很长时间。

不过,我最后还是注意到了一个关于连接问题的问题。但一旦你过了这一关,那就成了问题了。

配置:

下面是使用Docker配置Zabbix的过程的非常概括的

服务器基础设施

提高组件的基本形式是:

代码语言:javascript
运行
复制
docker-compose -f docker-compose_v3_ubuntu_pgsql_latest.yaml --profile all up -d

注意:在我的测试中,172.16.238.3是Zabbix的默认IP --它也应该是您的--但是验证IP。

代理人:

启动代理非常简单,如下所示:

代码语言:javascript
运行
复制
docker run --add-host=zabbix-server:172.16.238.3 -p 10050:10050 -d --privileged --name myHost-zabbix-agent -e ZBX_SERVER_HOST="zabbix-server" -e ZBX_PASSIVE_ALLOW="true" zabbix/zabbix-agent:ubuntu-6.0-latest

只需更改"myHost-zabbix-agent“并在Web界面中添加新的Zabbix即可。

要获得使用上述命令引发的新Zabbix代理的IP,请执行以下命令:

代码语言:javascript
运行
复制
docker ps

然后得到它的随机标识,然后:

代码语言:javascript
运行
复制
docker exec -u root -it (random ID for agent from docker ps) bash

一旦进入容器,就会显示它的IP:

代码语言:javascript
运行
复制
hostname -I

将此IP用于Zabbix服务器的web接口中的代理接口。正如您正确地指出的,由于代理在容器中运行,它是孤立的,默认的IP pf 127.0.0.1将无法工作:您需要一个可路由的IP才能让Zabbix服务器到达代理。

然后转到下一个主机,在上面的docker run命令中更改主机名,获取Ip并将其添加到Zabbix的web接口中。

结论:

没有什么能阻止您裁剪配置-- Zabbix使其非常可调整--但是使用Zabbix的Docker-Compose repo可以让您快速地进行一些体面的监控,只需付出很少的努力就可以将繁重的工作减少到最低限度;如果您有大量的主机,那么非常重要。

配置代理的连接性有一个问题-- Docker插入了iptables规则,该规则通过NAT‘’ing流量破坏了连接,但是我在这里记录了如何绕过这个问题:

Dockerized Zabbix: Server Can't Connect to the Agents by IP

希望这能帮你节省一些周期-

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65347946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档