Linux安装Skywalking 集成docker部署

4 篇文章 0 订阅
1 篇文章 0 订阅

本来打算用docker安装,但是发觉数据一致存不进去es,故退而求其次,仅保留es使用docker安装,skywalking采用原生安装方式

版本选型

apache-skywalking-8.7.0
es:7.10.1

文件下载
https://download.csdn.net/download/SpringHASh/85759581

安装es

docker pull elasticsearch:7.10.1

mkdir -p /docker/elasticsearch/data
mkdir -p /docker/elasticsearch/logs
chmod -R 777 /docker/elasticsearch/data
chmod -R 777 /docker/elasticsearch/logs
docker run -d --name=es7 \
  --restart=always \
  -p 9200:9200 -p 9300:9300 \
  -e "discovery.type=single-node" \
  -v /docker/elasticsearch/data:/usr/share/elasticsearch/data \
  -v /docker/elasticsearch/logs:/usr/share/elasticsearch/logs \
elasticsearch:7.10.1

修改skywalking配置

修改agent/config/agent.config如下配置:
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.1.100:11800}

agent/config/agent.config 新增如下配置:
plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:192.168.1.100}
plugin.toolkit.log.grpc.reporter.server_port=${SW_GRPC_LOG_SERVER_PORT:11800}
plugin.toolkit.log.grpc.reporter.max_message_size=${SW_GRPC_LOG_MAX_MESSAGE_SIZE:10485760}
plugin.toolkit.log.grpc.reporter.upstream_timeout=${SW_GRPC_LOG_GRPC_UPSTREAM_TIMEOUT:30}


更新配置application.yml 指定es存储 / 也可选择mysql持久化存储
我用ES7版本存储
elasticsearch7:
    nameSpace: ${SW_NAMESPACE:""}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.1.100:9200}

#不必填
nacos:
  # Nacos Server Host
  serverAddr: ${SW_CONFIG_NACOS_SERVER_ADDR:192.168.1.100}
      # Nacos auth username
    username: ${SW_CONFIG_NACOS_USERNAME:"xxx"}
    password: ${SW_CONFIG_NACOS_PASSWORD:"xxx"}

项目配置

基于docker构建

dockerfile

FROM openjdk:8-jdk-alpine
VOLUME /tmp
VOLUME /var/log/test-server
ADD target/app-1111.jar app-1111.jar
EXPOSE 15000
ENTRYPOINT ["java", "-javaagent:/var/local/skywalking-agent.jar", "-Dskywalking.agent.service_name=app-1111", "-Dskywalking.collector.backend_service=192.168.1.100:11800", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app-1111.jar"]

gitlab.ci (主要关注docker部分)

test-app-1111:
  stage: deploy
  tags:
    - test
  variables:
    service_name: "app-1111"
    service_port: 15000
  script:
    - echo -e "\n[$CI_JOB_NAME] $(date) ($CI_BUILD_REF_NAME) ($CI_BUILD_STAGE)\n" | tee -a /tmp/test.txt
    - mvn clean package
    - sh scripts/clean-container.sh $service_name
    - sh scripts/clean-image.sh $service_name latest
    - cd $app_parent_path
    - cd $service_name
    - docker build -f Dockerfile -t $service_name:latest .
    - docker create -m 1G --name $service_name -p $service_port:$service_port -e "SPRING_PROFILES_ACTIVE=test" -v /opt/apache-skywalking-apm-bin/agent:/var/local -v /var/log/$project_name:/var/log/$project_name $service_name:latest
    - docker start $service_name
  when:
    manual
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宁漂打工仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值