Apache SkyWalking

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

SkyWalking 是观察性分析平台和应用性能管理系统。

提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案.

支持Java, .Net Core, PHP, NodeJS, Golang, LUA语言探针

支持Envoy + Istio构建的Service Mesh

Application Performance Management 应用程序性能管理 工具

我们用 APM 工具要实现的就是以下四点:

1、查看微服务节点的健康状态。

2、判断响应时间的消耗点。

3、通过我们前文中提到的定向监控手段进行详细地问题定位,细化到组件的配置、代码行和 SQL 层级。

4、最后根据定位的根本原因,提出具体的性能瓶颈解决方案。

2、安装配置

[oracle@es01 config]$ cat elasticsearch.yml |grep -v '^#'|grep -v '^$'

[oracle@es01 config]$ cat elasticsearch.yml |grep -v '^#'|grep -v '^$'

node.name: node-1

path.data: /opt/data/elasticsearch/data

path.logs: /opt/data/elasticsearch/logs

network.host: 192.168.9.178

http.port: 9200

cluster.initial_master_nodes: ["node-1"]

[oracle@es01 config]$

nohup /opt/oracle/elasticsearch/bin/elasticsearch &

首先将默认的H2数据库配置给注释掉:

然后将elasticsearch7配置的注释解开,并修改如下:

storage:

elasticsearch7:

clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.9.178:9200}

protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}

indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}

indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}

recordDataTTL: ${SW_STORAGE_ES_RECORD_DATA_TTL:7} # Unit is day

otherMetricsDataTTL: ${SW_STORAGE_ES_OTHER_METRIC_DATA_TTL:45} # Unit is day

monthMetricsDataTTL: ${SW_STORAGE_ES_MONTH_METRIC_DATA_TTL:18} # Unit is month

bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:1000} # Execute the bulk every 1000 requests

flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10} # flush the bulk every 10 seconds whatever the number of requests

concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2} # the number of concurrent requests

resultWindowMaxSize: ${SW_STORAGE_ES_QUERY_MAX_WINDOW_SIZE:10000}

metadataQueryMaxSize: ${SW_STORAGE_ES_QUERY_MAX_SIZE:5000}

segmentQueryMaxSize: ${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200}

sh bin/startup.sh

3、agent配置

三种方式:

• 使用官方提供的基础镜像

• 将 agent 包构建到已经存在的基础镜像中

• sidecar 模式挂载 agent

sidecar 模式挂载 agent

每个pod挂载远程的agent, jvm添加参数

-javaagent:/nfs/sor/soft/skywalking6/agent/skywalking-agent.jar -Dskywalking.agent.service_name=${POD_NAME} -Dskywalking.collector.backend_service=192.168.9.178:11800 -Dskywalking.logging.dir=/opt/log/skywalking-agent

4、使用

仪表盘

Global

Global Heatmap

可以查看请求调用时间占比

Global Response Time Percentile

P99 是99%请求平均时间

P75 是75%请求平均时间

Global Brief

全局简要

Global Top Thoughput

最耗cpu的

Global Top Slow Endpoint

最慢的接口

拓扑图

点击图标

有关键字搜索、追踪、服务性能、端点性能功能

追踪

找到端点名称搜索完整的调用链路

可以用列表、树结构、表格 展示

点击每个链路可以查看到跨度信息

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