1 docker服务的安装

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服务

a 下载docker服务的tar包,下载地址:docker包下载地址

我这里下载的版本是 docker-18.03.0-ce.tgz

b 将下载完成的tgz包上传至服务器上任意目录,并使用命令解压

tar -xvf docker-18.03.0-ce.tgz

c 使用命令,将解压出来的文件夹docker下面的所有文件移动到/usr/bin目录下

mv docker/* /usr/bin/

d 验证安装完成

systemctl start docker 启动docker服务

systemctl enable docker 开机启动docker服务

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

docker info 查看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 -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 根据监控返回的数据创建对应的曲线图形

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

点击【创建仪表盘】

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

点击页面,添加【构件】



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

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

docker搭建zabbix收集windows计数器性能数据的更多相关文章

  1. docker搭建zabbix

    本次使用docker搭建zabbix的组合是mysql+docker+zabix-server 1 先安装数据库mysql docker run --name zabbix-mysql-server ...

  2. Docker搭建zabbix+grafana监控系统

    一.准备工作 1.mysql数据库:192.168.1.5 2.nginx服务:192.168.1.10 3.docker服务器:192.168.1.20 4.zabbix客户端若干 二.docker ...

  3. docker+zabbix,使用docker搭建zabbix服务

    Zabbix 介绍 zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵 ...

  4. Linux:监测收集linux服务器性能数据工具Sysstat的使用与安装

    Sysstat是一个工具集,包括sar.pidstat.iostat.mpstat.sadf.sadc.其中sar是其中最强大,也是最能符合我们测试要求的工具,同时pidstat也是非常有用的东东,因 ...

  5. 【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

    1.环境 1.1.关闭防火墙 命令:systemctl stop firewalld 或者 systemctl stop firewalld.service (备注:相应的,若要开启防火墙,将对应的& ...

  6. Docker 搭建 ELK 收集并展示 tomcat 日志

    架构 前端展示 --> 索引搜索 <-- 日志提取及过滤 --> 日志缓存 <-- 日志收集 Kibana --> Elastash <-- Logstash -- ...

  7. docker搭建日志收集系统EFK

    EFK Elasticsearch是一个数据搜索引擎和分布式NoSQL数据库的组合,提过日志的存储和搜索功能. Fluentd是一个消息采集,转化,转发工具,目的是提供中心化的日志服务. Kibana ...

  8. zabbix 自定义 windows 监控项

    zabbix获取windows服务器上数据C:\zabbix_agents\conf\zabbix_agentd.win.confUserParameter=conncount,d:\\tools\\ ...

  9. .Net最佳实践3:使用性能计数器收集性能数据

    本文值得阅读吗? 本文讨论我们如何使用性能计数器从应用程序收集数据.我们将先了解的基本知识,然后我们将看到一个简单的示例,我们将从中收集一些性能数据. 介绍: - 我的应用程序的性能是最好的,像火箭 ...

随机推荐

  1. linux的文件处理(匹配 正则表达式 egrep awk sed)和系统、核心数据备份

    文件处理 1.处理方式 匹配 正则表达式 egrep awk sed 2.文件中的处理字符 \n  新行符 换行 \t  制表符 tab键 缺省8个空格 \b  退格符 backspace键 退格键 ...

  2. SpringBoot一个依赖搞定session共享

    原文:微信公众号:Java开发宝典  https://mp.weixin.qq.com/s/_VFY9lXqNhH8Nh4HC9tuMg 1. 前言 在传统的单服务架构中,一般来说,只有一个服务器,那 ...

  3. Linux-sed命令使用笔记

    Linux的sed命令和python脚本一起,可以对文本进行快速的修改.比如在删除日志的时候,python写出固定日期删除脚本,再用sed循环将python脚本的日期修改调用,就可以批删除指定日期的日 ...

  4. 大学生可用来接单,利用Python实现教务系统扩容抢课!

    最近一学期一次的抢课大戏又来了,几家欢乐几家愁.O(∩_∩)O哈哈~(l我每次一选就过了hah,我还是有欧的时候滴).看着他们盯着教务系统就着急,何况我们那教务系统,不想说什么.emmm 想周围的朋友 ...

  5. Springboot 在@Configuration注解的勒种 使用@Autowired或者@value注解 读取.yml属性失败

    springboot中@value注解,读取yml属性失败 问题场景: 配置ShrioConfig时,想注入.yml的参数进行配置 解决办法: 如果注释掉shiroEhcacheManager 以下所 ...

  6. docker找回构建时被删除的文件

    设想这样一个场景:当一个docker镜像被多次引用构建,在某次构建中某个文件被删除,如何找回被删除的文件? 要想回答这么一个问题,首先得熟悉下docker镜像的分层存储结构,镜像每一层都是只读的: 那 ...

  7. Android 开发学习进程0.12 自定义view activity的属性

    设置类似钉钉或tel的圆形用户名首字母头像 设置有两种方法,一是使用已有的库或自定义的view组件,但如果确定只是文字头像,也可使用textview的backgrou属性,调整资源文件使textvie ...

  8. Java 8中Lambda表达式默认方法的模板方法模式,你够了解么?

    为了以更简单的术语描述模板方法,考虑这个场景:假设在一个工作流系统中,为了完成任务,有4个任务必须以给定的执行顺序执行.在这4个任务中,不同工作流系统的实现可以根据自身情况自定义任务的执行内容. 模板 ...

  9. 关于Dapper实现读写分离的个人思考

    概念相关     为了确保多线上环境数据库的稳定性和可用性,大部分情况下都使用了双机热备的技术.一般是一个主库+一个从库或者多个从库的结构,从库的数据来自于主库的同步.在此基础上我们可以通过数据库反向 ...

  10. node mssql 无法连接sql server

    mssql无法连接sql server主要有两种原因: Sql server使用的是Windows身份验证 Sql server并没有打开网络连接功能 1.打开Sql Server身份验证 参考这篇文 ...