解决方案:使用 DataFlux 采集 Zookeeper 性能指标并展示

优采云 发布时间: 2022-11-08 17:23

  解决方案:使用 DataFlux 采集 Zookeeper 性能指标并展示

  DataFlux是上海住云自主研发的一套统一的大数据分析平台,通过对任意来源、任意类型、任意规模的实时数据进行监测、分析和处理,释放数据价值。

  DataFlux 包括五个功能模块:

  - 数据包 采集器

  - Dataway 数据网关

  - DataFlux Studio 实时数据洞察平台

  - DataFlux Admin Console 管理后台

  - DataFlux.f(x) 实时数据处理开发平台

  为企业提供全场景数据洞察分析能力,具有实时性、灵活性、易扩展性、易部署性。

  安装 DataKit

  PS:以Linux系统为例

  第一步:执行安装命令

  DataKit 安装命令:

  DK_FTDATAWAY=[你的 DataWay 网关地址] bash -c "$(curl https://static.dataflux.cn/datakit/install.sh)"

  

  在安装命令中添加DataWay网关地址,然后将安装命令复制到主机执行。

  例如:如果DataWay网关的IP地址为1.2.3.4,端口为9528(9528为默认端口),则网关地址为

  :9528/v1/write/metrics,安装命令为:

  DK_FTDATAWAY=http://1.2.3.4:9528/v1/write/metrics bash -c "$(curl https://static.dataflux.cn/datakit/install.sh)"

  安装完成后DataKit会默认自动运行,并会在终端提示DataKit状态管理命令

  Zookeeper 监控指标采集

  前提

  配置

  打开DataKit采集源码配置文件夹(默认路径是DataKit安装目录的conf.d文件夹),找到zookeeper文件夹,打开里面的zookeeper.conf。

  修改设置

  配置完成后重启DataKit生效。

  如果有问题,使用netcat查看Zookeeper的直接输出。

  采集指标

  

  访问日志指标

  指标可能因配置、平台和版本而异。

  验证数据报告

  完成数据采集操作后,我们需要验证数据采集是否成功并上报给DataWay,以便日后可以正常分析和展示数据。

  操作步骤:登录DataFlux-数据管理-指标浏览-验证数据采集是否成功

  Zookeeper 性能指标:

  DataFlux 的数据洞察力

  根据获得的指标进行数据洞察设计,如:

  zookeeper性能监控视图

  基于自研DataKit数据(采集器),DataFlux现在可以对接200多种数据协议,包括:云数据采集、应用数据采集、日志数据采集,时序数据上报和常用数据库的数据聚合,帮助企业实现最便捷的IT统一监控。

  解决方案:分布式追踪与监控:Skywalking全方位介绍

  一、APM简介

  APM(Application Performance Management)应用性能管理,通过各种探针采集和上报数据,采集关键指标,同时进行数据展示,实现应用性能管理和故障管理的系统解决方案。

  目前主要的APM工具有:Cat、Zipkin、Pinpoint、SkyWalking。这里我们主要介绍SkyWalking,这是一款优秀的国产APM工具,包括分布式跟踪、性能指标分析、应用和服务依赖分析等。

  Zabbix、Premetheus、open-falcon等监控系统主要关注服务器硬件指标和系统服务运行状态等,而APM系统更关注内部程序执行过程指标和服务之间的链接调用的监控,APM是更有利于深入代码 找到“慢”请求响应的根本问题,是对像 Zabbix 这样的监控的补充。

  2.分布式链路跟踪

  下图是常见微服务的框架,4个实例,2个MySQL,1个Redis。其实它有两个完全不同的请求进来:一个请求会访问Redis,然后去MySQL;另一个可能去另一个服务,然后直接去MySQL。整个分布式追踪的目的是什么?这样我们才能最终在页面、UI 和数据上重现这个过程。我们需要获取整个完整的链接,包括准确的响应时间、访问方式、访问的圈子、访问的Redis key等。这些是我们在做分布式追踪时需要展示的完整信息。

  3. Apache Skywalking(孵化器)简介

  适用于分布式系统的应用程序性能监控工具,专为微服务、云原生架构和基于容器的(Docker、K8s、Mesos)架构而设计。

  Apache Skywalking(孵化器)是专为微服务架构和云原生架构系统设计的APM系统,支持分布式链路追踪。Apache Skywalking(孵化器)通过加载探针以非侵入方式采集应用调用链接信息,分析采集的调用链接信息,生成应用间和服务间的关系和服务指标。Apache Skywalking (Incubating) 目前支持多种语言,包括 Java、.Net Core、Node.js 和 Go。此外,社区还发展了一个名为 OpenTracing 的组织,旨在推动调用链监控的一些规范和标准。

  Skywalking 支持从 6 个视觉维度分析分布式系统的运行。

  四、SkyWalking原理架构图

  5. SkyWalking核心模块

  SkyWalking 采用组件化开发,易于扩展。主要成分如下:

  1. Skywalking Agent:链接数据采集tracing(调用链数据)和metric(度量)信息并上报,通过HTTP或gRPC向Skywalking Collector发送数据。

  2. Skywalking Collector:链路数据采集器,对agent发送的tracing和metric数据进行整合分析,通过Analysis Core模块进行处理并存储在相关数据存储中,通过Query进行二次统计和监控告警核心模块。.

  3、存储:Skywalking的存储,支持ElasticSearch、Mysql、TiDB、H2等主流存储作为数据存储的存储介质。H2 仅用于单机临时演示。

  4. SkyWalking UI:用于显示着陆数据的网络可视化平台。目前,RocketBot 被正式采用为 SkyWalking 的主要 UI。

  本文通过一个Docker容器安装Skywalking,并集成apisix网关和Spring Boot微服务项目进行APM(Application Performance Management)应用性能管理,检测从接口网关到微服务实例、到数据库、缓存等的链条存储层。道路跟踪。

  六、SkyWalking服务器安装

  安装环境:

  操作系统:CentOS7,配置为4核8G

  Docker 版本:Docker 版本 19.03.12,构建 48a66213fe

  安装工具:docker-compose,版本:docker-compose version 1.26.2,build eefe0d31

  空中漫步版本:8.1.0

  弹性搜索版本:7.5.0

  1.创建目录

  mkdir -p /data/ent/skywalking

