背景

前两天看见有小哥介绍windows下安装skywalking的介绍地址。
正好最近也在搭建linux环境的SkyWalking,顺便把linux环境搭建的经验分享下,帮助下使用linux部署DotNetCore项目的同学。

介绍

SkyWalking是开源的apm工具,服务器端使用java编写,客服端支持javaDotNetCoreNodeJsPhp接入。

详细点击进入官方介绍:SkyWalking

服务部署环境

Linux Centos7 3.10.0-862.11.6.el7.x86_64

说明

SkyWalking 6x版本可以选择h2,es,mysql等存储。这里选择es进行搭建。为了减少下载各个环境依赖的麻烦,使用docker安装存储。

Es可以使用集群方式搭建,可以不与Skywalking主程序放在一块

端口开放访问问题

我是使用itpables进行端口管理,编辑iptables文件加入想要的开放端口配置

编辑文件

vi /etc/sysconfig/iptables   

加入如下配置

# Web端口-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT# es地址,可以查询es,如果建立-A INPUT -p tcp -m tcp --dport 9200 -j ACCEPT#grpc端口-A INPUT -p tcp -m tcp --dport 11800 -j ACCEPT

docker安装

centos安装官网地址:点这里
按照步骤即可安装完成docker环境

拉取es

SkyWalking 6x版本依赖的es是6.6.2

# 拉取es,版本:6.6.2docker pull docker.elastic.co/elasticsearch/elasticsearch:6.6.2# 运行 docker ,映射http端口及tcp端口,可以使用-v参数进行目录挂载docker run --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.6.2

如果需要修改es配置文件,比如修改跨域问题,可以进行如下操作

docker exec -it es /bin/bashcd /configvi elasticsearch.yum

加入如下参数

http.cors.enabled: true 
http.cors.allow-origin: "*"

然后重启docker服务

sudo docker restart es

如果需对es进行管理,可以安装head插件,参照上方端口开放说明开放端口说明

head安装

docker pull mobz/elasticsearch-head:5## 运行headdocker run -d --name es_head -p 9100:9100 mobz/elasticsearch-head:5

如果对docker容器进行可视化管理的话,拉取dockerui

docker run -d -p 5000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker

SkyWalking 安装

skywalking 是java编写,所以运行以来java,可以参照如下安装java

java安装

项目获取

地址:github

以最新6.0.0-GA为例

# 下载文件wget -O SkyWalking6.0.0 https://github.com/apache/incubator-skywalking/archive/v6.0.0-GA.tar.gz

# 进行配置tar -zxvf SkyWalking6.0.0cd  ./SkyWalking6.0.0/config

# 编辑配置文件,将es配置开放vim application.yum

默认是使用h2,将h2注释掉,将es配置开放出来。ES使用集群的话,可以将clusterNodes配置进行替换

storage:#  h2:#    driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource}#   url: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db}#  user: ${SW_STORAGE_H2_USER:sa}  elasticsearch:    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:127.0.0.1:9200}    indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}    indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}    bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:2000} # Execute the bulk every 2000 requests    bulkSize: ${SW_STORAGE_ES_BULK_SIZE:20} # flush the bulk every 20mb    flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10} # flush the bulk every 10 seconds whatever the number of requests    concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2} # the number of concurrent requests

保存后启动服务

../bin/startup.sh

服务启动后,如下地址进行访问

ui地址

http://{ip}:8080

grp地址

{ip}:11800

ui默认启动账号密码:admin,admin

这个可以在webapp目录下webapp.yum进行设置

DotNetCore 接入

说了半天,终于到正文了

6x版本已经实现无代码侵入接入,可以使用SkyAPM.CLI进行生成配置文件。

假如DotNetCore项目名称是SWTest, grpc地址是127.0.0.1:11800
执行如下命令

# 安装cli工具dotnet tool install -g SkyAPM.DotNet.CLI# 生成配置文件dotnet skyapm config SWTest 127.0.0.1:11800

生成文件skyapm.json,配置如下

{"SkyWalking": {"ServiceName": "WSTest","Namespace": "","HeaderVersions": ["sw6"    ],"Sampling": {"SamplePer3Secs": -1,"Percentage": -1.0    },"Logging": {"Level": "Information","FilePath": "logs\\skyapm-{Date}.log"    },"Transport": {"Interval": 3000,"ProtocolVersion": "v6","QueueSize": 30000,"BatchSize": 3000,"gRPC": {"Servers": "12.0.0.1:11800","Timeout": 10000,"ConnectTimeout": 10000,"ReportTimeout": 600000      }    }  }}

添加如下环境变量

ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore

SKYWALKING__SERVICENAME=WSTest

将文件设置为始终复制,启动项目即可

git官网接入说明地址:Git介绍

福利

如下服务可以进行测试
139.219.12.5:11800:11800

