SkyWalking Liunx 环境搭建&NetCore接入
SkyWalking Liunx 环境搭建&NetCore接入
背景
前两天看见有小哥介绍windows下安装skywalking的介绍地址在这。
正好最近也在搭建linux环境的SkyWalking,顺便把linux环境搭建的经验分享下,帮助下使用linux部署DotNetCore项目的同学。
介绍
SkyWalking是开源的apm工具,服务器端使用java编写,客服端支持java,DotNetCore,NodeJs,Php接入。
详细点击进入官方介绍: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.2
docker 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/bash
cd /config
vi elasticsearch.yum
加入如下参数
http.cors.enabled: true
http.cors.allow-origin: "*"
然后重启docker服务
sudo docker restart es
如果需对es进行管理,可以安装head插件,参照上方端口开放说明开放端口说明
head安装
docker pull mobz/elasticsearch-head:5
运行head
docker 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.0
cd ./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
查看数据私信发管理后台账号密码,嘿嘿
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
实战教程丨手把手教您在 Raspberry Pi 上设置集群(二)
出品丨Docker公司(ID:docker-cn)编译丨小东每周一、三、五,与您不见不散! 有什么比在 Raspberry Pi 上安装 Docker Engine (CE) 18.09 更好的方式来表达“Happy Pi Day”呢?本文将引导您完成在 Raspberry Pi 上安装 Docker Engine 18.09 的完整过程。虽然有很多文章已经演示了这个过程,但可能您在复现这个过程时由于较旧的 Engine 版本和一些语法问题而失败。 特别感谢 Docker 解决方案工程师 —— Stefan Scherer,同时还有他的监控镜像(stefanscherer / monitor)以及允许 Pimoroni Blinkt! LED 在 Swarm 群集中扩展应用程序时打开/关闭的 whoami 镜像(stefanscherer / whoami)。 点击下列文章标题,回顾本系列文章的往期内容: 实战教程丨手把手教您在 Raspberry Pi 上设置集群(一) 5、在将成为主节点的其中一个 Pi上,输入以下内容: docker swarm init 6、一旦 Docker ...
- 下一篇
Docker - 容器部署 Consul 集群
Docker - 容器部署 Consul 集群目录 说明简介了解 ConsulConsul 使用场景Consul 优势Consul 中的概念安装准备 Consul 镜像安装单个 Consul组装集群 Consul总结引用和附件说明本文主要介绍怎么使用 Docker 在 Linux 环境部署 Consul 集群,如果你对 Docker 不了解的同学,请先学习一下 Docker。推荐一本学习 Docker 在线书籍 :【Docker入门到实践】 。 本文介绍 Consul 部署已经在准备好 Docker 环境好前提下开始的。 CentOS 7.3Docker CE 18.09.2简介image_1d78seg768pbqmr1le6on71p0h19.png-172.3kB 了解 ConsulConsul 是一个支持多数据中心分布式高可用的 服务发现 和 配置共享 的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源。 Consul 支持 健康检查,并允许 HTTP 、GRPC 和 DNS 协议调用 API...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2全家桶,快速入门学习开发网站教程
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,CentOS7官方镜像安装Oracle11G
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Linux系统CentOS6、CentOS7手动修改IP地址