skywalking架构及简介

官网:https://github.com/apache/skywalking

简介

Java, .NET Core, NodeJS, PHP, and Python auto-instrument agents.
Go and C++ SDKs.
LUA agent especially for Nginx, OpenResty and Apache APISIX.
Browser agent.
Service Mesh Observability. Control panel and data panel.
Metrics system, including Prometheus, OpenTelemetry, Spring Sleuth(Micrometer), Zabbix.
Logs.
Zipkin v1/v2 trace.(No Analysis)

编写OAP和UI资源文件

其中,使用的镜像:

apache/skywalking-oap-server:8.6.0-es7
apache/skywalking-ui:8.6.0
 
apiVersion: v1
kind: Service
metadata:
name: ui
namespace: skywalking
labels:
service: ui
spec:
ports:
- port: 8080
name: page
nodePort: 30123
selector:
app: ui
type: NodePort
apiVersion: apps/v1
kind: Deployment
metadata:
name: ui-deployment
namespace: skywalking
labels:
app: ui
spec:
replicas: 1
selector:
matchLabels:
app: ui
template:
metadata:
labels:
app: ui
spec:
containers:
- name: ui
image: 192.168.117.160/apache/skywalking-ui:8.6.0
imagePullPolicy: IfNotPresent
ports:
- name: page
containerPort: 8080
env:
- name: SW_OAP_ADDRESS
value: oap:12800

  

部署OAP和UI

创建名称空间:kubectl create ns skywalking
查看名称空间:kubectl get ns

应用资源文件:kubectl apply -f .
 
看名称空间下所有资源:kubectl get all -n skywalking

可以看日志是否正常(端口是否ok):kubectl logs pod/oap-9d459674b-8vndj -n skywalking

使用skywalking agent

这里,我们不修改服务镜像,通过共享volumes的方式,使agent能被服务镜像访问并使用

下载镜像:skywalking-agent-sidecar:v1.0

推送到本地镜像仓库

资源yaml文件中,添加初始化容器

      initContainers:
- image: 192.168.117.160/skywalking/skywalking-agent-sidecar:v1.0
name: sw-agent-sidecar
imagePullPolicy: IfNotPresent
command: ["sh"]
args:
[
"-c",
"mkdir -p /skywalking/agent && cp -r /usr/skywalking/agent/* /skywalking/agent",
]
volumeMounts:
- mountPath: /skywalking/agent
name: sw-agent

资源yaml文件中,服务容器添加环境变量和volumeMounts

 env:
- name: JAVA_OPTS
value: -javaagent:/usr/skywalking/agent/skywalking-agent.jar
volumeMounts:
- mountPath: /usr/skywalking/agent
name: sw-agent

部署服务,这样,服务启动的时候,就会加上上面的变量

进入容器:kubectl exec -it product-78fcbdfd6b-mv2hl -n mm -- sh

可以看到,服务容器的目录下有skywalking-agent.jar

top查看进程

访问

 

skywalking更多使用

详见:https://www.cnblogs.com/uncleyong/p/15752370.html

【性能项目实战:jmeter+k8s+微服务+skywalking+efk】汇总

详见:https://www.cnblogs.com/uncleyong/p/15475614.html

