skywalking部署

【Skywalking基本介紹】

點擊【下載】到官方站點下載需要的軟件版本,推薦下載二進制安裝包

項目地址:https://github.com/apache/incubator-skywalking/tree/5.x,如果需要其它版本請自行切換branh或者tag

解壓

tar -xvzf apache-skywalking-apm-incubating-5.0.0-GA.tar.gz -C /usr/local/

進入到軟件主目錄

cd /usr/local/apache-skywalking-apm-incubating/
$ ls
agent  bin  collector-libs  config  DISCLAIMER  LICENSE  licenses  NOTICE  README.txt  webapp

相關目錄介紹

agent:java客戶端程序目錄

bin:服務端程序啓動腳本(包含Windows和Linux)

config:配置文件所在目錄

webapp:服務端程序所在服務

【Elasticsearch5.x部署】

點擊【下載】獲取到指定的版本,推薦下載RPM包

安裝java基礎環境

yum -y install java-1.8.0-openjdk

安裝elasticsearch

rpm -ivh elasticsearch-5.6.14.rpm

創建數據目錄

mkdir -p /data/es/{data,log}
chown -R elasticsearch:elasticsearch /data/es

配置elasticsearch,配置文件【/etc/elasticsearch/elasticsearch.yml】

cluster.name: skywalking
node.name: node1
path.data: /data/es/data
path.logs: /data/es/log
network.host: 0.0.0.0
http.port: 9200

啓動服務

systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl start elasticsearch.service

備註:

【啓動Skywalking服務端】

確保以下端口沒有被佔用

10800,11800,12800和8080

進入程序目錄

/usr/local/apache-skywalking-apm-incubating

修改skywalking主配置文件,config/application.yml

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

#cluster:
#  zookeeper:
#    hostPort: localhost:2181
#    sessionTimeout: 100000
naming:
  jetty:
    #OS real network IP(binding required), for agent to find collector cluster
    host: 192.168.6.102    #修改後
    port: 10800
    contextPath: /
cache:
#  guava:
  caffeine:
remote:
  gRPC:
    # OS real network IP(binding required), for collector nodes communicate with each other in cluster. collectorN --(gRPC) --> collectorM
    host: 192.168.6.102    #修改後
    port: 11800
agent_gRPC:
  gRPC:
    #OS real network IP(binding required), for agent to uplink data(trace/metrics) to collector. agent--(gRPC)--> collector
    host: 192.168.6.102    #修改後
    port: 11800
    # Set these two setting to open ssl
    #sslCertChainFile: $path
    #sslPrivateKeyFile: $path

    # Set your own token to active auth
    #authentication: xxxxxx
agent_jetty:
  jetty:
    # OS real network IP(binding required), for agent to uplink data(trace/metrics) to collector through HTTP. agent--(HTTP)--> collector
    # SkyWalking native Java/.Net/node.js agents don't use this.
    # Open this for other implementor.
    host: 192.168.6.102    #修改後
    port: 12800
    contextPath: /
analysis_register:
  default:
analysis_jvm:
  default:
analysis_segment_parser:
  default:
    bufferFilePath: ../buffer/
    bufferOffsetMaxFileSize: 10M
    bufferSegmentMaxFileSize: 500M
    bufferFileCleanWhenRestart: true
ui:
  jetty:
    # Stay in `localhost` if UI starts up in default mode.
    # Change it to OS real network IP(binding required), if deploy collector in different machine.
    host: 192.168.6.102    #修改後
    port: 12800
    contextPath: /
storage:
  elasticsearch:
    clusterName: skywalking    #修改後
    clusterTransportSniffer: true
    clusterNodes: localhost:9300    #修改後
    indexShardsNumber: 2
    indexReplicasNumber: 0
    highPerformanceMode: true
    # Batch process setting, refer to https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html
    bulkActions: 2000 # Execute the bulk every 2000 requests
    bulkSize: 20 # flush the bulk every 20mb
    flushInterval: 10 # flush the bulk every 10 seconds whatever the number of requests
    concurrentRequests: 2 # the number of concurrent requests
    # Set a timeout on metric data. After the timeout has expired, the metric data will automatically be deleted.
    traceDataTTL: 90 # Unit is minute
    minuteMetricDataTTL: 90 # Unit is minute
    hourMetricDataTTL: 36 # Unit is hour
    dayMetricDataTTL: 45 # Unit is day
    monthMetricDataTTL: 18 # Unit is month
#storage:
#  h2:
#    url: jdbc:h2:~/memorydb
#    userName: sa
configuration:
  default:
    #namespace: xxxxx
    # alarm threshold
    applicationApdexThreshold: 2000
    serviceErrorRateThreshold: 10.00
    serviceAverageResponseTimeThreshold: 2000
    instanceErrorRateThreshold: 10.00
    instanceAverageResponseTimeThreshold: 2000
    applicationErrorRateThreshold: 10.00
    applicationAverageResponseTimeThreshold: 2000
    # thermodynamic
    thermodynamicResponseTimeStep: 50
    thermodynamicCountOfResponseTimeSteps: 40
    # max collection's size of worker cache collection, setting it smaller when collector OutOfMemory crashed.
    workerCacheMaxSize: 10000
#receiver_zipkin:
#  default:
#    host: localhost
#    port: 9411
#    contextPath: /

主要修改監聽與訪問的地址,全都修改爲真實的IP,另外就是修改訪問ES集羣的地址,填寫集羣名和地址端口即可

修改skywalking-webapp配置文件,webapp/webapp.yml

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

server:
  port: 8080

collector:
  path: /graphql
  ribbon:
    ReadTimeout: 10000
    listOfServers: 192.168.6.102:10800    #修改後

security:
  user:
    admin:
      password: admin

修改訪問collector服務的地址

啓動服務

sh bin/startup.sh

訪問dashboard,服務端程序所在服務器的地址+8080端口訪問

http://192.168.6.102:8080

默認用戶名密碼:admin/admin

【部署java客戶端】

修改配置文件,客戶端程序就是agent整個目錄,配置文件在agent/config/agent.config

agent.application_code=APPNAME
collector.servers=192.168.6.102:10800

主要修改當前客戶端所在app的名稱和訪問collector的地址

在java項目中使用agent

參考資料:github地址




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章