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

最新文章

  1. linux 下串口独占方式打开
  2. 子代选择器(>)后代选择器(' ')的区别
  3. 初试Code First(附Demo)
  4. Git的Patch功能
  5. 查看Linux内存状况的命令及工具
  6. JStorm集群的部署
  7. 【转载!】关于C#的RawSocket编程的问题
  8. javaScript 要点(十五)HTML DOM 导航
  9. grunt插件[font-spider] : 转码,压缩字体 @font-face
  10. 动态规划之一ones
  11. Js调用exe程序方法(通过URL Protocol实现网页调用本地应用程序)
  12. ASP.NET没有魔法——ASP.NET与数据库
  13. [python]pip总结
  14. 【转】Android-Input 按键字符映射文件&输入设备配置文件
  15. 【编程拾遗】C++的static成员函数与单例模式
  16. python全栈开发 * 15知识点汇总 * 180621
  17. git中出现remote: HTTP Basic: Access denied
  18. 如何获取ubuntu源码包里面的源码?
  19. redisHelper
  20. Yii2.0 Gridview为某列增加属性

热门文章

  1. 如何使用 GitHub Pages 维护自己的博客
  2. Termux搭建hexo博客并部署到GitHub
  3. [FatFs 学习] SD卡总结-SPI模式
  4. Spark-寒假-实验2
  5. 【刷题-LeetCode】228. Summary Ranges
  6. Git使用简单教程,从建库到远程操作
  7. gin中提供静态文件服务
  8. C++实现switch匹配字符串string(map方法)
  9. 学习JAVAWEB第十二天
  10. Homework_1