zoukankan      html  css  js  c++  java
  • Linux下安装SkyWalking 6.1版本 以及.NETCore项目集成

    SkyWalking和APM介绍

    今天给大家给大家介绍一下SkyWalking,那什么是SkyWalking

    Skywalking 是 Apache 基金会下面的一个开源 APM 项目 ,那什么又是APM呢?

    APM 全称是 (Application Performance Monitor)应用性能监测软件,主要是用来处理以及追踪分布式系统中的应用程序的性能问题,从而快速找出问题的根源,进而可以让开发者定位问题从而提升应用程序性能。

    Skywalking 是一个APM系统,为微服务架构和云原生架构系统设计,它通过客户端探针自动收集追踪性能所需的指标,并进行分布式追踪。通过这些调用链路以及指标,Skywalking 可以感知应用间关系和服务间关系,并进行相应的指标统计及展示 。 
    目前主要的一些 链路追踪 工具有: Cat、Zipkin、Pinpoint、SkyWalking,等等....这里主要介绍 SkyWalking 。
    SkyWalking官方GitHub地址:
    https://github.com/apache/skywalking

    SkyWalking安装

    本次安装是在Linux环境下进行,如需docker下安装请查阅其他文章

    Linux环境:centos7

    安装SkyWalking的环境要求

    1. JDK8+
    2. Elasticsearch 6.X (目前SkyWalking已支持 Elasticsearch 6.X版本

    首先我们先确定下是否安装JDK1.8

    #java

    Linux下安装SkyWalking 6.x版本 以及.NETCore项目集成

    如显示上图则已安装过jdk

    然后再输入#java -version

    Linux下安装SkyWalking 6.x版本 以及.NETCore项目集成

    这里我们看到已经安装JDK1.8

    一般的Linux都是预安装了jdk1.8的,如未安装我们运行以下

    JDK1.8下载:
    yum -y install java

    接下来我们安装Elasticsearch
    我这里安装的是6.4版本的 Elasticsearch 
    最新版本已经更新到7.1.0版本
    大家可以选择安装
    这里以6.4.0来举例

    安装 Elasticsearch 
    # wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.0.tar.gz

    解压 Elasticsearch 安装包
    #解压到指定目录 
    tar -zxvf ./elasticsearch-6.4.0.tar.gz -C /usr/local/ 
    #最终结果/usr/local/elasticsearch-6.4.0 
    #改变权限 
    chown -R elk:elk /usr/local/elasticsearch-6.4.0/ 

    然后我们进入 elasticsearch-6.4.0/config文件夹内,vim修改配置文件

    Linux下安装SkyWalking 6.x版本 以及.NETCore项目集成


    定位到#http.port:9200位置,在下面增加:network.host: 0.0.0.0 

    :wq保存即可

    然后我们创建 elasticsearch用户 
    useradd elk #用户名自定义

    #切换用户
    su elk

    编辑 /etc/security/limits.conf 配置文件, 在最后添加如下内容:

    Linux下安装SkyWalking 6.x版本 以及.NETCore项目集成

    • elk soft nofile 65536
    • elk hard nofile 65536
    • soft nproc 4096
    • hard nproc 4096

    修改 /etc/security/limits.d/90-nproc.conf 配置文件:

    Linux下安装SkyWalking 6.x版本 以及.NETCore项目集成

    • soft nproc 4096
      root soft nproc unlimited

    修改 /etc/sysctl.conf 配置:

    Linux下安装SkyWalking 6.x版本 以及.NETCore项目集成

    #添加下面配置: vm.max_map_count=655360 
    #并执行命令: sysctl -p

    最后开启9200端口号访问

    /sbin/iptables -I INPUT -p tcp --dport 9200 -j ACCEPT

    然后切换到bin目录下执行 
    ./elasticsearch -d

    Linux下安装SkyWalking 6.x版本 以及.NETCore项目集成

    出现如上则安装成功
    如果有错误可以去logs下面查看日志

    接下来我们安装 SkyWalking

    我们用到的SkyWalking的6.1新版本,使用了全新UI....

    我们可以去看下Apache官方提供的镜像,有清华的国内镜像还是很方便的 
    https://www.apache.org/dyn/closer.cgi/skywalking/6.1.0/apache-skywalking-apm-6.1.0.tar.gz

    下载skywalking
    #wget http://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/6.1.0/apache-skywalking-apm-6.1.0.tar.gz

    解压skywalking

    tar -xf apache-skywalking-apm-6.1.0.tar.gz

    重新命名

    mv apache-skywalking-apm-incubating skywalking 

    修改 skywalking/webapp/webapp.yml  信息,将127.0.0.1修改成本地真实ip

    不修改也是可以使用的

    Linux下安装SkyWalking 6.x版本 以及.NETCore项目集成

    SkyWalking的默认端口 8080.10800.11800.12800
    我这里UI界面的8080端口冲突所以我修改了一下
    用户名和密码也可以在这里修改

    启动skywalking 
    切换到SkyWalking的bin目录

    #启动Collector、WebUI

    ./startup.sh

    Linux下安装SkyWalking 6.x版本 以及.NETCore项目集成

    然后我们打开ui界面http://127.0.0.1:8090

    Linux下安装SkyWalking 6.x版本 以及.NETCore项目集成Linux下安装SkyWalking 6.x版本 以及.NETCore项目集成

    这样就安装成功了

     集成Asp.net core项目

    我们这里是需要集成Asp.net core项目

    这里我们需要用到.NET探针

    那么什么是探针呢:
    为了能够让APM的服务端正确的收集到追踪及分析所需的指标,就需要有客户端程序附属到你的应用程序上进行数据的上报,那么这个附属的程序就叫做探针(Agent)。

    Skywalking 使用 Java 程序开发,默认提供了 Java 探针,那么在 .NET 系统中,就需要有 .NET 相关的探针才能够正确的将数据上报的服务端,所以 skywalking-netcore 这个项目就是专门为 .NET 开发的探针 
    这个是.Net探针项目的地址:
    https://github.com/SkyAPM/SkyAPM-dotnet 
    新的技术手册在里面写的也很详细

    Linux下安装SkyWalking 6.x版本 以及.NETCore项目集成

    现在的SkyWalking同时支持.netcore和.netframework以及更高的应用

    Linux下安装SkyWalking 6.x版本 以及.NETCore项目集成

    在前一版本版本的 Skywalking .NET Agent 中,我们实现了对 ASP.NET Core 应用程序无入侵的集成方式,这使得你可以更加方便的开启或者关闭探针数据的收集而不用修改任何代码。
    比如你可以在生产环境遇到性能问题时候启动它快速的定位问题,而在问题处理完成之后再关掉,非常的方便,下面我们来说一下集成的步骤。 
    这个实例相对旧一点,大家仅供参考,优先选择上面图片的方法。

    1.在Linux环境下首先要确定你的dotnet环境是否安装
    #dotnet
    若无反应则需要安装
    https://dotnet.microsoft.com/download 
    选择Linux进行命令安装即可
    安装成功如下

    Linux下安装SkyWalking 6.x版本 以及.NETCore项目集成

    2.然后使用dotnet的CLI命令来进行 Agent 的安装 

    dotnet tool install -g SkyWalking.DotNet.CLI


    // 注意需要在管理员权限下运行 
    dotnet skywalking install

    3.我们需要在环境变量加两个参数
    Linux:
    export DOTNET_ADDITIONAL_DEPS=/usr/local/share/dotnet/x64/additionalDeps/skywalking.agent.aspnetcore 
    export ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyWalking.Agent.AspNetCore

    4.我们给集成的应用取个名字,以下为示例
    dotnet new mvc -n mvcdemo 

    以上命令会生成一个名为 mvcdemo 默认的 ASP.NET MVC 项目,我们需要给项目搞一个代号以便让服务端识别,就取代号名为 mvc_sample 吧,然后把这个代号使用下面的命令也添加到环境变量里面。

    Linux:
    export SKYWALKING__APPLICATIONCODE=mvc_sample

    5. 最后一步就是我们需要第一步的 CLI 工具生成一个配置文件,从而配置各种参数,使用以下命令生成一个配置文件:
    // mvc_sample 为上面 第3 个项目的代号, localhost:12800 为 Skywalking 服务端的地址 
    dotnet skywalking config mvc_sample localhost:12800 
    上面的命令会在你的项目文件夹下生成一个名为 skywalking.json 的json文件,里面是配置信息,你可以酌情修改,如下: 

    Linux下安装SkyWalking 6.x版本 以及.NETCore项目集成

    然后我们进入项目 使用dotnet run进行运行

    Linux下安装SkyWalking 6.x版本 以及.NETCore项目集成

    成功界面如上图所示

    参考文章

    skywalking分布式链路追踪监控系统部署
    https://blog.51cto.com/536410/2318051?mType=Group

    在 ASP.NET Core 中集成 Skywalking 
    https://www.cnblogs.com/savorboard/p/asp-net-core-skywalking.html

  • 相关阅读:
    201521123076《java程序设计》第四次总结
    201521123076《java程序设计》第三周学习总结
    201521123076《Java程序设计》第2周学习总结
    软件工程网络15个人阅读作业2
    软件工程网络15个人作业1
    java程序设计----学生基本信息管理系统
    201521123070 《JAVA程序设计》第14周学习总结
    201521123070 《JAVA程序设计》第13周学习总结
    201521123070 《JAVA程序设计》第12周学习总结
    201521123070《Java程序设计》 第11周学习总结
  • 原文地址:https://www.cnblogs.com/shook/p/10852691.html
Copyright © 2011-2022 走看看