查看数据私信发管理后台账号密码,嘿嘿

原文地址:https://www.cnblogs.com/cgyqu/p/10622114.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

SkyWalking Liunx 环境搭建NetCore接入相关推荐

  1. Liunx环境搭建5--Docker环境搭建 tomcat+Jenkins+Python+Allure 测试环境。方法二

    为什么要把jenkins挂载到tomcat上,因为后面我打算接入开发的代码,自己维护测试环境做持续集成.如果你们公司已经有运维在做这个事了,直接按照上一篇文章装一个jenkins容器就可以了. 进入主 ...

  2. SkyWalking环境搭建与使用

    一.SkyWalking简介 SkyWalking是一个国产开源框架,b并加入Apache孵化器.简介来自官方文档. SkyWalking是 一个开源的可观测平台,用于从服务和云原生基础设施收集,分析 ...

  3. skywalking从入门到精通(一)-环境搭建

    一.下载相关工具 作者上传了一些工具包和源代码方便读者使用,大家也可以自行去官方网站去下载. skywalking8.9.1+skywalking-java-agent 8.9.0+2.0.1 教程j ...

  4. 微信公众号开发(JAVA)-环境搭建与开发接入

    使用JAVA开发微信公众平台(一)--环境搭建与开发接入 一. 初始微信公众平台 微信公众平台,即我们平时所说的"公众号",曾用名"官方平台"."媒体 ...

  5. 【TG-02系列模组①】二次开发环境搭建,快速接入天猫精灵/亚马逊云

    文章目录 前言 一.Linux开发环境搭建 1.1 获取SDK 1.2 安装 YocTools 1.3 编译SDK 1.4 烧录 二.接入天猫精灵 2.1 生成三元组 2.2 烧录三元组 三.接入亚马 ...

  6. 红帽Liunx系统管理员认证(RHCSA)实验环境搭建

    红帽Liunx系统管理员认证(RHCSA)实验环境搭建 实验环境: Windows64位+Vmware12+ RHEL7.2+ Xshell6 准备工作: 1.下载实验环境相关软件安装包. 2.关闭并 ...

  7. 普罗米修斯监控系统_基于Prometheus和Grafana的监控平台 - 环境搭建

    导读 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics. Logging - 用于记录离散的事件.例如,应用程序的调试信息或错误信息.它是我们诊断问题的依据.比如 ...

  8. SpringCloud Alibaba微服务实战(一) - 基础环境搭建

    说在前面 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来 ...

  9. qt工程在linux系统里颜色显示错误_【飞凌嵌入式RK3399开发板试用体验】+QT开发环境搭建测试(二)...

    作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开发,本次以QT的一个小案例来测试下. 首先是自己先搭建了一个Ubuntu18.04的虚拟机,使用真机 ...

最新文章

  1. 代码详解|如何快速从硬盘里找到小电影?
  2. 软件性能测试关注点,盘点性能测试必须掌握的技术点
  3. Ubuntu 16.04下使用VMware安装CentOS 6.9然后在里面再安装KVM之后配置网桥无法上网的问题...
  4. Hinton's Dark Knowledge
  5. 达摩java_JAVA面向对象
  6. 使用 Intellij Idea 打包 java 工程为可执行 jar 包
  7. 人工智能行业有哪些岗位_电力人有哪些岗位将被人工智能取代?
  8. Flash写操作流程
  9. 类对象工厂设计模式(Factory Pattern)
  10. 【树莓派】iptables相关配置
  11. request对象_爬虫:request库的简介
  12. Java400道面试题通关宝典助你进大厂,赶紧收藏起来!
  13. Docker安装filebeat
  14. 【vmware】vmware tools 地址
  15. 大厂面试 | 蚂蚁金服前端岗三面真题!
  16. Level up!从流量经营到客户运营实战技术分享
  17. 数据分析师的个人修养
  18. “一切皆是映射” (光剑)
  19. html 苹果微信录音js,微信js-sdk 录音功能的示例代码
  20. spring-web InvocableHandlerMethod 源码分析

热门文章

  1. 超链接禁用_在Microsoft Word 2003和2007中禁用自动超链接
  2. ubuntu系统备份和还原_如何使用Aptik在Ubuntu中备份和还原您的应用程序和PPA
  3. 中航工业集团金网络(北京)电子商务有限公司副总经理刘正珩:航空“智”造的供应链支撑平台...
  4. 特斯拉宣布将在欧洲建设第二座超级工厂
  5. 总结之前做项目中要注意的一些书写规范
  6. HTML meta refresh 刷新与跳转(重定向)页面
  7. Oracle CRS stack is already configured and will be running under init(1M)
  8. 提的最多的数据库“索引”,先来简单了解一下
  9. VS2017/2019 F12无法导航到定义
  10. blazor wasm开发chrome插件