惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Hacker News - Newest:
Hacker News - Newest: "LLM"
S
Security Affairs
PCI Perspectives
PCI Perspectives
Google Online Security Blog
Google Online Security Blog
W
WeLiveSecurity
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Recent Commits to openclaw:main
Recent Commits to openclaw:main
P
Privacy & Cybersecurity Law Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Security @ Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
Cyberwarzone
Cyberwarzone
L
Lohrmann on Cybersecurity
TaoSecurity Blog
TaoSecurity Blog
V
Visual Studio Blog
博客园 - 聂微东
Scott Helme
Scott Helme
博客园 - 【当耐特】
K
Kaspersky official blog
Security Latest
Security Latest
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
MyScale Blog
MyScale Blog
Schneier on Security
Schneier on Security
WordPress大学
WordPress大学
博客园 - 叶小钗
C
Check Point Blog
V2EX - 技术
V2EX - 技术
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
T
Tor Project blog
Apple Machine Learning Research
Apple Machine Learning Research
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
雷峰网
雷峰网
博客园_首页
美团技术团队
Y
Y Combinator Blog
C
CERT Recently Published Vulnerability Notes
AWS News Blog
AWS News Blog
月光博客
月光博客
N
Netflix TechBlog - Medium
Last Week in AI
Last Week in AI
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
Help Net Security
Help Net Security
P
Proofpoint News Feed
MongoDB | Blog
MongoDB | Blog
C
Cybersecurity and Infrastructure Security Agency CISA

jobcher on 打工人日志

2023-12-21 打工人日报 2023-12-20 打工人日报 2023-12-19 打工人日报 2023-12-18 打工人日报 2023-12-17 打工人日报 2023-12-16 打工人日报 2023-12-15 打工人日报 2023-12-14 打工人日报 2023-12-13 打工人日报 2023-12-12 打工人日报 2023-12-11 打工人日报 2023-12-10 打工人日报 2023-12-09 打工人日报 2023-12-08 打工人日报 2023-12-07 打工人日报 2023-12-06 打工人日报 2023-12-05 打工人日报 2023-12-04 打工人日报 2023-12-03 打工人日报 2023-12-02 打工人日报 2023-12-01 打工人日报 2023-11-30 打工人日报 2023-11-29 打工人日报 2023-11-28 打工人日报 2023-11-27 打工人日报 2023-11-26 打工人日报 2023-11-25 打工人日报 2023-11-24 打工人日报 2023-11-23 打工人日报 2023-11-22 打工人日报 2023-11-21 打工人日报 2023-11-20 打工人日报 2023-11-19 打工人日报 2023-11-17 打工人日报 2023-11-16 打工人日报 2023-11-15 打工人日报 2023-11-14 打工人日报 2023-11-13 打工人日报 2023-11-12 打工人日报 2023-11-11 打工人日报 2023-11-10 打工人日报 2023-11-09 打工人日报 2023-11-08 打工人日报 2023-11-07 打工人日报 2023-11-06 打工人日报 2023-11-05 打工人日报 2023-11-04 打工人日报 2023-11-03 打工人日报 2023-11-02 打工人日报 2023-11-01 打工人日报 2023-10-31 打工人日报 2023-10-30 打工人日报 2023-10-29 打工人日报 2023-10-28 打工人日报 2023-10-27 打工人日报 2023-10-26 打工人日报 2023-10-25 打工人日报 2023-10-24 打工人日报 2023-10-23 打工人日报 2023-10-22 打工人日报 2023-10-21 打工人日报 2023-10-20 打工人日报 2023-10-19 打工人日报 2023-10-18 打工人日报 2023-10-17 打工人日报 2023-10-16 打工人日报 2023-10-15 打工人日报 2023-10-14 打工人日报 2023-10-13 打工人日报 2023-10-12 打工人日报 2023-10-11 打工人日报 2023-10-10 打工人日报 2023-10-09 打工人日报 2023-10-07 打工人日报 2023-10-06 打工人日报 2023-10-05 打工人日报 2023-10-04 打工人日报 2023-10-03 打工人日报 2023-10-02 打工人日报 2023-10-01 打工人日报 2023-09-30 打工人日报 2023-09-29 打工人日报 2023-09-28 打工人日报 2023-09-27 打工人日报 2023-09-26 打工人日报 2023-09-25 打工人日报 2023-09-24 打工人日报 2023-09-23 打工人日报 2023-09-22 打工人日报 2023-09-21 打工人日报 2023-09-20 打工人日报 2023-09-19 打工人日报 2023-09-18 打工人日报 2023-09-17 打工人日报 2023-09-16 打工人日报 2023-09-15 打工人日报 2023-09-14 打工人日报 2023-09-13 打工人日报 2023-09-12 打工人日报 2023-09-11 打工人日报
skywalking APM 监控
2022-08-10 · via jobcher on 打工人日志

skywalking

基于 OpenTracing 规范,专门为微服务架构以及云原生服务。

APM 监控

一个基于微服务架构的电商系统

