【云原生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."
           }
         }'
相关推荐
无名之逆5 小时前
云原生(Cloud Native)
开发语言·c++·算法·云原生·面试·职场和发展·大学期末
Richardlygo5 小时前
(k8s)Kubernetes部署Promehteus
云原生·容器·kubernetes
炸裂狸花猫7 小时前
Kubernetes从零到精通(12-Ingress、Gateway API)
容器·kubernetes·gateway
Lill_bin9 小时前
JVM内部结构解析
jvm·后端·spring cloud·微服务·云原生·ribbon
青云交10 小时前
大数据新视界 --大数据大厂之Kubernetes与大数据:容器化部署的最佳实践
数据库·kubernetes·容器编排·资源管理·大数据处理·扩展性、故障恢复·存储持久化·监控、日志管理、性能提升
二进制杯莫停10 小时前
初识zookeeper
分布式·zookeeper·云原生
StevenZeng学堂11 小时前
【Kubernetes笔记】为什么DNS解析会超时?
网络协议·docker·云原生·kubernetes
爱吃龙利鱼1 天前
nginx实现https安全访问的详细配置过程
运维·nginx·安全·云原生·https
大白菜和MySQL1 天前
rockylinux9.4单master节点k8s1.28集群部署
云原生·容器·kubernetes
向往风的男子1 天前
【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(三十)
学习·容器·kubernetes