先安裝好jdk8(略),經測試高於jdk8不支持。java
http://skywalking.apache.org/downloads/
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" -P /opt/downloads http://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/6.3.0/apache-skywalking-apm-6.3.0.tar.gzmysql
tar zxvf /opt/downloads/apache-skywalking-apm-6.3.0.tar.gz -C /optweb
以es做爲存儲的狀況,資料網上不少了,本例以mysql做爲儲存
vim /opt/apache-skywalking-apm-bin/config/application.yml
註釋掉storage:h2 解鎖mysql
找個mysql-connector-java-5.1.47.jar放入apache-skywalking-apm-bin/oap-libs
經測試mysql/j版本是6.x.x或8.x.x會有問題sql
vim /opt/apache-skywalking-apm-bin/config/datasource-settings.properties
修改mysql的配置
在對應的mysql中添加數據庫數據庫
加入dataSource.useSSL=false (可選)apache
agent
使用javaagent無侵入式的配合collector實現對分佈式系統的追蹤和相關數據的上下文傳遞。
配置說明
agent.namespace: 跨進程鏈路中的header,不一樣的namespace會致使跨進程的鏈路中斷
agent.service_name:一個服務(項目)的惟一標識,這個字段決定了在sw的UI上的關於service的展現名稱
agent.sample_n_per_3_secs: 客戶端採樣率,默認是-1表明全採樣
agent.authentication: 與collector進行通訊的安全認證,須要同collector中配置相同
agent.ignore_suffix: 忽略特定請求後綴的trace
collecttor.backend_service: agent須要同collector進行數據傳輸的IP和端口
logging.level: agent記錄日誌級別vim
修改配置
vim /opt/apache-skywalking-apm-bin/agent/config/agent.config
agent.service_name是應用程序名
collector.backend_service是agent的地址安全
覈對webapp
vim /opt/apache-skywalking-apm-bin/webapp/webapp.yml
server:
port爲網站端口,默認的8080容易與其餘軟件衝突,建議改一下好比18080
server:
ip設置爲0.0.0.0 (可選)
collector:ribbon:listOfServers設置爲127.0.0.1:12800(多個以逗號隔開)
用戶名密碼默認admincookie
保證18080,11800,12800端口不被佔用oracle
啓動前先初始化 /opt/apache-skywalking-apm-bin/bin/oapServiceInit.sh
看見 SkyWalking OAP started successfully! 執行成功,mysql數據庫中將表被添加。
安裝oap守護進程
vim /lib/systemd/system/skywalking-oap.service
[Unit] Description=skywalking-oap After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking ExecStart=/opt/apache-skywalking-apm-bin/bin/oapService.sh Restart=always PrivateTmp=true [Install] WantedBy=multi-user.target
官方提供的sh腳本#!/usr/bin/env sh不在頂部會形成systemd啓動報錯
把#!/usr/bin/env sh提至頂部
sed -i -c -e '/^#!\/usr\/bin\/env sh/d' /opt/apache-skywalking-apm-bin/bin/oapService.sh
sed '1 i\ ' -i /opt/apache-skywalking-apm-bin/bin/oapService.sh
sed '1 i#!/usr/bin/env sh' -i /opt/apache-skywalking-apm-bin/bin/oapService.sh
權限
chmod 777 /opt/apache-skywalking-apm-bin/bin/oapService.sh
chmod 777 /lib/systemd/system/skywalking-oap.service
systemctl enable skywalking-oap.service
systemctl daemon-reload
運行
systemctl start skywalking-oap.service
查看進程
netstat -anltp|grep 11800
netstat -anltp|grep 12800
安裝webapp守護進程
vim /lib/systemd/system/skywalking-webapp.service
[Unit] Description=skywalking-webapp After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking ExecStart=/opt/apache-skywalking-apm-bin/bin/webappService.sh Restart=always PrivateTmp=true [Install] WantedBy=multi-user.target
官方提供的sh腳本#!/usr/bin/env sh不在頂部會形成systemd啓動報錯
把#!/usr/bin/env sh提至頂部
sed -i -c -e '/^#!\/usr\/bin\/env sh/d' /opt/apache-skywalking-apm-bin/bin/webappService.sh
sed '1 i\ ' -i /opt/apache-skywalking-apm-bin/bin/webappService.sh
sed '1 i#!/usr/bin/env sh' -i /opt/apache-skywalking-apm-bin/bin/webappService.sh
權限
chmod 777 /opt/apache-skywalking-apm-bin/bin/webappService.sh
chmod 777 /lib/systemd/system/skywalking-webapp.service
systemctl enable skywalking-webapp.service
systemctl daemon-reload
systemctl start skywalking-webapp.service
查看日誌
tail -f /var/log/messages
列出當前系統服務的狀態
systemctl list-units