docker搭建zabbix收集windows计数器性能数据

1 docker服务的安装【Centos7系统】
1)在线安装docker服务
在线安装可以参考下面的安装步骤
a 安装相关依赖组件

yum install -y yum-utils device-mapper-persistent-data lvm2

b docker源安装配置

yum-config-manager  --add-repo   https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-nightly
yum-config-manager --enable docker-ce-test
yum-config-manager --disable docker-ce-nightly

c 安装docker服务

yum -y install docker-ce docker-ce-cli containerd.io

d 验证安装完成

systemctl start docker

启动docker服务

systemctl enable docker

开机启动docker服务

docker ps -a

查看所有docker容器状态【运行和没运行的】

docker info

查看docker服务相关信息

2)离线安装docker服务

离线安装docker服务可以参考另一篇博文服务器无法上网如何离线安装DOCKER服务?

2 zabbix/zabbix-appliance镜像文件下载及容器启动
1)在线拉取镜像:
a 使用命令

docker pull zabbix/zabbix-appliance:latest

【镜像名 :后面的是tag标签,如果不指定tag标签版本号,默认拉取latest最新的】

b 拉取完成后,使用命令查看本地镜像仓库中已有的镜像

docker images

2)离线加载镜像:
a 如果安装的服务器A无法上网从官方镜像仓库拉取镜像,首先需要有一台可以上网并安装了docker服务的设备B,使用在线拉取镜像的方式,将镜像拉取到设备B上
b 在设备B上使用命令,将image镜像文件导出成文件

docker save -o ./zabbix-appliance.tar zabbix/zabbix-appliance:latest

参数解释:
-o:输出到文件,后面跟文件路径和文件名 以及需要导出的【镜像:tag标签】 ./zabbix-appliance.tar

c 再将该文件从设备B拷贝到服务器A上,在使用命令,将镜像加载到服务器A上的镜像仓库中

docker load -i zabbix-appliance.tar

【注意】:docker在导出、导入镜像时,有2个命令可供使用,docker export/import || docker save/load ,他们的区别,可以参考其他的博文地址进行详细理解docker export save区别

3 运行docker,并将容器内的mysql数据映射到本地文件夹中【避免docker被删除后,监控数据无法恢复】
命令:

docker run --name zabbix \
      -p 10051:10051 \
      -p 8080:80 \
      -v /opt/data/alertscripts:/usr/lib/zabbix/alertscripts \
      -v /opt/data/mysql:/var/lib/mysql \
      -e PHP_TZ="Asia/Shanghai" \
      -d zabbix/zabbix-appliance:latest

【注意】如果服务器开启了防火墙服务,需要开放10051和8080端口,以便zabbix的监听端口和web服务的访问端口可正常使用

4 配置zabbix服务端
容器运行后,可以访问服务器ip地址+端口8080的zabbix服务端

输入默认用户名密码: Admin/zabbix 即可登录监控平台

1)修改平台语言,方便阅读【如果英文好,也可以不改】

2)配置监控模板
按照图上的步骤,依次点击,进入【创建模板】页面

依次输入【模板名称】、【可见模板名称】、选择【群组】,点击【确定】后,模板添加成功

在模板列表中找到刚才添加成功的模板,点击该模板,进入模板配置页面

依次点击【应用集】、【监控项】,给模板中添加需要监控的指标项

【应用集】:
创建应用集

输入应用集的名称,点击【添加】

【监控项】
点击【监控项】进入监控项页面

依次在监控项页面中输入需要监控的名称、类型、键值、信息类型、单位、更新间隔,选定【应用集】

【注意】:
这篇文章介绍的是配合perfmon如何对windows进行性能指标监控,这里需要选择的【类型】为Zabbix客户端,【键值】固定使用 perf_counter[xxxxxxxx]的格式来进行添加,括号中的值需要根据被监控的windows计数器项来进行填写,比如:
[\Process(QQ)% Processor Time]监控进程QQ的CPU占用率;
[\Processor(_Total)% Processor Time]监控系统所有进程的CPU占用率,即系统CPU占用率;
[\Process(QQ)\Private Bytes]监控进程QQ的分配内存大小【windows计数器返回的监控单位是:Bytes,如果需要转换为MByte或GByte,需要再添加一个类型为【可计算】的监控项,后面会讲到】;

填写完成后,点击【添加】保存

3)添加【主机】
点击下图上的【主机】进入详细页面,再点击【创建主机】进入添加主机页面

依次填写下列参数:【主机名称】需用英文填写,勾选【群组】,填写被监控windows主机的ip地址,端口默认10050不作修改

接着点击【模板】,跳转到模板页面,选择刚才创建的监控模板,之后点击【添加】

【注意】
被监控的windows客户端需要关闭windows防火墙,或者在防火墙规则中添加10050端口,以便服务端可以与该客户端进行数据通信

添加完成后,可以在【主机】列表页面看到新添加的主机,如果该主机上已经安装好zabbix-agent客户端后,可以看到【ZBX】显示为绿色状态,表示服务端与该客户端通信正常

5 windows客户端安装zabbix-agent

windows客户端安装可以参考其他博文: zabbix-agent安装教程

安装后需要注意配置好服务端IP地址,监听端口默认10050

【注意】
在命令行启动zabbix-agent时,需要使用【管理员】身份来运行脚本,否则会提示连接失败!!

6 将监控返回的数据进行单位转换后,以图形曲线的方式展示在网站上

a)根据已配置类型为【zabbix客户端】的监控项,返回的最新数据,再新配置一个类型为【可计算的】监控项

【类型】选择:可计算的

【键值】:自定义,不重复即可

【公式】: 这里使用固定的语法格式 last("xxxxxx") last()可更换为其他函数avg(),max(),min()等,具体可以参考官方文档介绍:
可计算项介绍
触发器函数介绍
括号中【xxxx】所代表的值必须是之前已经监控的键值, 例如上图中的 perf_counter[\Process(tianjingang)% Processor Time ,是已经在该平台中有监控项的数据
可以根据自己的需求,进行对应的数学运算,比如:

last("perf_counter[\Process(_Total)\% Processor Time]")/8  取最后一次系统占用CPU资源的指标,再除以8【笔者电脑为8核,这里算单核所占CPU使用率】
last("perf_counter[\Process(QQ)\Working Set - Private]")/1024/1024/1024 取最后一次QQ进程的使用内存的值【这里返回的最小单位是Bytes】,将其转换为GByte。

7 根据监控返回的数据创建对应的曲线图形

依次点击下图步骤,进入【仪表盘】界面

点击【创建仪表盘】

输入相关【用户】和【仪表盘名】信息

点击页面,添加【构件】

在上图红框中依次输入构件名称,勾选需要监控的主机,及对应的监控项数据,这里,就选择新建的主机及新建的【可计算的】类型的监控项,点击【添加】

之后【保存设置】,即可看到被监控主机返回的监控项数据及对应的曲线

posted @ 2020-09-01 17:17  Hei蛋炒饭  阅读(496)  评论(0编辑  收藏  举报