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://www.pswp.cn/diannao/98869.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/98869.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/98869.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ES相关问题汇总

问题一&#xff1a;关于【QueryBuilder对象】和【Query String语法】查询时底层运行方式和结果的差异

5. STM32 时钟系统分配

文章目录下述将以stm32f407 为例1. 时钟系统及频率分析2. 时钟配置下述将以stm32f407 为例 1. 时钟系统及频率分析 上述STM32F4时钟系统图解析入下&#xff1a; STM32F407 系列微控制器&#xff08;基于 Cortex-M4 内核&#xff0c;带 FPU&#xff09;的工作频率配置如下&…

《从 0 建立测试开发认知:先搞懂 “是什么”,再学 “怎么做”》

&#x1f525;个人主页&#xff1a;草莓熊Lotso &#x1f3ac;作者简介&#xff1a;C研发方向学习者 &#x1f4d6;个人专栏&#xff1a; 《C知识分享》《Linux 入门到实践&#xff1a;零基础也能懂》《数据结构与算法》《测试开发实战指南》《算法题闯关指南》 ⭐️人生格言&a…

net::ERR_EMPTY_RESPONSE

net::ERR_EMPTY_RESPONSE表现解决表现 Java后端封装一个接口&#xff0c;透传前端参数&#xff0c;请求到其他模块服务 本地开发环境联调时是没有问题&#xff0c;测试环境上报错 1.前端报错&#xff0c;F12检查&#xff0c;network上的请求&#xff0c;返回response选项中为空…

在线多功能环境音生成器

https://oltool.cc/toolbox/huanjingyins.html 关于环境音生成器介绍&#xff1a; 1、本工具可以混合各种声音&#xff0c;比如下雨声&#xff0c;打雷声&#xff0c;海浪声&#xff0c;鸟叫以及虫鸣声等&#xff0c;生成新的环境声。 2、定时器&#xff1a;可以设置倒计时&…

本地电脑映射端口到外网访问的开启方法和注意事项,内网服务提供跨网使用简单操作实现

在计算机网络中&#xff0c;端口映射是一项重要的技术&#xff0c;它允许外网用户访问局域网内的特定设备或服务。当我们在本地电脑搭建部署项目应用后&#xff0c;就可以通过映射端口的方式&#xff0c;简单快速稳定的提供互联网访问服务。以下将详细介绍如何开启电脑映射端口…

Java 大视界 -- Java 大数据在智能医疗健康档案数据分析与个性化健康管理中的应用(410)

Java 大视界 -- Java 大数据在智能医疗健康档案数据分析与个性化健康管理中的应用&#xff08;410&#xff09;引言&#xff1a;正文&#xff1a;一、2023 年 6 月智能医疗健康档案的核心落地需求&#xff08;政策 业务双驱动&#xff09;1.1 政策倒逼的数据应用痛点&#xff…

微服务架构的基石:Nacos全方位解析与Java实战指南

引言在云原生与微服务浪潮席卷而来的今天&#xff0c;服务的治理与配置的管理变得前所未有的复杂。一个个单一的应用被拆分为数十甚至上百个微服务&#xff0c;如何让这些服务轻松地发现彼此&#xff1f;如何在不重启应用的情况下动态调整所有服务的参数&#xff1f;这些问题直…

IDA pro 生成idapro.hexlic

先安装IDA pro&#xff0c;安装好后&#xff0c;把根目录中的 ida32.dll和ida.dll赋值到python文件脚本同目录中&#xff0c;如图。 直接运行py import json import hashlib import os from datetime import datetime, timedelta import platform import winregname input(&…

【ARMv7-M】复位向量与启动过程

关于ARMv7上电复位后&#xff0c;通过复位向量初始化堆栈位置、PC指针&#xff0c;然后跳转到汇编入口&#xff0c;开始执行系统初始化等等操作&#xff0c;熟悉了解这个过程&#xff0c;对于嵌入式系统软件开发来说至关重要。不同的SOC在BootROM与Flash的地址分配上&#xff0…

【开发者导航】开源免费的金融数据量化与分析项目!

