【云原生kubernetes系列之SkyWalking篇】

1、实战案例

1.1单体jar包监控

1.1.1Halo环境准备

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

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

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 配置告警信息

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

在这里插入图片描述

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

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."
           }
         }'

在这里插入图片描述

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值