安裝部署
這裏採用docker-compose的方式部署skywalking。部署所用的docker-compose.yml如下,skywalking-oap中掛載的配置文件volume來自於:https://github.com/apache/incubator-skywalking/tree/master/docker中的config目錄。
這裏用的是最新版本6.1.0
首先vi skywalking-compose.yml
注意這個需要在每個docker容器內設置時區
skywalking文檔中也提示重要提示:請在UI上選擇時區,使其與OAP後端服務器的時區匹配。
environment:
TZ: Asia/Shanghai
version: '3.3'
services:
elasticsearch:
image: elasticsearch:6.8.0
container_name: skywalking-es
restart: always
ports:
- 9200:9200
- 9300:9300
environment:
discovery.type: single-node
TZ: Asia/Shanghai
oap:
image: apache/skywalking-oap-server:6.1.0
container_name: skywalking-oap
depends_on:
- elasticsearch
links:
- elasticsearch
restart: always
#前邊爲外網端口號,後邊爲容器應用端口號
ports:
- 11800:11800
- 12800:12800
environment:
# 設置時區
TZ: Asia/Shanghai
# volumes:
# - /home/skywalking/apache-skywalking-apm-bin/config/application.yml
# - ./config:/skywalking/config:ro
ui:
image: apache/skywalking-ui:6.1.0
container_name: skywalking-ui
depends_on:
- oap
links:
- oap
restart: always
ports:
- 18080:8080
#設置環境,配置覆蓋yml的配置
environment:
collector.ribbon.listOfServers: oap:12800
security.user.admin.password: adminsou888!
然後執行 docker-componse -f skywalking-compose.yml up -d
登錄密碼已被我們改爲adminsou888!
登錄賬號密碼爲 admin/adminsou888!
訪問 ip:18080 就可以登錄了
使用 Agent收集調用信息
skywalking與pinpoint一樣,採用javaagent無侵入的方式實現了應用調用信息的收集,原應用程序無需做任何改動。只需要在啓動時增加javaagent參數。啓動時參數如下:
idea添加
-javaagent:F:\運行工具\apache-skywalking-apm-6.1.0\apache-skywalking-apm-bin\agent\skywalking-agent.jar -Dskywalking.agent.service_name=syncorder -Dskywalking.collector.backend_service=117.50.30.96:11800
java -javaagent:/opt/skywalking-agent/skywalking-agent.jar=agent.service_name=demo -Dskywalking.agent.service_name=syncorder -Dskywalking.collector.backend_service=117.50.30.96:11800 -jar demo.jar
nohup java -javaagent:/opt/apps/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar -Dskywalking.agent.service_name=syncorder -Dskywalking.collector.backend_service=117.50.30.96:11800 -jar sync-order-server.jar &
說明:
javaagent 參數必須在 jar參數之前;
agent.service_name 表示服務名稱;
啓動前需要修改agent.config 文件中的相應配置:
collector.backend_service (後端服務的ip地址和端口 xxx.xxx.xxx.xxx:11800)
如果啓動報錯:
查看現在的資源限制,對core文件大小的設置:ulimit -c
如果爲0
需要設置 ulimit -c unlimited 無限大 ulimit -c 100設置爲100kb
其它配置項說明參見:https://github.com/apache/incubator-skywalking/blob/master/docs/en/setup/service-agent/java-agent/README.md