Hello大家好&#xff01;我是助你打破信息差的开发者导航。今天给大家分享的开源项目是OpenBB&#xff0c;一个面向量化与分析的开源金融数据平台&#xff01; 金融分析和量化研究需要可靠的数据来源与灵活的分析工具。OpenBB 正是为金融分析师、量化研究员以及 AI 代理开发者…

如何使用 OCR 提取扫描件 PDF 的文本(Python 实现)

从 PDF 中提取文本一直是很多人的需求。市面上的工具虽然能处理大部分数字 PDF&#xff0c;但遇到扫描件 PDF 时往往无能为力&#xff0c;想要直接复制或获取其中的文字并不容易。其实这个问题并不是没有解法 —— 本文将带你了解如何借助 Python OCR 技术&#xff0c;从扫描 …

Deepin/UOS系统中开启和配置SSH服务

文章目录一、安装SSH服务二、启动并设置开机自启三、配置SSH服务&#xff08;可选&#xff09;四、配置防火墙&#xff08;若开启&#xff09;五、测试SSH连接注意事项在Deepin系统中开启和配置SSH服务可以按照以下步骤进行&#xff1a; 一、安装SSH服务 Deepin基于Debian&am…

敏捷适合短期项目还是长期项目

在项目管理领域&#xff0c;敏捷方法因其灵活性和快速响应特性而广受欢迎。敏捷既适合短期项目&#xff0c;也能应用于长期项目&#xff0c;但两者的实施重点不同&#xff1a;短期项目侧重于快速交付和验证价值&#xff0c;长期项目则依靠迭代和持续改进确保复杂目标逐步实现。…

springboot+python+uniapp基于微信小程序的旅游服务系统景点信息展示 路线推荐 在线预约 评论互动系统

目录技术栈介绍具体实现截图系统设计研究方法&#xff1a;设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取/详细视频演示技术栈介绍 Django-SpringBoot-php-Node.js-flask 本课题的研究方法和研究步骤基本合理&#xff0c;难度适中&#xff0…

保证消息的可靠性

图示以RabbitMQ为例&#xff0c;RabbitMQ server 包含多个vhost&#xff0c;而vhost主要是分为 exchanges 和 queues。 消息的可靠性分为以下几步&#xff1a; 生产者投递的可靠性&#xff1b; a. 消息投递到exchange时&#xff0c;成功和失败都会从回调接口中返回。 b. 消息从…

illustrator-06-猫头鹰

导入素材&#xff1a;【文件-置入】若&#xff1a;【文件-打开】的方式填色&#xff0c;描边功能会失效ctrl2锁定为背景画圆和三角形选择三角形-双击镜像工具-垂直-复制全选-窗口-路径查找器-联集两个正圆联集

家庭饮用水消费新趋势:预付返还模式下的用户增长与隐忧

大家好&#xff0c;我是银子&#xff0c;一直将目光聚焦于传统行业转型发展的软件开发。今天咱们来聊聊近期在市场上热度颇高的青蓝送水商业模式。它以“免费送水”为核心策略&#xff0c;宣称能让用户“喝水不花钱”&#xff0c;推广者“分享可获利”。这听起来很美好&#xf…

前沿探索:RISC-V 架构 MCU 在航天级辐射环境下的可靠性测试

摘要随着商业航天和高可靠应用需求的蓬勃发展&#xff0c;空间辐射环境对电子设备的可靠性和稳定性构成严峻挑战&#xff0c;单粒子效应和总剂量效应是半导体器件在太空环境中面临的主要辐射威胁&#xff0c;半导体器件的抗辐射能力成为决定其在严苛太空环境下可靠运行的关键因…

漫谈《数字图像处理》之边缘检测与边界预处理的辨析

在数字图像处理中&#xff0c;边缘检测与边界预处理常因均围绕 “图像边缘” 展开而被混淆。事实上&#xff0c;二者分属不同技术范畴 ——边缘检测是图像分割的核心环节&#xff0c;边界预处理是特征提取的前置步骤&#xff0c;虽处理对象存在关联&#xff0c;但目标定位、技术…