cd /data/ent/skywalking

  2.编写docker-compose.yml

  vim docker-compose.yml

#添加以下内容

version: '3.8'

services:

elasticsearch:

image: docker.elastic.co/elasticsearch/elasticsearch:7.5.0

container_name: elasticsearch

restart: always

ports:

- 9200:9200

healthcheck:

test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"]

interval: 30s

timeout: 10s

retries: 3

<p>

start_period: 40s

environment:

- discovery.type=single-node

- bootstrap.memory_lock=true

- "ES_JAVA_OPTS=-Xms512m -Xmx512m"

- TZ=Asia/Shanghai

ulimits:

memlock:

soft: -1

hard: -1

skywalking-oap:

image: apache/skywalking-oap-server:8.1.0-es7

container_name: skywalking-oap

depends_on:

- elasticsearch

links:

- elasticsearch

restart: always

ports:

- 11800:11800

- 12800:12800

healthcheck:

test: ["CMD-SHELL", "/skywalking/bin/swctl"]

interval: 30s

timeout: 10s

retries: 3

start_period: 40s

environment:

TZ: Asia/Shanghai

SW_STORAGE: elasticsearch7

SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200

skywalking-ui:

image: apache/skywalking-ui:8.1.0

container_name: skywalking-ui

depends_on:

- skywalking-oap

links:

- skywalking-oap

restart: always

ports:

- 28080:8080

environment:

TZ: Asia/Shanghai

SW_OAP_ADDRESS: skywalking-oap:12800

</p>

  3.启动服务

  #启动(docker和docker-compose的安装不再详介绍)

<p>

docker-compose up -d

</p>

  4.开放端口

  firewall-cmd --zone=public --add-port=11800/tcp --permanent

firewall-cmd --zone=public --add-port=12800/tcp --permanent

firewall-cmd --zone=public --add-port=28080/tcp --permanent

firewall-cmd --reload

  5.访问skywalking ui后台,访问地址为:server ip:28080

  七、Skywalking Agent安装

  以java代理为例,下载skywalking项目,地址:

  将下载的文件解压,将agent文件夹复制到java项目中,执行java项目时使用javaagent打开skywalking代理

  java -javaagent:agent/skywalking-agent.jar=agent.service_name=sab-service,collector.backend_service=192.168.35.226:11800 -jar sab-manager.war --spring.profiles.active=local_dev

  其中agent.service_name是要注册到skywalking的服务名,collector.backend_service是skywalking grpc注册地址。

  启动时没有报错,可以在skywalking ui后台查看服务是否成功注册到skywalking。

  八、Skywalking UI管理后台介绍 1.首页

  2. 仪表板

  查看全局服务基本性能指标

  2.1。参数说明 2.1.1 全局维度

  2.1.2 服务实例维度

  2.1.3 Instance 实例维度

  2.1.4 Endpoint 端点维度

  3. 拓扑

  SkyWalking 可以根据获取的数据自动绘制服务之间的调用关系图,并可以识别常用服务并显示在图标上。每个连接的颜色反映了服务之间的调用延迟,可以非常直观的看到服务之间的调用状态。点击连接中间的点可以显示两个服务之间的连接的平均值。响应时间、吞吐率和 SLA 等信息。

  4. 追踪

  显示请求响应的内部执行,一个完整的请求经过了哪些服务,执行了哪些代码方法,每个方法的执行时间,执行状态等详细信息,快速定位代码问题。

  可以通过选择服务、实例、状态和端点名称来搜索调用链接,

  您可以点击红色标记的端点查看异常信息

  5、性能分析

  新建一个待分析端点,左侧列表显示任务和对应的采样请求,右侧显示各个端点的端点链接和堆栈信息。

  6.报警

  不同维度的告警列表可以分为服务、端点、实例。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线