网站首页 > 技术教程 正文
搭建zabbix参考:docker用docker-compose快速搭建zabbix最新版
环境介绍:
服务端ubuntu:192.168.152.132
客户端centos:192.168.152.150
1:在客户端安装agent
ubuntu和centos都支持在线安装,目前,Ubuntu在线安装版本为4.7,Centos为5.0
对于agent,版本影响不大,功能都相同,低于server服务器版本的都可以。
#Ubuntu安装
apt -y install zabbix-agent
#centos安装
yum -y install zabbix50-agent.x86_64
2:agent配置文件
agent配置文件,文件名为zabbix_agentd.conf
vim /etc/zabbix_agentd.conf
必备三个,用于与服务器端的连接,这个应该都知道的
Server=192.168.152.132 #如果设置纯被动模式,应该注释掉这行
ServerActive=192.168.152.132 #主动模式的serverip地址
Hostname=192.168.152.150 #客户端的hostname,不配置则使用主机名
以下为自定义脚本需要更改的参数:
去掉#UnsafeUserParameters的注释,并将0改为1,意思为允许自定义参数
去掉#UserParameter的注释,并在后面接上 名称(键值),命令。
UnsafeUserParameters=1
#名称为docker_nginx,服务器监控项的键值。后面为运行脚本命令。
UserParameter=docker_nginx, /bin/bash /script/docker_nginx.sh
3:脚本编写
mkdir /script
vim docker_nginx.sh
这里简单脚本为监控docker服务和docker的nginx。当然也可以替换成其他服务,如mysql,php等,根据自己需求更换。
#!/bin/bash
#set -x 调试脚本可用
docker_service=$(systemctl status docker.service |awk '{if (NR==3){print$2}}')
if [[ ${docker_service} == 'inactive' ]];then
echo "2" #docker服务停止状态,返回2
else
docker_nginx=$(docker ps|awk '{if (NR>1){print $2}}'|grep 'nginx')
if test -n "${docker_nginx}" ;then
echo "0" #代表docker nginx 正常,返回0
else
echo "1" #没有docker nginx容器,返回1
fi
fi
脚本完成。
4:服务端web配置
打开浏览器zabbix。
4.1):添加创建主机
添加完主机名称,IP后,保存即可。
4.2):添加创建监控项
在添加主机完成后,在主机里,直接点击监控项。
进去后,直接点击创建监控项。
配置监控项。
监控项配置完成,然后可以点击测试,是否正常得到脚本的返回值
这里docker nginx没有启动,所以返回值为1,可以自己启动docker nginx测试,返回值为0,可以正确得到脚本的返回值,则正常,有返回任何提示都不行。
测试的时候,监控doceker会得到返回值提示: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: ,原因是zabbix这个用户没有docker.sock的权限。
方法一: 解决临时方法:此方法只是临时,如果docker.sock重启还会一样。将/var/run/docker.sock改为777权限。
chmod 777 /var/run/docker.sock
方法二:永久方法:将zabbix用户加入docker用户组。
usermod -a -G docker zabbix
方法三:(已测试不合适)在脚本命令前方加sudo,返回值会得到类似sudo能力越大,责任越大的提示。
4.3):添加创建触发器
在页面点击触发器,然后创建触发器
添加名称,严重性,在表达式里选择添加
添加中,可以看到自己添加的监控项,选择自定义的监控项
然后默认添加数值,监控脚本docker service状态返回的为2,所以填写2.
添加完成确认即可。
同理在创建一个触发器监控docker nginx容器。
这时,自定义脚本监控已完成。
5:监控测试
现在服务都正常,容易都正常,停止docker nginx容器。
#停止自己容器的nginx名称
docker stop mynginx
回到web监控页面查看,已经报警生效。
关闭docker服务测试
systemctl stop docker.service
返回监控页面查看,也已经生效。
最后分别启动docker服务,和docker nginx容器。
systemctl start docker.service
docker restart mynginx
再次查看监控页面,报警消失,恢复正常,监控脚本测试完成。
猜你喜欢
- 2024-10-10 平台进程监控介绍(系统进程监控软件)
- 2024-10-10 Zabbix监控系统系列之八:监控nginx服务
- 2024-10-10 深度|掌握Nginx监控运维,这一篇足矣!
- 2024-10-10 Nginx 监控(nginx监控工具)
- 2024-10-10 如何轻松监控Nginx?(nginx 监控)
- 2024-09-11 这可能是把Nginx讲解的最透彻的一本新书
- 2024-09-11 nginx动态添加nginx-module-vts监控流量
- 2024-09-11 Docker 容器操作:运行、监控与维护
- 2024-09-11 用groovry做简单的nginx日志实时监控脚本
- 2024-09-11 教你三种方法,用 Python实时监控文件
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)