性能测试 (1)收集监控系统

收集监控系统

influxdb+grafana+telegra监控系统的简单理解:telegraf收集系统cpu等数据,并写入数据到influxdb中,jmeter运行脚本,也写入测试数据到influxdb中,最终由grafana以图形化实时展示系统和测试数据。

image-20200919120439834

influx

官方文档:https://docs.influxdata.com/platform/getting-started/

或者https://docs.influxdata.com/influxdb/v1.6/

InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。类似的数据库有ElasticsearchGraphite等。

主要功能:

1)基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)

2)可度量性:你可以实时对大量数据进行计算

3)基于事件:它支持任意的事件数据

InfluxDB主要特点:

1)无结构(无模式):可以是任意数量的列

2)可拓展的

3)支持min, max, sum, count, mean, median 等一系列函数,方便统计

4)原生的HTTP支持,内置HTTP API

5)强大的类SQL语法

6)自带管理界面,方便使用

下载influx安装包:

mkdir /usr/local/influx
cd /usr/local/influx
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0.x86_64.rpm

下载完之后,直接就可以安装

yum localinstall influxdb-1.7.0.x86_64.rpm

启动influxdb数据库:

service influxdb start

停止:service influxdb stop

inlufxdb各个服务的默认端口:

8083:访问web页面的地址,8083为默认端口;
8086:数据写入influxdb的地址,8086为默认端口;(这个端口很重要)
8088:数据备份恢复地址,8088为默认端口;

防火墙添加端口:

firewall-cmd --add-port=8086/tcp --permanent
firewall-cmd --add-port=8086/udp --permanent 
firewall-cmd --reload

查看8086端口:

image-20200919115012463

grafana

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点:

  • 1、展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;
  • 2、数据源:GraphiteInfluxDBOpenTSDBPrometheusElasticsearchCloudWatchKairosDB等;
  • 3、通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过SlackPagerDuty等获得通知;
  • 4、混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;
  • 5、注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;
  • 6、过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

官方文档:https://grafana.com/docs/grafana/latest/

grafana安装

下载安装包:

mkdir /usr/lccal/gragana
cd /usr/local/grafana
wget https://dl.grafana.com/oss/release/grafana-6.2.2-1.x86_64.rpm

安装grafana

yum localinstall grafana-6.2.2-1.x86_64.rpm

启动grafana服务:

service grafana-server start

停止: service grafana-server stop

若是centos7,建议使用systemctl命令,如 systemctl start grafana-server

防火墙添加3000端口,3000Grafana的默认侦听端口:

firewall-cmd --add-port=3000/tcp --permanent
firewall-cmd --add-port=3000/udp --permanent 
firewall-cmd --reload

浏览器访问grafanahttp://ip:3000,初始账号和密码都是admin,初次登录需要修改密码。

image-20200919121326250

grafana使用

1、添加Data Source,并选择inlufxDB数据源

image-20200919191128494

选择influxDB:

image-20200919191215403

2、设置数据源Data Source:

image-20200919191412009

3、创建dashboard,有两种创建方式。

第一种,根据别人保存分享的模板来进行创建,可到grafana官网找别人分享的模板来创建dashboardhttps://grafana.com/grafana/dashboards,官网上的每个dashboard都一个唯一的dashboard id,随便点击一个dashboard都可以看到,如:

image-20200919191931746

想要导入模板,只需要把ID复制下来,根据下面步骤导入即可:

image-20200919191706576

image-20200919192222813

第二种,自己新建一个dashboard,步骤如下:

image-20200919191615081

image-20200919192317567

image-20200919192401407

telegraf

安装telegraf

官方学习文档:https://docs.influxdata.com/telegraf/v1.9/introduction/getting-started/

telegraf是一个可收集系统和服务的统计数据,比如说cpu使用率等,并写入到InfluxDB数据库的程序。通过telegraf,我们可将系统cpu、内存、磁盘等使用数据实时地写入InfluxDB数据库,从而在grafanaweb页面中以图表形式展示出来。

opt目录使用wget获取安装包:

cd /opt
wget https://dl.influxdata.com/telegraf/releases/telegraf-1.0.1.x86_64.rpm

yum本地安装telegraf

yum localinstall telegraf-1.0.1.x86_64.rpm

修改配置文件 telegraf.conf(此步根据自身情况修改)

vi /etc/telegraf/telegraf.conf

image-20200918182514619

