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

influx
官方文档:https://docs.influxdata.com/platform/getting-started/
或者https://docs.influxdata.com/influxdb/v1.6/
InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。类似的数据库有Elasticsearch、Graphite等。
主要功能:
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端口:

grafana
Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点:
- 1、展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;
- 2、数据源:
Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等; - 3、通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过
Slack、PagerDuty等获得通知; - 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端口,3000为Grafana的默认侦听端口:
firewall-cmd --add-port=3000/tcp --permanent
firewall-cmd --add-port=3000/udp --permanent
firewall-cmd --reload
浏览器访问grafana,http://ip:3000,初始账号和密码都是admin,初次登录需要修改密码。

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

选择influxDB:

2、设置数据源Data Source:

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

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


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



telegraf
安装telegraf
官方学习文档:https://docs.influxdata.com/telegraf/v1.9/introduction/getting-started/
telegraf是一个可收集系统和服务的统计数据,比如说cpu使用率等,并写入到InfluxDB数据库的程序。通过telegraf,我们可将系统cpu、内存、磁盘等使用数据实时地写入InfluxDB数据库,从而在grafana的web页面中以图表形式展示出来。
在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

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

查看官方文档:

可以知道,在启动telegraf服务之前,需要先编辑或者初始化创建一个配置文件(其实这步可以跳过),这个配置文件包含了一些信息,如:
- 统计的指标从哪里来
- 统计的指标存放到哪里去
配置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库:

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

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

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

实时监控cpu等信息
接下来要在grafana上以图表形式实时查看telegraf收集的存放在influxdb中的指标和数据。
第一步:添加Data Sources

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


第二步:新建Dashboard

第三步:添加query查询

第四步:设置query:


举个例子:

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

telegraf plugins
查看telegraf支持的plugins: https://docs.influxdata.com/telegraf/v1.15/plugins/#input-plugins
打开上面的网页后,可以看到telegraf支持的input和output等各种plugins,举个例子:

可以看到,CPU的pugin id为inputs.cpu,点击View:

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

所以说,修改要收集的指标时,有两种方法:
- 直接
vi修改配置文件telegraf.conf,想要添加收集什么指标,直接把[[inputs.xxx]]等内容追加到input plugins里面即可。 - 使用配置命令来修改
telegraf.conf配置文件:telegraf -sample-config -input-filter cpu:mem:disk -output-filter influxdb > telegraf.conf
常见的plugins:
mem:系统内存信息,如物理、虚拟、交换内存量等等。disk:磁盘占用信息。diskio:磁盘IO性能。net和netstat:网卡和网络信息。system:当前系统负载信息,类似uptime信息。file:每个时间周期读取文件所有信息。cpuswapprocesses
我自己的dashboard
我自己在grafana官网上id为dashboard模板的基础上,修改完善了后,个人认为还不错的,大致效果如下,可以监控linux系统的cpu、内存、磁盘、负载、网络等系统运行信息。

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

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

分享方法2:snapshot:

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


pannel的查看技巧:
单击某个指标名称可仅查看单个指标信息:

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


浙公网安备 33010602011771号