【云原生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."
           }
         }'
相关推荐
YCyjs7 小时前
K8S群集调度二
云原生·容器·kubernetes
Hoxy.R7 小时前
K8s小白入门
云原生·容器·kubernetes
为什么这亚子13 小时前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算
ZHOU西口15 小时前
微服务实战系列之玩转Docker(十八)
分布式·docker·云原生·架构·数据安全·etcd·rbac
牛角上的男孩15 小时前
Istio Gateway发布服务
云原生·gateway·istio
JuiceFS17 小时前
好未来:多云环境下基于 JuiceFS 建设低运维模型仓库
运维·云原生
景天科技苑17 小时前
【云原生开发】K8S多集群资源管理平台架构设计
云原生·容器·kubernetes·k8s·云原生开发·k8s管理系统
wclass-zhengge18 小时前
K8S篇(基本介绍)
云原生·容器·kubernetes
颜淡慕潇18 小时前
【K8S问题系列 |1 】Kubernetes 中 NodePort 类型的 Service 无法访问【已解决】
后端·云原生·容器·kubernetes·问题解决
昌sit!1 天前
K8S node节点没有相应的pod镜像运行故障处理办法
云原生·容器·kubernetes