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. MySQL一主多从配置和读写分离配置

    一.一主多从配置 此次操作实现的是一主两从的方式.主服务器slave2(2.100),从服务器slave2-1(2.107),slave2-2(2.108);第一:准备主数据库    1. 在不同的机 ...

  2. Windows-快速预览文件-QuickLook

    开源.免费的文件快速预览工具, 支持图片.文档.音视频.代码文本.压缩包等多种格式. 获得 Mac OS 空格键快速预览文件相同的体验 效果图 文件夹 音视频 浏览 压缩包,文本 支持的格式: 图片: ...

  3. 关于Exceptionless日志收集框架如何关闭磁盘缓存

    问题:在使用Exceptionless的时候,Exception在收集到日志时会默认在appdata里面缓存当条日志的缓存文件,时间久了之后,如果收集到的日志越多磁盘的空间就会不足. 我使用的环境是 ...

  4. 2020-04-29:现在你有个秒杀抢购的app,用户不断大量增加,技术层面,你要怎么做

    2020-04-29:现在你有个秒杀抢购的app,用户不断大量增加,技术层面,你要怎么做,才能既满足用户需求,又能扛住压力,还能帮公司合理支出?福哥答案2020-04-29: 限流(杀部分用户祭天). ...

  5. 使用Python Openssl库解析X509证书信息

    X.509 证书结构描述 常见的X.509证书格式包括: 后缀 作用 cer/crt 用于存放证书,它是2进制形式存放的,不含私钥 pem 以Ascii来表示,可以用于存放证书或私钥. pfx/p12 ...

  6. 多次调用Promise的then会返回什么?

    //做饭 function cook(){ console.log('开始做饭.'); var p = new Promise(function(resolve, reject){ //做一些异步操作 ...

  7. 一键打开 jupyter

    一般打开jupyter notebook 是以下步骤: 打开cmd-----输入:jupyter notebook-----按Enter键 为了省事,写了一个.py文件实现上述步骤,代码如下: imp ...

  8. Mybatis 循环删除/插入

    <foreach collection="array" open="(" separator="," close=")&qu ...

  9. 用C++写一个电话通讯录

    目前我也是名初学C++的菜鸟,一直在B站上看的C++的网课,这个的C++电话通讯录是我写的第一个有一些功能的代码,所以在这里想分享给初学C++的小白们,如有任何问题或是建议可以在下方评论或是私信我,下 ...

  10. ajax、反向ajax、jsonp详解

    ajax详解 什么是ajax 其实ajax已经属于老技术了,现在几乎没人不会用了,在这里主要是把底层的东西给大家分享一下,以备应对装逼的面试官. ajax即“Asynchronous Javascri ...