【云原生kubernetes系列之SkyWalking篇】

1、实战案例

1.1单体jar包监控

1.1.1Halo环境准备

注意:Halo需要jdk11以上的版本

bash 复制代码
apt  install -y java-11-openjdk
mkdir /apps/halo -p && cd /apps/halo
curl -L https://github.com/halo-dev/halo/releases/download/v1.5.4/halo-1.5.4.jar --output halo.jar
cd /apps
wget https://dlcdn.apache.org/skywalking/java-agent/8.12.0/apache-skywalking-java-agent-8.12.0.tgz
tar xf apache-skywalking-java-agent-8.12.0.tgz
vi /apps/skywalking-agent/config/agent.config

1.1.2配置SkyWalking agent

bash 复制代码
vim /apps/skywalking-agent/config/agent.config
# The group name is optional only.
# 在UI显示,服务的名字
agent.service_name=${SW_AGENT_NAME:Halo}

# The agent namespace
# 不显示,一般是所属项目
agent.namespace=${SW_AGENT_NAMESPACE:Weng}

# Backend service addresses.
# skywalk server 地址
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:172.17.1.60:11800}

#启动服务
java -javaagent:/apps/skywalking-agent/skywalking-agent.jar -jar /apps/halo/halo.jar

#如果是容器启动如下:
java -javaagent:/apps/skywalking-agent/skywalking-agent.jar \
-DSW_AGENT_NAMESPACE=Weng \
-DSW_AGENT_NAME=Halo \
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=172.17.1.60:11800 \
-jar /apps/halo/halo.jar

1.1.3配置halo环境

1.1.4 在SkyWalking平台上测试是否采集到数据

1.2UI界面参数的解释

指标名称 指标参数值
Success Rate in Current Service (%) 当前服务成功率(%)
Service Apdex(数字) 当前服务的评分
Successful Rate(数字) 请求成功率
Service Load (calls / min) 数字 分钟请求数
Service Avg Response Times(ms) 平均响应延时,单位ms
Service Apdex(折线图) 一段时间内Apdex评分
Service Response Time Percentile (ms)折线图 服务响应时间百分比
Service Load (calls / min) 折线图 分钟请求数
Success Rate (%)折线图 分钟请求成功百分比
Message Queue Consuming Count(折线图) 消息队列消耗计数
Message Queue Avg Consuming Latency (ms)折线图 消息队列平均消耗延迟(毫秒)
Service Instances Load (calls / min) 节点请求次数
Slow Service Instance (ms) 每个服务实例(物理机、云主机、pod)的最大延时
Service Instance Success Rate (%) 每个服务实例的请求成功率
Endpoint Load in Current Service (calls / min) 每个端点(URL)的请求次数
Slow Endpoints in Current Service (ms) 当前端点(URL)的最慢响应时间
1.2.1服务实例概览信息
  • Service Instance Load (calls / min):当前实例的每分钟请求数。
  • Service Instance Success Rate (%):当前实例的请求成功率。
  • Service Instance Latency (ms):当前实例的响应延时。
  • Database Connection Pool:数据库连接池信息
  • Thread Pool:线程池信息
1.2.2服务端点信息
  • Endpoints: URL
  • Load (calls / min):平均请求次数(默认时间范围半小时),比如半小时内总请求次数6次,6%30=0.20
  • Success Rate (%):平均成功率(默认时间范围半小时)
  • Latency (ms):平均延迟时间(默认时间范围半小时)
1.2.3服务拓扑图
1.2.4服务请求追踪信息

这里就以java服务为例了,其他服务照此配置,到官网下载指定语言的agent,然后修改下参数即可

1.3 配置告警信息

bash 复制代码
root@sk:~# cat /apps/apache-skywalking-apm-bin/config/alarm-settings.yml
rules:
  service_cpm_rule:
    metrics-name: service_cpm
    op: ">"
    threshold: 1
    period: 2
    count: 1
    silence-period: 2
    message: 服务 {name} 访问次数大于1

dingtalkHooks:
  textTemplate: |-
    {
      "msgtype": "text",
      "text": {
        "content": "Apache SkyWalking Alarm: \n %s."
      }
    }
  webhooks:
    - url: https://oapi.dingtalk.com/robot/send?access_token=1fefd439818d0d46f6259ba1f1f99683832fec7190d1623d4d1d3bec5c1bbfc5

#重启服务
root@sk:~# pkill  java
root@sk:~# systemctl restart skywalking.service

但是钉钉没有收到告警信息,然后手动执行钉钉告警是可以的,然后自动告警就莫名行了

bash 复制代码
root@sk:~# curl -X POST "https://oapi.dingtalk.com/robot/send?access_token=1fefd439818d0d46f6259ba1f1f99683832fec7190d1623d4d1d3bec5c1bbfc5" \
     -H "Content-Type: application/json" \
     -d '{
           "msgtype": "text",
           "text": {
             "content": "Apache SkyWalking Alarm: \n %s."
           }
         }'
相关推荐
zz-zjx6 小时前
Kubernetes 的部署方式 (二)通过 kubeasz部署单机版1.34.1
云原生·容器·kubernetes
是小崔啊7 小时前
叩丁狼k8s - 组件篇
云原生·容器·kubernetes
Dobby_058 小时前
【k8s】集群安全机制(二):鉴权
运维·安全·kubernetes
zz-zjx9 小时前
Kubernetes 的部署方式 (一)通过 Minikube 部署
云原生·容器·kubernetes
passerma13 小时前
云原生构建Cloud Native Build构建项目配置 demo
云原生
2501_9401986913 小时前
【前瞻创想】Kurator分布式云原生平台:从架构解析到企业级多云集群管理实战指南
分布式·云原生·架构
Justin_1913 小时前
K8s常见问题
云原生·容器·kubernetes
川2113 小时前
Nacos和ZooKeeper的选型
分布式·zookeeper·云原生
周杰伦_Jay14 小时前
【探索实战】从0到1精通Kurator:分布式云原生平台实战教程
分布式·云原生·kurator
2501_940198691 天前
【前瞻创想】Kurator·云原生实战派:打造下一代分布式云原生基础设施
分布式·云原生