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,容器内没有)

邮件告警

相关推荐
wusam4 分钟前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习04(环境准备)
学习·docker·centos
苹果醋313 分钟前
大模型实战--FastChat一行代码实现部署和各个组件详解
java·运维·spring boot·mysql·nginx
梁诚斌1 小时前
VSOMEIP代码阅读整理(1) - 网卡状态监听
运维·服务器·网络
深情废杨杨1 小时前
服务器几核几G几M是什么意思?如何选择?
运维·服务器
康熙38bdc1 小时前
Linux 进程优先级
linux·运维·服务器
Web极客码1 小时前
常见的VPS或者独立服务器的控制面板推荐
运维·服务器·控制面板
只是有点小怂1 小时前
parted是 Linux 系统中用于管理磁盘分区的命令行工具
linux·运维·服务器
三枪一个麻辣烫2 小时前
linux基础命令
linux·运维·服务器
cuisidong19972 小时前
如何在 Kali Linux 上安装 Google Chrome 浏览器
linux·运维·chrome
wusam3 小时前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习03(网络及IP规划)
运维·服务器·网络·docker·容器