SkyWalking运维之路(Java探针接入)

26 阅读1分钟

为了测试探针这里部署了一套若依的为服务版,这个还是对运维上线操练有一定的帮助,推荐大家也部署一套

1.安装SkyWalking-Agent

[root@dockerserv169 ~]# wget https://dlcdn.apache.org/skywalking/java-agent/9.5.0/apache-skywalking-java-agent-9.5.0.tgz
[root@dockerserv169 ~]# tar zxvf apache-skywalking-java-agent-9.5.0.tgz
[root@dockerserv169 ~]# mv apache-skywalking-java-agent-9.5.0 skywalking-agent

2.修改探针配置

...
# Backend service addresses. SkyWalking服务器后端地址
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.1.99:11800}
...
[root@dockerserv169 ~]# vi skywalking-agent/config/agent.config

3.在Java启动命令中加入agent

#!/bin/bash
CURRENT_PATH=$(cd "$(dirname "$0")"pwd)
cd $CURRENT_PATH
JAR=$(find $CURRENT_PATH -maxdepth 1 -name "*.jar")
PID=$(ps -ef | grep $JAR | grep -v grep | awk '{ print $2 }')
MAXJAVA="-Xms256m"
STARTJAVA="-Xmx512m"
HDOOOME="-XX:+HeapDumpOnOutOfMemoryError -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m"
# 这里指定SkyWalking探针所在位置
JAVA_AGENT=-javaagent:/root/skywalking-agent/skywalking-agent.jar
# 这里指定你的项目组和项目名称
AGENT_NAME=-Dskywalking.agent.service_name=RuoyiBackEnd::AuthProject

export JAVA_HOME=/usr/local/jdk17
export PATH=$JAVA_HOME/bin:$PATH
.....

case "$1" in
    start)
        if [ ! -z "$PID" ]; then
            echo "$JAR Already started, process number: $PID"
        else
            echo -n -e "starting $JAR ... \n"
            # 启动这里加入上面自定义的变量
            nohup java  $MAXJAVA $STARTJAVA $HDOOOME -jar $JAVA_AGENT $AGENT_NAME -jar  $JAR >> log.log 2>&1  &
            if [ "$?"="0" ]; then
                echo "Startup is complete, please check the log to ensure success"
            else
                echo "Startup failed"
            fi
        fi
        ;;
    stop)
    .....
        ;;
    restart)
    .....
        ;;
    status)
    .....
        ;;
  *)
         .....
        exit 1
esac

4.查看采集情况