docker (七)-部署容器

实战开始:

1 docker 部署 kafka 集群,并验证

参考 Docker搭建Kafka集群 优秀文档

2 docker 部署 mysql

参考上一篇docker(六)

3.docker 部署 zabbix

参考 docker部署zabbix 优秀文档

BUG:根据这篇文章部署后,发现zabbix-server 图形时间与本地时间相差五个小时

参考优秀文档 思路修改

cpp 复制代码
docker exec -it zabbix-web-nginx-mysql  /bin/bash
cd /etc/php81/
cd php-fpm.d/
vim zabbix.conf
###修改时区###

我这里使用的docker restart, 重启容器后zabbix-web界面中时间正确

BUG:隔天关闭服务器后,再登录发现zabbix-web时间又错误,经过排查,发现宿主机没有做时间效验,根据 优秀文档 时间校对后,web界面时间和宿主机一致

这里有一个疑惑,为什么zabbix-agent的配置文件填写的是docker0上的ip?

这是因为docker0的ip就是设置的"bip",桥接网络是 Docker 容器使用的默认网络,当你创建一个新的容器时,它会被连接到这个桥接网络中。

在桥接网络模式下,Docker 容器的默认网络接口是 docker0,这个接口位于宿主机上,用于连接所有在同一宿主机上运行的容器,docker0 接口的 IP 地址作为 Zabbix Agent 的配置,这通常是合理的做法,特别是当 Zabbix Server 或者其他监控系统也运行在同一宿主机上时.

3.1 zabbix 监控 僵尸进程

僵尸进程 : 僵尸进程是已经结束执行但是其父进程尚未对其进行善后处理的进程。

较大的隐患 : 会导致系统特别卡,但是cpu使用率却不高,内存也不高。

参考以下文章配置:

查看zabbix-sever的ip(这步没有用)

docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' zabbix-server-mysql

10.233.0.5

cpp 复制代码
ip a 查看docker0的ip:

10.233.0.1

进入该容器内:
docker exec -it zabbix-server-mysql /bin/bash

使用zabbix-get测试(进行server容器后直接可以运行命令)

zabbix_get -s 10.233.0.1 -k proc.num[,,zomb,]
0

???为什么不能使用zabbix-server的ip去测试监控项?----上面已经解释了

进行实验模拟:在宿主机上模拟时,通过命令看得到僵尸进程由0变为1,但是zabbix-web界面上的僵尸进程还是还0,且使用zabbix-get命令

cpp 复制代码
b938ad938a17:/var/lib/zabbix$ zabbix_get -s 192.168.10.130 -k proc.num[,,zomb,]
0
b938ad938a17:/var/lib/zabbix$ zabbix_get -s 10.233.0.1 -k proc.num[,,zomb,]
0

这里修改了zabbix-agent的配置文件,还是无法正确返回僵尸进程数量

cpp 复制代码
b938ad938a17:/var/lib/zabbix$ zabbix_get -s 192.168.10.130  -k system.hostname
ddb3a9130c51

这里测试一下到底返回的是哪台服务器的数据?发现返回的是zabbix-agent容器的 id

考虑是返回zabbix-agent容器的数据,进入容器模拟僵尸进程,发现没有权限.....

---跳过----

3.2 zabbix 监控其他机器

agent: 1.容器部署(没有优势),2.二进制部署

上面就是使用容器部署,无法监控---暂时跳过

3.21 二进制部署

新建虚拟机:1. hostname:docker-132 ip:192.168.10.132

  1. 参考zabbix(一)部署 agent (修改Server=192.168.10.130)

根据 二进制部署 VS上面docker部署zabbix 发现docker部署server的配置文件中:DBHost未设置,后面发现不影响---

监控僵尸进程参考 zabbix监控僵尸进程_zabbix proc.num-CSDN博客

模拟并结束僵尸进程 https://blog.51cto.com/qiuyue/3800989

模拟测试,返回数据正确且在zabbix-web界面中显示正确

3.22 邮件告警,企业微信告警告警

难点:企业微信告警,要写python脚本,怎么解决?(要使用到python3,容器内没有)

邮件告警

相关推荐
asyxchenchong88818 分钟前
最新Hermes Agent 技能封装与科研自动化:以 Meta-Analysis 为例-实现从文献检索到绘图的一站式工作流
运维·人工智能·自动化
tianyuanwo38 分钟前
项目内自我管理:一名OS领域DevOps的破局之路
运维·devops
三十..1 小时前
Redis 核心原理与高可用架构实践
运维·数据库·redis
我是谁??3 小时前
ubuntu22.04 通过docker部署vLLM(Qwen3-0.6B)大模型+New API+OpenWebUI
docker·容器·vllm
jinglong.zha3 小时前
LScript-从零基础到商业变现的AI自动化学习平台
运维·学习·自动化
运维瓦工3 小时前
DevOps 生态介绍(十):Docker Compose 核心 YAML 配置详解与常用命令大全
spring cloud·docker·容器
Adorable老犀牛3 小时前
Telegraf:InfluxData 出品的指标采集代理
运维·telegraf
云烟成雨TD3 小时前
Spring AI 1.x 系列【59】容器化开发支持:Docker Compose 与 Testcontainers
人工智能·spring·docker
北塔软件3 小时前
北塔软件智能体平台 | 不只监控,更是AI时代的数据资产
运维·人工智能·知识库·北塔软件
Plastic garden4 小时前
K8s(10)NFS 的动态 PV 创建数据库给k8s的mysql和redis
docker·容器·kubernetes