其他相關(guān)文檔:《helm離線部署skywalking》
官網(wǎng)地址:
https://skywalking.apache.org/downloads/
1. 安裝準(zhǔn)備
進(jìn)入8.5 下載如下文件:
image.png
2. 安裝ES
私有鏡像
下載共有鏡像:elasticsearch:7.11.2
上傳私有倉庫:harbocto.xxx.com.cn/public/elasticsearch:7.11.2docker-compose文件
version: '3'
services:
elasticsearch:
image: 'harbocto.xxx.com.cn/public/elasticsearch:7.11.2'
restart: always
container_name: elasticsearch
volumes:
- ./data:/usr/share/elasticsearch/data
- ./logs:/usr/share/elasticsearch/logs
ports:
- '9200:9200'
- '9300:9300'
environment:
JAVA_OPTS: "-Xms2g -Xmx2g"
discovery.type: single-node
-
持久化存儲
上邊掛載了兩個目錄:
- ./data:/usr/share/elasticsearch/data
- ./logs:/usr/share/elasticsearch/logs
需要提前在宿主機(jī)創(chuàng)建這兩個目錄,并且把屬主權(quán)限改成"容器里邊用戶所映射的宿主機(jī)用戶",通常是1001這個id的用戶。(當(dāng)然,不改屬主的話,你也可以給777權(quán)限,但是不提倡。)
如何確定屬主改成哪個用戶呢?
你可以先給logs目錄777權(quán)限,然后啟動容器,再查看容器在logs目錄下創(chuàng)建文件的屬主(假設(shè)為用戶A)。
然后關(guān)閉容器,重新創(chuàng)建logs、data兩個目錄,屬主設(shè)置成用戶A。
- web查看

image.png
3. 安裝skywalking
- 修改配置文件
/opt/skywalking/config/application.yml
selector: ${SW_STORAGE:h2}
改為
selector: ${SW_STORAGE:elasticsearch7}
- 啟動服務(wù)
# cd /opt/skywalking/bin
# ./startup.sh
4. 后期維護(hù)
4.1 ES定時清理
- 查看ES中數(shù)據(jù)命
# curl -s -XGET http://127.0.0.1:9200/_cat/indices?v
可見skywalking數(shù)據(jù)格式如:sw_xxxxx-20210628,因此寫定時清理腳本如下:
- 清理腳本
#!/bin/bash
DATE=`date -d "6 days ago" +%Y%m%d`
curl -s -XGET http://127.0.0.1:9200/_cat/indices?v| grep $DATE | awk '{print $3}' >/tmp/elk.log
for elk in `cat /tmp/elk.log`
do
curl -XDELETE "http://127.0.0.1:9200/$elk"
done
設(shè)置定時任務(wù)每天執(zhí)行即可

