skywalking

.NetCore从零开始使用Skywalking分布式链路追踪系统

只谈情不闲聊 提交于 2020-08-20 00:06:19
当我们用很多服务时,各个服务间的调用关系是怎么样的?各个服务单调用的顺序\时间性能怎么样?服务出错了,到底是哪个服务引起的?这些问题我们用什么方案解决呢,以前的方式是各个系统自己单独做日志,出了问题从暴出问题的服务开始一个一个服务的排查,耗时耗力,有些日志不全的,还不一定查得出来。好在现在有Skywalking链路追踪系统,可以不用写任何代码,就追踪到各个服务间的调用关系和性能状态等。 本文将从0开始搭建两个webapi项目,使用Skywalking来追踪他们之间的调用关系及响应时间。开发环境为VisualStudio2019 1:安装Skywalking ,可参考: https://www.cnblogs.com/sunyuliang/p/11422576.html ,本列中搭建好后的Skywalking服务器地址为:192.168.150.134 2:打开VS创建一个demo1的webapi项目。 2.1:为项目添加NuGet程序包SkyAPM.Agent.AspNetCore的引用   2.2,在项目根目录添加skyapm.json文件,并添加下以内容,其中的Servers结点的IP地址根据实际情况换成自己的服务器IP { "SkyWalking": { "ServiceName": "Demo01", "Namespace": "", "HeaderVersions": [

Skywalking 6.0+elasticsearch6 环境搭建

╄→尐↘猪︶ㄣ 提交于 2020-08-18 13:11:18
原文: https://yangxx.net/?p=3825 所需环境 jdk1.8 elasticsearch6.5.4 下载地址 skywalking-6.2.0 下载地址 centos 7.6 JDK安装 安装及配置过程省略 es 安装 下载解压并ES文件 配置文件 修改${es_home}/config/elasticsearch.yml # 集群名称 cluster.name : es -cluster # 节点名称 node.name : node1 #指定该节点是否有资格被选举成为master节点,默认是true, node.master : true #允许该节点存储数据(默认开启) node.data : true # 数据的默认存放路径 path.data : /home/skywaling/soft/elasticsearch -6.5.4/data/ # 日志的默认存放路径 path.logs : /home/skywaling/soft/elasticsearch -6.5.4/log/ # bind IP地址 network.host : 0.0.0.0 # 服务端口 http.port : 9200 # 集群服务的端口 transport.tcp.port : 9300 bootstrap.memory_lock : false bootstrap

skywalking部署

∥☆過路亽.° 提交于 2020-08-17 15:56:32
es7: https://blog.csdn.net/liusheng3108/article/details/107287237/ skywalking: https://blog.csdn.net/lizz861109/article/details/107514354 来源: oschina 链接: https://my.oschina.net/u/3966437/blog/4500657

安全通告 | Apache SkyWalking SQL注入漏洞安全风险公告(CVE-2020-13921)

淺唱寂寞╮ 提交于 2020-08-16 06:15:35
近日,腾讯蓝军(force.tencent.com)发现并向Apache SkyWalking官方团队提交SQL注入漏洞(漏洞编号:CVE-2020-13921),目前官方已发布新版本修复该漏洞。 为避免您的业务受影响,腾讯云安全建议您及时开展安全自查,如在受影响范围,请您及时进行更新修复,避免被外部攻击者入侵。 漏洞详情 Apache SkyWalking 是一款应用性能监控(APM)工具,对微服务、云原生和容器化应用提供自动化、高性能的监控方案。其官方网站显示,大量的国内互联网、银行、民航等领域的公司在使用此工具。 在SkyWalking多个版本中,默认开放的未授权GraphQL接口,通过该接口,攻击者可以构造恶意的请求包进行SQL注入,从而导致用户数据库敏感信息泄露。鉴于该漏洞影响较大,建议企业尽快修复。 风险等级 高风险 漏洞风险 通过SQL注入,攻击者可以在服务器上窃取敏感信息 影响版本 Apache SkyWalking 6.0.0~6.6.0 Apache SkyWalking 7.0.0 Apache SkyWalking 8.0.0~8.0.1 修复版本 Apache SkyWalking 8.1.0 修复建议 官方已发布新版本修复该漏洞,腾讯云安全建议您: 1. 推荐方案:升级到Apache SkyWalking 8.1.0或更新版本。 2. 如暂时无法升级