k8s搭建链路监控:skywalking的更多相关文章

  1. skywalking 搭建链路监控

    一.skywalking简介 官网:https://github.com/apache/skywalking 引用官网的架构:  二.部署OAP和UI 需使用的镜像 apache/skywalking ...

  2. 新一代APM链路监控选型的一个总结重点是skywalking和pinpoint的对比

    链路监控选型的一个比较:1.cat框架:需要对业务代码有较强的侵入性,对代码的侵入性很大,集成成本较高,风险较大:2.zipkin框架:仅支持spring cloud,不支持dubbo,功能及其简单, ...

  3. kubeadm构建k8s之Prometheus-operated监控(0.18.1)

    介绍: 大家好,k8s的搭建有许多方式,也有许多快速部署的,为了简化部署的复杂度,官方也提供了开源的kubeadm快速部署,最新1.10.x版本已经可以实现部署集群, 如果你对k8s的原理已经非常了解 ...

  4. 分布式链路监控与追踪系统Zipkin

    1.分布式链路监控与追踪产生背景2.SpringCloud Sleuth + Zipkin3.分布式服务追踪实现原理4.搭建Zipkin服务追踪系统5.搭建Zipkin集成RabbitMQ异步传输6. ...

  5. Spring Cloud Sleuth + Zipkin 链路监控

    原文:https://blog.csdn.net/hubo_88/article/details/80878632 在微服务系统中,随着业务的发展,系统会变得越来越大,那么各个服务之间的调用关系也就变 ...

  6. 总结2015搭建日志,监控,ci,前端路由,数据平台,画的图与界面 - hugo - ITeye技术网站

    总结2015搭建日志,监控,ci,前端路由,数据平台,画的图与界面 - hugo - ITeye技术网站 极分享:高质分享+专业互助=没有难做的软件+没有不得已的加班 极分享:高质分享+专业互助=没有 ...

  7. 使用monit搭建一个监控系统

    上周用monit搭建或者说定制了一个监控系统,来监控服务器发生事情.当然了主要是监控异常,因为我们的产品属于服务器类型,很多进程都daemon,要不停的运行.我们搭建监控目的不过是出现问题能够及时的知 ...

  8. 自动安装脚本-------------基于LVMP搭建Nagios 监控

    Mysql初始化参数(mysql-5.6.31) /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local ...

  9. Telegraf+InfluxDB+Grafana搭建服务器监控平台

    Telegraf+InfluxDB+Grafana搭建服务器监控平台 tags:网站 个人网站:https://wanghualong.cn/ 效果展示 本站服务器状态监控:https://statu ...

随机推荐

  1. FFT 傅里叶万岁

    FFT --- Fast Foulier Transformation 以 $O(n \log n)$ 的速度计算 $\forall k=1,2,\dots,n, c[k]=\sum\limits_{ ...

  2. vue3路由的使用,保证你有所收获!

    路由变量 有的小伙伴,可能是第一次听见路由变量这个词. 什么是路由变量了,顾名思义就是这个路由地址是动态的,不是固定的. 它的运用场景是哪里呢? 比如说:1.详情页的地址,我们就可以去使用路由变量. ...

  3. 2月4日 体温APP开发记录

    1.阅读构建之法 现代软件工程(第三版) 2.观看Android开发视频教程最新版 Android Studio开发 3.数据库链接,,数据传输功能测试

  4. 【记录一个问题】thanos receiver的日志中出现错误:conflict

    完整的错误如下: level=debug ts=2021-08-16T09:07:43.412451Z caller=handler.go:355 component=receive componen ...

  5. 【记录一个问题】ndk下使用c++11的condition_variable问题较多

    1.存在通知丢失的情况:生产者线程通知196次,消费者线程收到190次,导致部分数据无法被处理. 2.cond.wait()方法后的加锁有问题,导致对空队列进行出队操作然后coredump.一直记得w ...

  6. thinkpad s5 电源功率不足提示

    相关答案 作者:路灯瓜 链接:https://www.zhihu.com/question/47551448/answer/122578101 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权 ...

  7. nao机器人使用手册

    简单使用和保养 开关机和马达 开机是按一下,后来按一下相当于重启了一次程序,3是播报IP地址,5秒是关机,8秒是强制关机. 电池 3月左右不用需要取下电池.夏天5-8小时,冬天8-10小时充电.活动时 ...

  8. Natasha 4.0 探索之路系列(一) 概况

    Natasha 简介 Natasha 是一个基于 Roslyn 的动态编译类库, 它以极简的 API 完成了动态编译的大部分功能, 使用它可以在程序运行时编译出新的程序集. Natasha 允许开发人 ...

  9. context包

    目录 Context包到底是干嘛用的? context原理 什么时候应该使用 Context? 如何创建 Context? 主协程通知有子协程,子协程又有多个子协程 context核心接口 empty ...

  10. Python如何把八进制转换成ASCII码

    做题途中拿到一串八进制字符串 0126 062 0126 0163 0142 0103 0102 0153 0142 062 065 0154 0111 0121 0157 0113 0111 010 ...