配置文件里可设置收集的数据要存放到telegraf的哪个库:

image-20200918185702071

查看官方文档:

image-20200918184949586

可以知道,在启动telegraf服务之前,需要先编辑或者初始化创建一个配置文件(其实这步可以跳过),这个配置文件包含了一些信息,如:

  1. 统计的指标从哪里来
  2. 统计的指标存放到哪里去

配置telegraf

telegraf -sample-config -input-filter cpu:mem:disk -output-filter influxdb > telegraf.conf

解释:
-input-filter cpu:mem:disk     代表获取cpu、内存、磁盘的指标
-output-filter influxdb			代表这些指标存放到influxdb数据库里面
> telegraf.conf				代表这些配置信息将会存放到当前所在路径的telegraf.conf文件中,运行这行后会自动生成这个conf文件

启动telegraf:

service telegraf start 

经过观察,发现telegraf启动时默认读取的/etc/telegraf路径下的telegraf.conf,而不是前面一步配置生成的。
因此,如果要修改要搜集的指标时,建议直接cd到/etc/telegraf,再生成新的telegraf.conf文件,覆盖掉原来的就行。

进入influxdb,查看存在的库,会发现多了一个telegraf库:

image-20200918190223614

查看telegraf库存在的表:show measurements;

image-20200918190434827

查看telegraf库的表的所有字段:show field keys;

image-20200918190542912

查看某个表的某些内容:SELECT usage_idle FROM cpu WHERE cpu = 'cpu-total' LIMIT 5

image-20200918190725417

实时监控cpu等信息

接下来要在grafana上以图表形式实时查看telegraf收集的存放在influxdb中的指标和数据。

第一步:添加Data Sources

image-20200918191250052

设置的关键信息如下(其它默认即可):

image-20200918191332075

image-20200918191341990

第二步:新建Dashboard

image-20200918191516876

第三步:添加query查询

image-20200918191540141

第四步:设置query

image-20200918191651152

image-20200918191928197

举个例子:

image-20200918192119406

添加多个query后的显示效果:

image-20200918200553996

telegraf plugins

查看telegraf支持的plugins: https://docs.influxdata.com/telegraf/v1.15/plugins/#input-plugins

打开上面的网页后,可以看到telegraf支持的inputoutput等各种plugins,举个例子:

image-20200919175518833

可以看到,CPUpugin idinputs.cpu,点击View

image-20200919175634583

因此,如果我们要使用telegraf收集cpu相关指标时,就直接在telegraf.conf配置文件中的input plugins下添加一下内容即可:

image-20200919175840579

所以说,修改要收集的指标时,有两种方法:

  1. 直接vi修改配置文件telegraf.conf,想要添加收集什么指标,直接把[[inputs.xxx]]等内容追加到input plugins里面即可。
  2. 使用配置命令来修改telegraf.conf配置文件:telegraf -sample-config -input-filter cpu:mem:disk -output-filter influxdb > telegraf.conf

常见的plugins

  • mem :系统内存信息,如物理、虚拟、交换内存量等等。
  • disk :磁盘占用信息。
  • diskio :磁盘IO性能。
  • netnetstat :网卡和网络信息。
  • system :当前系统负载信息,类似uptime信息。
  • file :每个时间周期读取文件所有信息。
  • cpu
  • swap
  • processes

我自己的dashboard

我自己在grafana官网上iddashboard模板的基础上,修改完善了后,个人认为还不错的,大致效果如下,可以监控linux系统的cpu、内存、磁盘、负载、网络等系统运行信息。

image-20200919192813846

完成dashboard修改后,可点击分享:

image-20200919192929440

分享方法1:别人可根据我的link链接来创建dashboardhttp://192.168.239.135:3000/d/OrznxYOMk/influxdb_centos7_info?orgId=1&refresh=5s&from=1600511376487&to=1600514976487&var-host=Jimmy

image-20200919192948563

分享方法2:snapshot:

image-20200919193300707

分享方法3:json信息,别人可以根据我分享的json信息创建dashboard(将dashboardjson信息文件下载保存到本地可以是我们保存dashboard的一种方法)

image-20200919193339404

image-20200919193530124

pannel的查看技巧:

单击某个指标名称可仅查看单个指标信息:

image-20200919202908700

双击其它名称时又可查看全部指标信息:

image-20200919203039672

posted @ 2020-08-30 23:28  Whatever_It_Takes  阅读(567)  评论(0编辑  收藏  举报