企业如何开展软件成分分析工作?上海控安有话说

北城余情 提交于 2020-08-16 06:11:03
为了加速业务创新,应用开源技术提升开发效率成为企业的主流选择,但这也导致了日益依赖复杂的软件供应链。虽然有诸多优点,但广泛应用开源组件也带来了新的安全挑战,软件成分分析(SCA)应运而生。 软件成分风险日益加剧 近日,Synopsys 公司发布了《2020 年开源安全和风险分析(O***A)报告》。报告显示:2019 年审计的代码库中,有70% 进行了开源,同比增长10%。但其中 75% 的代码库中包含已知的安全漏洞,49% 的代码库包含高风险漏洞。无独有偶,今年3月安全公司 WhiteSource 发布的《开源年度报告》也指出,2019 年公开披露的开源漏洞为 6100 个,同比增长 50%。 除了安全漏洞外,应用开源组件导致的法律风险也日渐增多。很多企业对于开源协议以及引用规范并不是十分清晰,进而引起各种不必要的争议甚至法律纠纷。如博云在使用开源项目 Apache SkyWalking 时违反了该项目声明的 Apache License Version 2.0 开源协议规定被要求整改。 软件成分分析应运而生 组件问题由来已久,但直到不久前,软件供应链还是国内企业忽略的主题,SCA相关工具市场份额也一直被国外企业长期垄断。早在2013年版和2017年版的《OWASP Top 10》文档中,就对“使用含有已知漏洞的组件”进行了收录和分析

字符串数据脱敏以及与日志框架logback的集成(日志脱敏)

…衆ロ難τιáo~ 提交于 2020-08-15 16:51:44
字符串数据脱敏框架 可选择唯品会的工具: https://github.com/vipshop/vjtools/blob/master/vjkit/docs/data_masking.md 也可以自定义,用正则或者其他方式(如:commons-lang3#StringUtils) 与logback集成 分析: 由于logback的api和语法多种多样( http://logback.qos.ch/manual/architecture.html , 如下),导致在logback级别处理数据脱敏不太方便,为了保持日志框架原本自由的使用方式,所以在调用前处理日志脱敏,且注意加上必要的日志打印判断提高性能。 logback基本语法: String message = "This is a message."; logger.info(message); logger.info("This is a message"); String param = "some variable"; logger.info("This is a message. {}", param); String param1 = "some variable1"; String param2 = "some variable2"; logger.info("This is a message. {} {}",

在微服务框架Demo.MicroServer中添加SkyWalking+SkyApm-dotnet分布式链路追踪系统

醉酒当歌 提交于 2020-08-15 03:01:56
1.APM工具的选取 Apm监测工具很多,这里选用网上比较火的一款Skywalking。 Skywalking是一个应用性能监控(APM)系统,Skywalking分为服务端Oap、管理界面UI、以及嵌入到程序中的探针Agent部分,大概工作流程就是在程序中添加探针采集各种数据发送给服务端保存,然后在UI界面可以看到收集过来的各种监测数据,来完成它的核心使命:性能监控和分布式调用链追踪能力。下图是skywalking官方的一个图,也可以说明这三者之间的关联关系 2.服务端(OAP)和界面(UI)的安装 这里直接在apache地址: http://skywalking.apache.org/downloads/ 下载了一个6.6.0版本的zip文件,由于之前在本地的windows上安装过,发现安装包里面有两个启动文件,分别为:startup.bat和startup.sh,分别用于window上启动和linux启动,这里我直接将之前下载好的上传到linux上来安装。 上传后解压缩,就会得到以下截图的几个文件 进入到config配置目录下面,有一个名称叫application.yml的文件 对这个配置文件进行编辑 vim application.yml 我们直接定位到数据存储部分,也就是节点storage,官方文档里面也有说明,为了方便快速入门,配置文件默认采用的是H2存储

.Net微服务实战之DevOps篇

