填坑之路!玩转 Docker + Zabbix4.x 中你可能遇到的问题

前言:检测服务器运行情况是线上环境最重要的环节,人为监控难免疏忽,而且浪费人力物力。于是研究起了自动化检测软件,Zabbix。

首先提供zabbix中文手册:https://www.zabbix.com/documentation/3.4/zh/manual

这里只会编写笔者在学习Zabbix过程的遇到的问题。

2020/3/11编撰:

一、设置中文

以下界面是我们安装之后访问页面,默认是英文的。oh真让人头疼。

Zabbix很友好的提供了中文语言。点击右上方小人-》Language-》选择Chinese-》点击update即可。并且中文的很全面,不会是那种零零碎碎的。 

 

二、安装agent

手册中并没有给出安装agent这一步,我们可以点进dockerhup中就可以看到介绍。

docker run --name zabbix-agent \
    --link zabbix-server-mysql:zabbix-server \
    -e ZBX_SERVER_HOST="zabbix-server-mysql" \
    -e ZBX_SERVER_PORT=10051 \
    -e ZBX_HOSTNAME="zabbix_agent" \
    -v /dev/sdc:/dev/sdc \
    -p 10050:10050 \
    -d zabbix/zabbix-agent 

其次是如果是同一台服务器上配置server和agent将会使用到容器ip,查看容器ip,使用如下指令

docker inspect 容器ID |grep IPAddress

不建议使用docker安装agent,安装在容器中的agent监控的是容器的状态,而不是宿主机的状态!

 

三、配置监控项

笔者写在这篇文章时候版本已经为Zabbix 4.4.6

而手册默认是3.4,想查看4.2版却发现并未编写...跟着3.4版学习,在配置监控项时说使用如下指令

一直提示invalid first parameter,这个命令在4.x版本已经改变了,可以查看key文档https://www.zabbix.com/documentation/3.4/zh/manual/config/items/itemtypes/zabbix_agent

然后我又发现还是提示invalid first paramete,不用着急,勾选监控项,点击现在检查。

然后稍等几分钟就可以了。

笔者后来发现其实原本的system.cpu.load也是可以用的...这就很神奇了~

四:刷新时间

这里的图表刷新时间和设置控制项里的更新时间没有半毛钱关系,真正有关系的是这是中文时候的那个页面里的刷新时间。

 控制相里的更新时间决定的是数据的更新时间,建议这两个设置为同一时间。

中间一点一点的是因为我把更新时间设置了10s,而刷新时间是1s,导致数据更新不及时。

五:时间问题

在查看最新数据时候,我发现时间并不对,原来是容器里的时间采用的是UTC标准时区,和我们北京时间差了8小时,这怎么行!

这里就很麻烦了,由于笔者不是用DockerFile构建的,只能重新运行容器挂载 -v /etc/localtime:/etc/localtime:ro

这里有人说直接docker cp 把localtime复制到容器内 我发现是不可以的。localtime本质只是个链文件。

问题又来了,我发现这个时间和我容器的时间还是不一致的。那么这个服务器时间又是哪里来呢?

 

通过不断研究,终于找到了问题所在。

在web容器内执行如下命令

grep -r "timezone" /etc/php7/

我这里是已经改过来了,你们的应该还是Europe/Riga,使用vi命令修改99-zabbix-ini文件,改成Asia/Shanghai

 

然后还需要找到php-fpm7这个进程,kill了它,它会立刻重启。

回到页面刷新~见证奇迹的时刻!服务器时间就和我们北京时间同步啦!至于和容器时间相不相关这里我就不再验证了,个人感觉应该是无关的,可以给我评论说一下你的情况。

 

 

2020/3/12第二次编撰:

六:触发器显示触发器状态

根据手册前往监控(Monitoring) → 触发器(Triggers)以查看,发现找不到触发器这个地方。我们来到问题,修改过滤器,点击应用就可以看到了。

可以适当的修改表达式的值,满足我们看到效果的小欲望。avg(时间,单位为s),然后去服务器根目录执行find指令,当find指令执行结束后,会自动变回已解决,并闪烁。

{host:system.cpu.load.avg(10)}>0.3

 

 

七:发送邮件login denied

 一开始我是用qq邮箱,发现一直login denied,还没有报错状态码,无语弄了好久,最后换了163邮箱就可以了。

 

 

 

2020/3/13更新:

八:监控mysql

昨天捣鼓了一天,都没找到docker agent 监控 docker mysql的。后来意识到这貌似不太可能,因为docker agent里面压根用不了宿主机的环境变量。也就是说不建议使用docker安装agent,直接用宿主机安装agent问题就迎刃而解,(怪不得官方文档没有说如何用docker安装agent容器!)

举一反三监控其他应用也是这个说法。

很感谢大佬的一语道破,安装在容器中的agent监控的是容器的状态,而不是宿主机的状态!

 

 

2020/3/17更新:

九:发送短信

发送短信最大的坑就是换行符的问题,会出现CRLF ->LF 问题。因为window的换行符是 \r\n 而 linux换行符是 \n 。\r在Linux、unix 中表示返回到当行的最开始位置。于是就会出现覆盖错误。并且我本人使用的是云通信平台,本身也不允许使用换行符,于是在content中使用tr指令删除掉换行符即可。如果你的平台可以使用换行符,可以用tr的替换指令替换为\n。

下面 贴出我的脚本代码

#!/bin/bash
LOGFILE="/var/log/smslog/log.log"
:>"$LOGFILE"
exec 1>"$LOGFILE"
exec 2>&1
#----------------初始化参数---------------------------
#appId
appId="xxx"  
#token
token="yyy"  
#userId
userId="zzz"
#templateId
templateId="uuu"
#------------------------------------------------------

#-----------------传入参数-----------------------------
#手机号
mobile=$1
# 项目
project=$2
# 网址
url=$3
# 内容
content=`echo $4 |tr -d '\r\n'`


#------------------------------------------------------


#--------------
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
《银河麒麟服务器操作系统-docker适配手册.pdf》是一本关于银河麒麟服务器操作系统和Docker容器技术的适配手册。本手册详细介绍了银河麒麟操作系统如何与Docker容器进行适配和集成。 首先,手册通过介绍银河麒麟服务器操作系统的特点和优势,为读者提供了对该操作系统的基本了解。然后,手册详细介绍了Docker容器技术的原理和基本概念,包括容器、镜像、仓库等,帮助读者理解Docker技术的基本原理。 接下来,手册介绍了如何在银河麒麟服务器操作系统安装和配置Docker。手册提供了详细的步骤和操作示例,帮助读者轻松完成Docker的安装和配置工作。同时,手册还介绍了在安装和配置过程可能遇到的常见问题和解决方法。 此外,手册还介绍了如何在银河麒麟服务器操作系统管理和运行Docker容器。手册提供了对Docker的基本操作指南,包括创建容器、启动容器、停止容器等。同时,手册还介绍了如何使用Docker Compose来管理多个容器的编排和部署,使读者能够更高效地管理和运行自己的应用程序。 最后,手册还介绍了一些针对银河麒麟服务器操作系统的特定优化和定制配置的方法。这些配置方法可以帮助读者提升在银河麒麟服务器操作系统上运行Docker容器的性能和稳定性。 总之,《银河麒麟服务器操作系统-docker适配手册.pdf》是一本对于银河麒麟服务器操作系统和Docker容器技术进行适配的详细手册。通过阅读本手册,读者可以了解如何在银河麒麟服务器操作系统安装、配置、管理和优化Docker容器,进一步发挥操作系统和容器技术的优势,提升应用程序的性能和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大誌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值