当前位置: 首页 > news >正文

SKywalking Agent配置+Oracle监控插件安装指南

SKywalking Agent配置+Oracle监控插件安装指南

前言:

SkyWalking + Elasticsearch8 容器化部署指南
Skywalking版本:V10.2.0
Skywalking Agent版本:V9.4.0

Skywalking Agent下载地址:Downloads | Apache SkyWalking
插件下载地址:Releases · SkyAPM/java-plugin-extensions
插件版本:apm-oracle-10.x-plugin-2.3.1.jar

一.Agent包准备

打开下载地址,在如下地方下载需要版本的Agent

image-20250909151601226

二.配置Java项目并连接Skywalking

1.非容器化启动Java

agent包上传至jar包目录后解压,如图:

tar -zxvf apache-skywalking-java-agent-9.4.0.tgz

image-20250909181909540

修改Java的启动命令:

#!/bin/bash
var=$(date +%Y%m%d%H%M)
dir_base=/opt/app/trpms-api
jar_name='trpms-0.0.1-SNAPSHOT.jar'
filename=/opt/app/trpms-api/trpms-0.0.1-SNAPSHOT.jar
if [ $(find $dir_base -name '*.*.bak*' | wc -l) -gt 6 ]; then#删除以.bak2结尾的备份jar包find $dir_base -name '*.*.bak*' | xargs rm -rvfecho "delete bak.jar success!"
fi
#重命名备份jar包
cp $filename $filename.bak$var
echo "cp name success!"export JAVA_HOME=/opt/java/jdk-11.0.12
echo ${JAVA_HOME}
cd ${dir_base}
echo 'deploying...'if [ $(pgrep -f ${jar_name} | wc -l) -gt 0 ]; thenpkill -9 -f ${jar_name}
fi
echo ${dir_base}/${jar_name}
nohup ${JAVA_HOME}/bin/java -Xms512m -Xmx1024m -jar ${dir_base}/${jar_name} --spring.profiles.active=prd-scfai s>${dir_base}/out.log 2>&1 &
echo 'ok!'

以上原本的Java启动脚本,绑定 Skywakling 需要在Java启动参数中添加如下命令:

#!/bin/bash
var=$(date +%Y%m%d%H%M)
dir_base=/opt/app/trpms-api
jar_name='trpms-0.0.1-SNAPSHOT.jar'
filename=/opt/app/trpms-api/trpms-0.0.1-SNAPSHOT.jar# 添加SkyWalking agent路径变量
skywalking_agent_path="/opt/app/trpms-api/skywalking-agent/skywalking-agent.jar"if [ $(find $dir_base -name '*.*.bak*' | wc -l) -gt 6 ]; thenfind $dir_base -name '*.*.bak*' | xargs rm -rvfecho "delete bak.jar success!"
ficp $filename $filename.bak$var
echo "cp name success!"export JAVA_HOME=/opt/java/jdk-11.0.12
echo ${JAVA_HOME}
cd ${dir_base}
echo 'deploying...'if [ $(pgrep -f ${jar_name} | wc -l) -gt 0 ]; thenpkill -9 -f ${jar_name}
fi# 检查SkyWalking agent是否存在
if [ ! -f "$skywalking_agent_path" ]; thenecho "错误: 找不到SkyWalking agent: $skywalking_agent_path"echo "请确保SkyWalking agent已正确安装在该路径"exit 1
fiecho ${dir_base}/${jar_name}
echo "使用SkyWalking agent: $skywalking_agent_path"# 使用绝对路径而不是相对路径
nohup ${JAVA_HOME}/bin/java -Xms512m -Xmx1024m \-javaagent:"$skywalking_agent_path" \-Dskywalking.agent.service_name=trpms-api \-Dskywalking.collector.backend_service=<your ip>:11800 \-jar ${dir_base}/${jar_name} \--spring.profiles.active=prd-scfai \>${dir_base}/out.log 2>&1 &echo 'ok!'

命令解释:
-javaagent:"$skywalking_agent_path":指定 SkyWalking Java Agent 的路径
-Dskywalking.agent.service_name=trpms-api:设置当前应用在 SkyWalking 中的服务名称
-Dskywalking.collector.backend_service=172.20.23.66:11800:指定 SkyWalking 收集器(OAP Server)的地址和端口

启动成功后,就可以在Skywalking管理页面看见该系统的监控信息。
image-20250909174233611

2.Docker容器化部署

以下是一个完整配置的Dockerfile打包文件:

# 配置了sky-walking的dockerfile
#此处任意Java镜像即可
FROM <镜像地址>/java:corretto11-font
MAINTAINER shanyoufusu
WORKDIR /usr/app
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
ARG APP_NAME="app"
ARG PROFILE
ENV JAVA_OPTS="-Xms512m -Xmx4096m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/app/log" \SPRING_PROFILES_ACTIVE=$PROFILE \APPLICATION_NAME=$APP_NAME \AGENT_ADDRESS="<your ip>:11800"
ADD target/${APPLICATION_NAME}.jar ${APPLICATION_NAME}.jar
# 将agent文件夹放入容器,jenkins配置里,docker build前一步,cp到target文件夹下的
ADD target/agent/ /usr/local/agent
EXPOSE ${EXPORT}
ENTRYPOINT exec java ${JAVA_OPTS} \-javaagent:/usr/local/agent/skywalking-agent.jar \-Dskywalking.agent.service_name=$APPLICATION_NAME \-Dskywalking.collector.backend_service=${AGENT_ADDRESS} \-jar ${APPLICATION_NAME}.jar