APM (Application Performance Management) 即应用性能管理,属于 IT 运维管理(ITOM)范畴.
分为一下三个方面:

  • Logging
    服务在处理某个请求时打印的错误日志,可以将这些日志信息记录到Elasticsearch或是其他存储中。通过 Kibana 或是其他工具来分析这些日志了解服务的行为和状态,大多数情况下。日志记录的数据很分散,并且相互独立。例如错误日志,请求处理过程中关键步骤的日志等等。
  • Metrics
    Metric是可以聚合的,例如为电商系统中每个 HTTP 接口添加一个计数器,计算每个接口的 QPS,可以通过简单的加和计算得到系统的总负载情况。
  • Tracing
    在微服务架构系统中一请求会经过很多服务处理,调用链路会非常长,要确定中间哪个服务出现异常是非常麻烦的事情,通过分布式链路追踪,运维人员就可以构建一个请求的视图。视图上战术了一个请求从进入系统开始到返回响应的整个流程。

系统交互图

系统加载图 >

目前流行的APM监控

  • Zipkin
    • 对 web.xml 进行修改,代码侵入
    • twitter 开源
  • Cat
    • 支持 Java、C/C++、Node.Js、Python、go
    • 代码侵入,埋点
    • 美团开源
  • Pinpoint
    • 基于字节码注入技术,代码无侵入
    • 韩国公司开发,社区交流滞后
    • 只支持 hbase
    • 颗粒度更细
  • Skywalking
    观测性分析平台
    • 基于字节码注入技术,代码无侵入
    • 服务、服务实例、端点指标分析
    • 服务拓扑图分析
    • 服务、服务实例和端点(Endpont)SLA 分析
    • 支持 es,h2,mysql,TiDb,sharding-sphere

skywalking 整体框架

  • 上部分 Agent :负责从应用中,收集链路信息,发送给 SkyWalking OAP 服务器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 数据信息。而我们目前采用的是,SkyWalking Agent 收集 SkyWalking Tracing 数据,传递给服务器。
  • 下部分 SkyWalking OAP :负责接收 Agent 发送的 Tracing 数据信息,然后进行分析(Analysis Core) ,存储到外部存储器( Storage ),最终提供查询( Query )功能。
  • 右部分 Storage :Tracing 数据存储。目前支持 ES、MySQL、Sharding Sphere、TiDB、H2 多种存储器。而我们目前采用的是 ES ,主要考虑是 SkyWalking 开发团队自己的生产环境采用 ES 为主。
  • 左部分 SkyWalking UI :负责提供控台,查看链路等等。

skywalking 配置

使用 docker-compose 安装

使用 mysql 作为存储
下载 mysql-connector-java-8.0.30.jar

1mkdir ./libs/
2mv mysql-connector-java-8.0.30.jar ./libs/

创建带 mysql 驱动的基础镜像

1FROM apache/skywalking-oap-server:9.1.0
2LABEL maintainer="nb@nbtyfood.com"
3COPY ./libs/* /skywalking/oap-libs

上传 dockerhub 或者自己的镜像仓库,这里我是上传到自己的仓库

  1. 创建镜像

    docker build -t skywalking-mysql-server:v1.0 .

  2. 打 tag,选择上传位置

    docker tag skywalking-mysql-server:v1.0 <仓库地址>/blog/skywalking-mysql-server:v1.0

  3. 上传镜像

    docker push <仓库地址>/blog/skywalking-mysql-server:v1.0

 1version: "3"
 2services:
 3  skywalking-oap-server:
 4    image: "hub.docker.com/jobcher/skywalking-mysql-server:v1.0" #docker iamge 地址
 5    container_name: "oap-server"
 6    restart: "always"
 7    environment:
 8      - SW_STORAGE=mysql
 9      - SW_JDBC_URL="jdbc:mysql://10.12.12.4:3306/sk"
10      - SW_DATA_SOURCE_USER=user # mysql用户名
11      - SW_DATA_SOURCE_PASSWORD=password # mysql密码
12    ports:
13      - "10.12.12.16:12800:12800"
14      - "10.12.12.16:1234:1234"
15      - "10.12.12.16:11800:11800"
16
17  skywalking-oap-ui: #UI界面
18    image: "apache/skywalking-ui:9.1.0"
19    container_name: "oap-ui"
20    restart: "always"
21    environment:
22      - SW_OAP_ADDRESS=http://10.12.12.16:12800
23    ports:
24      - "8180:8080"

skywalking 客户端部署

下载客户端
点击下载

安装到要监控的主机

1wget https://archive.apache.org/dist/skywalking/8.14.0/apache-skywalking-java-agent-8.14.0.tgz
2tar -zxvf apache-skywalking-java-agent-8.14.0.tgz

配置变量

1# SkyWalking Agent 配置
2export SW_AGENT_NAME=rf-consumer # 配置 Agent 名字。一般来说,我们直接使用 Spring Boot 项目的 `spring.application.name` 。
3export SW_AGENT_COLLECTOR_BACKEND_SERVICES=10.12.12.16:11800 # 配置 Collector 地址。
4#export SW_AGENT_SPAN_LIMIT=2000 # 配置链路的最大 Span 数量。一般情况下,不需要配置,默认为 300 。主要考虑,有些新上 SkyWalking Agent 的项目,代码可能比较糟糕。
5export JAVA_AGENT=-javaagent:/home/ubuntu/skywalking-agent/skywalking-agent.jar # SkyWalking Agent jar 地址。

启动java程序

1java $JAVA_AGENT -jar yourapp.jar
2#或者
3java -javaagent:<skywalking-agent-path> -jar yourApp.jar