【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端口訪問
默認用戶名密碼:admin/admin
【部署java客戶端】
修改配置文件,客戶端程序就是agent整個目錄,配置文件在agent/config/agent.config
agent.application_code=APPNAME collector.servers=192.168.6.102:10800
主要修改當前客戶端所在app的名稱和訪問collector的地址
在java項目中使用agent
參考資料:github地址