背景

前两天看见有小哥介绍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. C语言再学习 -- grep 命令(转)
  3. Wasserstein距离在生成模型中的应用
  4. java颜色gui_Java gui颜色不加载
  5. Error: GlobalConfigUtils setMetaData Fail
  6. 第一家云创大数据产业学院在佛山职业技术学院挂牌
  7. CentOS 7.3镜像挂载搭建本地yum源
  8. Python学习教程(Python学习路线):如何正确使用Pandas库提升项目的运行速度?...
  9. Redis和Memcached的区别详解
  10. day16- django
  11. Codeforces Round #177 (Div. 1)C. Polo the Penguin and XOR operation【贪心】
  12. 刘海又回来了?iPhone 12 Pro摄像头曝光...
  13. 编译文件出错fatal error: GL/glew.h: No such file or directory
  14. android udp获取ip,安卓开发 局域网UDP获取服务器Ip地址
  15. IDEA启动项目报错:非法字符: ‘\ufeff‘
  16. OOP_面向对象程序设计概述
  17. Eclipse常用插件之Top10
  18. fcntl.h里没有open_国际高中课程里的IB课程 你了解多少?
  19. 计算机硬盘被配置成动态磁盘,动态硬盘
  20. matlab中simulink无法打开,【转】Simulink打不开的解决办法

热门文章

  1. 小程序禁用ios 左右滑动_如何在使用应用程序时禁用iOS控制中心
  2. yii---where or该如何使用
  3. [webpack3.8.1]Guides-4-Output Management(输出管理)
  4. 手机自动化测试:appium源码分析之bootstrap七
  5. 一次面试引发的思考(中小型网站优化思考) (转)
  6. url地址传参中文乱码处理
  7. 【OpenCV学习】OpenMP并行化实例
  8. 关于IIS服务启动失败的问题:“IIS提示‘另一个程序正在使用此文件,进程无法访问’”,的解决方法...
  9. 转:PostgreSQL角色、用户、权限和数据库安全
  10. 介绍这个库:C# Blazor中显示Markdown文件