╄→гoц情女王★ 提交于 2020-08-14 15:35:59
技术只是基础   该系列的两篇文章《 .Net微服务实战之技术选型篇 》和《 .Net微服务实战之技术架构分层篇 》都是以技术角度出发描述微服务架构的实施。   如果技术选型篇叙述的是 工具 ,那么架构分层篇讲的就是 技巧 ,而本篇要讨论的就是 原则 。一直以来我会给身边向我探讨问题的人灌输一种理念,没有什么技术银弹,因为我们做的是软件工程,提供的是问题相应的解决方案,不同类型问题的解决方案是存在着本质上的差异。   继续提供之前的源码:https://github.com/SkyChenSky/Sikiro PS:该篇文章与.Net无关,其实主要是沿用前面两篇文章的命名,此外我认为DevOps不是简单的工具使用,应从软件工程角度进行出发。 什么才是优秀的架构设计?   曾经有好几个同行问过我同一个问题:什么才是优秀的架构设计?我一直信奉着 两句话 和 一个定律 : 架构服务于业务,技术服务于架构 康威定律(简单理解成组织架构的设计等同于系统架构的设计)    架构设计 其实就是一种 方案 的 取舍 ,在 有限 的 资源 里(包括但不限人力、时间)能让 团队 顺利的实施技术,同时满足 业务规模 的需要,我认为可以称之为优秀的架构设计,简单来说两个字 合适 架构核心要素   核心的主要5大: 性能、可用性、伸缩性、扩展性、安全性 。   而我们所讨论的微服务,选择了扩展性

.Net微服务实战之DevOps篇

喜夏-厌秋 提交于 2020-08-14 15:05:02
技术只是基础   该系列的两篇文章《 .Net微服务实战之技术选型篇 》和《 .Net微服务实战之技术架构分层篇 》都是以技术角度出发描述微服务架构的实施。   如果技术选型篇叙述的是 工具 ,那么架构分层篇讲的就是 技巧 ,而本篇要讨论的就是 原则 。一直以来我会给身边向我探讨问题的人灌输一种理念,没有什么技术银弹,因为我们做的是软件工程,提供的是问题相应的解决方案,不同类型问题的解决方案是存在着本质上的差异。   继续提供之前的源码:https://github.com/SkyChenSky/Sikiro PS:该篇文章与.Net无关,其实主要是沿用前面两篇文章的命名,此外我认为DevOps不是简单的工具使用,应从软件工程角度进行出发。 什么才是优秀的架构设计?   曾经有好几个同行问过我同一个问题:什么才是优秀的架构设计?我一直信奉着 两句话 和 一个定律 : 架构服务于业务,技术服务于架构 康威定律(简单理解成组织架构的设计等同于系统架构的设计)    架构设计 其实就是一种 方案 的 取舍 ,在 有限 的 资源 里(包括但不限人力、时间)能让 团队 顺利的实施技术,同时满足 业务规模 的需要,我认为可以称之为优秀的架构设计,简单来说两个字 合适 架构核心要素   核心的主要5大: 性能、可用性、伸缩性、扩展性、安全性 。   而我们所讨论的微服务,选择了扩展性

Skywalking 8: 如何启用自监控(SelfObservability)

可紊 提交于 2020-08-14 13:52:10
群里问的比较多,正好我看到这块。闲话不表。 skywalking 支持telemetry, 所以我们需要开启配置:编辑config/application.yml文件,改为如下,端口这里用了1543,当然可以自定义。 telemetry: selector: ${SW_TELEMETRY:prometheus} none: prometheus: host: ${SW_TELEMETRY_PROMETHEUS_HOST:0.0.0.0} port: ${SW_TELEMETRY_PROMETHEUS_PORT:1543} Skywalking 支持 prometheus fetcher,所以可以去采集指标。同样编辑config/application.yml, 将active设为true prometheus-fetcher: selector: ${SW_PROMETHEUS_FETCHER:default} default: active: ${SW_PROMETHEUS_FETCHER_ACTIVE:true} 编辑config/fetcher-prom-rules/self.yaml target 改为你的ip和上面定义的端口,这里主要是为了在UI上显示实例。kill 掉skywalking server, 重启服务。 可以在本地验证:curl localhost:1543