【云原生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."
           }
         }'
相关推荐
AKA小徐33 分钟前
Debian12使用RKE2离线部署3master2node三主两从的k8s集群详细教程
kubernetes·rancher·rke2
有一个好名字12 小时前
zookeeper分布式锁模拟12306买票
分布式·zookeeper·云原生
Anna_Tong15 小时前
云原生大数据计算服务 MaxCompute 是什么?
大数据·阿里云·云原生·maxcompute·odps
花晓木15 小时前
k8s etcd 数据损坏处理方式
容器·kubernetes·etcd
运维&陈同学15 小时前
【模块一】kubernetes容器编排进阶实战之基于velero及minio实现etcd数据备份与恢复
数据库·后端·云原生·容器·kubernetes·etcd·minio·velero
花晓木15 小时前
k8s备份 ETCD , 使用velero工具进行备份
容器·kubernetes·etcd
liuxuzxx18 小时前
Istio-2:流量治理之简单负载均衡
云原生·kubernetes·istio
上海运维Q先生18 小时前
面试题整理14----kube-proxy有什么作用
运维·面试·kubernetes
怡雪~19 小时前
Kubernetes使用Ceph存储
ceph·容器·kubernetes
小扳1 天前
微服务篇-深入了解 MinIO 文件服务器(你还在使用阿里云 0SS 对象存储图片服务?教你使用 MinIO 文件服务器:实现从部署到具体使用)
java·服务器·分布式·微服务·云原生·架构