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

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

1.安装SkyWalking-Agent

bash 复制代码
[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.修改探针配置

bash 复制代码
...
# 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

bash 复制代码
#!/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.查看采集情况

相关推荐
Lhappy嘻嘻4 小时前
Java IO|File 文件操作 + 字节流 / 字符流完整笔记 + 递归删除文件实战
java·笔记·php
Championship.23.244 小时前
Linux 3.0 锁机制与故障排查详解
linux·运维·服务器
伊玛目的门徒4 小时前
试用leetcode之典中典 二数之和问题
java·算法·leetcode
风123456789~6 小时前
【Linux专栏】ls 排除某个文件
linux·运维·服务器
其实防守也摸鱼7 小时前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
懒鸟一枚7 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
GJGCY7 小时前
财务智能体落地实践:RPA、大模型与规则引擎如何构建业财自动化闭环?
经验分享·ai·自动化·财务·智能体
Darkwanderor8 小时前
对Linux的进程控制的研究
linux·运维·c++
我命由我123458 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
考虑考虑9 小时前
Sentinel安装
java·后端·微服务