学习方向 | 分析进阶视频 | 教程地址 | 备注 |
---|---|---|---|
01_k8s零基础入门实战 | 地址 | 地址 | |
02_k8s纯源码解读课程,助力你变成k8s专家 | 地址 | 地址 | |
03_k8s底层原理和源码讲解之精华篇 | 地址 | 地址 | |
04_k8s底层原理和源码讲解之进阶篇 | 地址 | 地址 |
学习方向 | 分析进阶视频 | 教程地址 | 备注 |
---|---|---|---|
01_k8s运维大师课程 | 地址 | 地址 | |
02_k8s-operator和crd实战开发 助你成为k8s专家 | 地址 | 地址 | |
02_k8s二次开发之基于真实负载的调度器 | 地址 | 地址 |
学习方向 | 分析进阶视频 | 教程地址 | 备注 |
---|---|---|---|
01_prometheus零基础入门,grafana基础操作,主流exporter采集配置 | 地址 | 地址 | |
02_prometheus全组件配置使用、底层原理解析、高可用实战 | 地址 | 地址 | |
03_kube-prometheus和prometheus-operator实战和原理介绍 | 地址 | 地址 | |
04_prometheus-thanos使用和源码解读 | 地址 | 地址 | |
05_prometheus源码讲解和二次开发 | 地址 | 地址 |
学习方向 | 分析进阶视频 | 教程地址 | 备注 |
---|---|---|---|
01_golang基础课程 | 地址 | 地址 | |
02_golang运维平台实战,服务树,日志监控,任务执行,分布式探测 | 地址 | 地址 | |
03_golang运维开发实战课程之k8s巡检平台] | 地址 | 地址 |
学习方向 | 分析进阶视频 | 教程地址 | 备注 |
---|---|---|---|
01_tekton全流水线实战和pipeline运行原理源码解读 | 地址 | 地址 |
key1 其实最主要能看到公有混合云内网所有region两两之间的延迟和丢包率
维度落在region而不是tor,即不关心同region内的延迟
如果采用单个agent集中向外探测的问题: 效率问题、探测节点网络质量问题导致结果出错
不关心单个ip或vip的结果,而是需要用多个ip结果汇总代表这个region的网络质量
c/s架构: client负责探测,server生成/配置探测target池,server通过rpc下发个体client target ,agent通过rpc上报探测结果给server端处理
被探测target列表支持配置同时能更"智能点",所以设置成agent启动后能自动生成target池:
eg: 4个region{a-d}中各2个vm{1-8},结果就是不同reigon间的vm需要互相探测,vm1的target就是vm{3-8} ,vm3的target就是vm{1,2,4-8}
公有云上的vm 利用接口http://169.254.169.254/latest/meta-data/placement/availability-zone 可以获取vm的region
key2 能够对关键http接口发起探测
key3 数据接入prometheus,由grafana展示
地址 https://awesomeopensource.com/project/ning1875/xprober
xprober
是分布式c/s架构ping&http探测框架:
$ git clone https://github.com/ning1875/xprober.git
# build agent
$ cd xprober/pkg/cmd/agent && go build -o xprober-agent main.go
# build server
$ cd ../server/ && go build -o xprober-server main.go`
# for server
xprober-server --config.file=xprober.yml
# for agent
xprober-agent --grpc.server-address=$server_rpc_ip:6001
将以下文本添加到promtheus.yaml的scrape_configs部分,server_rpc_ip为server的ip
scrape_configs:
- job_name: net_monitor
honor_labels: true
honor_timestamps: true
scrape_interval: 10s
scrape_timeout: 5s
metrics_path: /metrics
scheme: http
static_configs:
- targets:
- $server_rpc_ip:6002
在common/metrics.go中查看指标名称并将其添加到grafana仪表板
// ping 指标
ping_latency_millonseconds
ping_packageDrop_rate
ping_target_success
// http 指标
http_resolveDuration_millonseconds
http_tlsDuration_millonseconds
http_connectDuration_millonseconds
http_processingDuration_millonseconds
http_transferDuration_millonseconds
http_interface_success