skywalking-01-搭建skywalking服務端

搭建skywalking 服務端

一. 所需第三方軟件

  • XShell
  • Xftp
  • Visual Studio 2019
  • .net Core 2.2 SDK
  • JDK8+
  • Elasticsearch 6.3.2
  • centos7
  • docker

二. 實驗架構

本次實驗採用2臺服務器Elasticsearch 放在centos7上,collector和客戶端放在一塊兒收集本機web服務器提供的數據。若是對skywalking架構不瞭解的同窗能夠先去了解一下。這裏就很少作介紹了。java

三. 安裝運行環境

1. 安裝java

根據博客上的命令行在centos7上安裝失敗了,命令以下linux

wget --no-check-certificate --no-cookie --header "Cookie: oraclelicense=accept-securebackup-cookie;" http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.rpm

因此在本地上下載的jdk-8u221-linux-x64.rpm 在用Xftp傳到centos上,而後用一下命令安裝web

rpm -ivh jdk-8u221-linux-x64.rpm

安裝完後使用命令檢查安裝是否成功docker

java -version

java安裝成功.png

2. 部署Elasticsearch

咱們使用docker安裝elasticsearch,使用命令拉取鏡像而且啓動容器apache

docker run -p 9200:9200 -p 9300:9300 -e cluster.name=elasticsearch -e xpack.security.enabled=false --name=elasticsearch --restart=always -d wutang/elasticsearch-shanghai-zone:6.3.2

使用命令查看啓動的容器windows

docker ps -a

elasticsearch啓動成功.png

能夠去主機的9200端口查看ui界面centos

elaticseach查看.png

3. 部署collector

下載skywalking下載bash

這裏使用的是6.x版本,相比於5.x版本,6.x版本的ui界面高大上許多。下載完解壓後目錄以下服務器

skyapm目錄.png

因爲skywalking默認是使用h2做爲數據存儲,咱們是使用官方推薦的elasticsearch做爲數據存儲,因此咱們要修改一下配置文件 config\application.yml,註釋掉h2的配置,打開elasticsearch的配置,而且配置好elasticsearch的地址。cookie

配置.png

配置信息
/config/application.yml
cluster:
   # 單節點模式
   standalone:
   # zk用於管理collector集羣協做.
   # zookeeper:
      # 多個zk鏈接地址用逗號分隔.
      # hostPort: localhost:2181
      # sessionTimeout: 100000
   # 分佈式 kv 存儲設施,相似於zk,但沒有zk重型(除了etcd,consul、Nacos等都是相似功能)
   # etcd:
      # serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
      # 多個節點用逗號分隔, 如: 10.0.0.1:2379,10.0.0.2:2379,10.0.0.3:2379
      # hostPort: ${SW_CLUSTER_ETCD_HOST_PORT:localhost:2379}
core:
   default:
      # 混合角色:接收代理數據,1級聚合、2級聚合
      # 接收者:接收代理數據,1級聚合點
      # 聚合器:2級聚合點
      role: ${SW_CORE_ROLE:Mixed} # Mixed/Receiver/Aggregator
 
       # rest 服務地址和端口
      restHost: ${SW_CORE_REST_HOST:localhost}
      restPort: ${SW_CORE_REST_PORT:12800}
      restContextPath: ${SW_CORE_REST_CONTEXT_PATH:/}
 
      # gRPC 服務地址和端口
      gRPCHost: ${SW_CORE_GRPC_HOST:localhost}
      gRPCPort: ${SW_CORE_GRPC_PORT:11800}
 
      downsampling:
      - Hour
      - Day
      - Month
 
      # 設置度量數據的超時。超時過時後,度量數據將自動刪除.
      # 單位分鐘
      recordDataTTL: ${SW_CORE_RECORD_DATA_TTL:90}
 
      # 單位分鐘
      minuteMetricsDataTTL: ${SW_CORE_MINUTE_METRIC_DATA_TTL:90}
 
      # 單位小時
      hourMetricsDataTTL: ${SW_CORE_HOUR_METRIC_DATA_TTL:36}
 
      # 單位天
      dayMetricsDataTTL: ${SW_CORE_DAY_METRIC_DATA_TTL:45}
 
      # 單位月
      monthMetricsDataTTL: ${SW_CORE_MONTH_METRIC_DATA_TTL:18}
 
storage:
 
   elasticsearch:
 
      # elasticsearch 的集羣名稱
      nameSpace: ${SW_NAMESPACE:"local-ES"}
 
      # elasticsearch 集羣節點的地址及端口
      clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.2.10:9200}
 
      # elasticsearch 的用戶名和密碼
      user: ${SW_ES_USER:""}
      password: ${SW_ES_PASSWORD:""}
 
      # 設置 elasticsearch 索引分片數量
      indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}
 
      # 設置 elasticsearch 索引副本數
      indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}
 
      # 批量處理配置
      # 每2000個請求執行一次批量
      bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:2000}
 
      # 每 20mb 刷新一次內存塊
      bulkSize: ${SW_STORAGE_ES_BULK_SIZE:20}
 
      # 不管請求的數量如何,每10秒刷新一次堆
      flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10}
 
      # 併發請求的數量
      concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2}
 
      # elasticsearch 查詢的最大數量
      metadataQueryMaxSize: ${SW_STORAGE_ES_QUERY_MAX_SIZE:5000}
 
      # elasticsearch 查詢段最大數量
      segmentQueryMaxSize: ${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200}

配置完後進入 bin目錄,執行批處理文件,windows下爲startup.bat,linux爲 startup.sh。啓動成功後訪問8080端口。出現以下界面則說明skywalking部署成功,接下來能夠進行客戶端接入

skywalkingUI.png

相關文章
相關標籤/搜索