注意文件中:ADD target/agent/ /usr/local/agent这一步是通过Jenkinsfile提前对skywalking-agent包进行了预处理,skywalking-agent已被提前拷贝至Jenkins/var/jenkins_home/目录并命名为agent

			dir("$buildDir") {//  复制Skywalking包sh 'cp -r /var/jenkins_home/agent target/'sh 'ls ./target'  echo "开始打包docker镜像:$imageName"

请按照实际情况修改ADD target/agent/ /usr/local/agent命令

依照此Dockerfile打包文件,可把skywalking-agentcopy至容器内部,在容器运行时就可以把数据传输至Skywalking OAP

三.Oracle监控插件安装

1.简要说明

Skywalking默认是不带Oracle数据库监控的功能,所以需要安装对应的插件去实现对Oracle数据库的监控,以此去排查数据库中存在的慢sql

image-20250909180400874

如上图,5342Pgsql的默认端口1521Oracle的默认端口。进入后就可以分别看到数据库的监控信息

image-20250909180744867

2.插件安装和命令配置

进入下载页面后,点击下载我们需要的安装包。

image-20250909181104350

下载后传入之前解压的skywalking-agent目录,如下图:

image-20250909181850691

image-20250909182008940

然后再运行Java应用的时候需要添加如下命令:

-Dskywalking.plugin.jdbc.trace_sql_parameters=true

如下:

# 配置了sky-walking的dockerfile
#此处任意Java镜像即可
FROM <镜像地址>/java:corretto11-font
MAINTAINER shanyoufusu
WORKDIR /usr/app
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
ARG APP_NAME="app"
ARG PROFILE
ENV JAVA_OPTS="-Xms512m -Xmx4096m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/app/log" \SPRING_PROFILES_ACTIVE=$PROFILE \APPLICATION_NAME=$APP_NAME \AGENT_ADDRESS="<your ip>:11800"
ADD target/${APPLICATION_NAME}.jar ${APPLICATION_NAME}.jar
# 将agent文件夹放入容器,jenkins配置里,docker build前一步,cp到target文件夹下的
ADD target/agent/ /usr/local/agent
EXPOSE ${EXPORT}
ENTRYPOINT exec java ${JAVA_OPTS} \-javaagent:/usr/local/agent/skywalking-agent.jar \-Dskywalking.agent.service_name=$APPLICATION_NAME \-Dskywalking.collector.backend_service=${AGENT_ADDRESS} \-Dskywalking.plugin.jdbc.trace_sql_parameters=true \-jar ${APPLICATION_NAME}.jar

启动后就能再虚拟数据库处,看到Oracle的数据库信息已经被监测。


文章转载自:

http://Rnm8JelN.wxfjx.cn
http://1vOBf7ad.wxfjx.cn
http://Fz31Pqxt.wxfjx.cn
http://XdXlbhTT.wxfjx.cn
http://2vTx25YL.wxfjx.cn
http://1XWd27vi.wxfjx.cn
http://gZF0ov4b.wxfjx.cn
http://Ql16ewt5.wxfjx.cn
http://EZLhWBhG.wxfjx.cn
http://N1zRLdXt.wxfjx.cn
http://3t2zZyZP.wxfjx.cn
http://bVEacBsl.wxfjx.cn
http://vmvj6egZ.wxfjx.cn
http://hqcKitT2.wxfjx.cn
http://LlxvSCO6.wxfjx.cn
http://HPpdLaSC.wxfjx.cn
http://fyOZAjTe.wxfjx.cn
http://rjzrhkOu.wxfjx.cn
http://MsW8ELNh.wxfjx.cn
http://x27Huvs5.wxfjx.cn
http://QGrCEGmf.wxfjx.cn
http://dkllmHeb.wxfjx.cn
http://IKZ8rOxq.wxfjx.cn
http://zLvgSaPI.wxfjx.cn
http://1uNXJqMP.wxfjx.cn
http://EWv4N3rs.wxfjx.cn
http://BYkOH82J.wxfjx.cn
http://xXiVQgJ8.wxfjx.cn
http://7HI6cNhF.wxfjx.cn
http://exozmm6f.wxfjx.cn
http://www.dtcms.com/a/378831.html

相关文章:

  • Skywalking告警配置+简易邮件告警应用配置(保姆级)
  • 【matlab】YALMIP、GLPK安装资源及安装方法
  • modbus学习
  • 创建GLFW窗口,开启OpenGL之路
  • (网络原理)核心知识回顾 网络核心原理 get和post的理解 解析http 加密+请求和响应的一些关键字 Cookie和session 对密钥的理解
  • 如何提升研发文档的检索体验与效率
  • 分布式事务性能优化:从故障现场到方案落地的实战手记(三)
  • R-Zero:大语言模型的自进化革命,突破数据依赖迈向自主智能
  • RL【8】:Value Function Approximation
  • StringJoiner
  • 【知识堂】制造业与物流数字化全景图:系统缩写大全与专业名词速查手册
  • 项目1——单片机程序审查,控制系统安全漏洞分析和改进建议
  • 中断上半部与中断下半部
  • 吱吱企业即时通讯以安全为基,重塑安全办公新体验
  • ctfshow_web13-----------文件上传.user.ini
  • 112. 路径总和
  • 四,基础开发工具(下)
  • Docker+jenkinsPipeline 运行实现python自动化测试
  • Android图案解锁绘制
  • 分布式事务性能优化:从故障现场到方案落地的实战手记(一)
  • JVM第一部分
  • websocket和socket io的区别
  • codebuddy ai cli安装教程
  • MySQL5.7.44保姆级安装教程
  • 正则表达式基础
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘pandas-profiling’问题
  • GRPOConfig中参数num_generations
  • 电源线束选型
  • 系统稳定性保障:研发规约V1.0
  • Day13 | Java多态详解