监控Oracle(oracledb_exporter)

2023-11-04

我们以监控Oracle为例,(目前仅有x86版本,可以下载源码针对不同环境使用golang环境自己编译)

监控什么指标下载对应系统的exporter插件,统一下载地址:https://prometheus.io/download/

监控指标对应的grafana展示模板,统一下载地址:https://grafana.com/grafana/dashboards

oracledb_exporter下载地址:https://github.com/iamseth/oracledb_exporter

oracle client下载地址:https://www.oracle.com/database/technologies/instant-client/downloads.html

环境准备

  • 已完成Prometheus的配置安装
  • 已完成Grafana的配置安装
  • 下载oracledb_exporter插件

开始配置

第一步

# 下载Oracledb_exporter
wget https://github.com/iamseth/oracledb_exporter/releases/download/0.2.9/oracledb_exporter.0.2.9-ora18.5.linux-amd64.tar.gz

# 解压运行
tar -zxvf oracledb_exporter.0.2.9-ora18.5.linux-amd64.tar.gz

# 下载oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm

# 上传至服务器并安装
rpm -ivh oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm

开始运行

第一步配置Oracle client

# 创建client目录
mkdir -p /usr/lib/oracle/12.1/client64/network/admin/
# 编辑监听文件
vim /usr/lib/oracle/12.1/client64/network/admin/tnsnames.ora
## 填写以下内容
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = *IP*)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = *SID*)
    )
  )

# 编辑环境变量配置文件
vim  ~/.bashrc
## 输入以下内容
export  ORACLE_HOME=/usr/lib/oracle/12.1/client64
export  TNS_ADMIN=$ORACLE_HOME/network/admin
export  NLS_LANG='simplified chinese_china'.ZHS16GBK
export  LD_LIBRARY_PATH=$ORACLE_HOME/lib
export  PATH=$ORACLE_HOME/bin:$PATH
# 设置临时环境变量
export DATA_SOURCE_NAME=用户名/密码@//ip:port/实例名    

第二步 todo

./oracledb_exporter

# 多个使用逗号分隔

脚本启动后,可以看到脚本为我们提供了一个基于9161的http服务,http://192.168.5.135:9161/metrics,看到监控数据即为成功

可以看到有许多报错,这些报错暂时先不排查,可能是由于数据库的参数设置导致的或者其它原因。

第二步

  • 我们需要将上述脚本提供的http地址配置到prometheus的配置文件中
scrape_configs:
  - job_name: 'oracle'
    static_configs:
     - targets: ['192.168.5.135:9161']
  • 保存退出并启动prometheus
./prometheus --config.file=prometheus.yml --web.listen-address=:9099

第三步

  • 配置grafana
    • 登录grafana

新建数据源,并选择prometheus源(如果存在可跳过,这里不做赘述)

创建仪表板 - 使用导入监控服务器grafana模板的方式

  • 经过在官网查找监控服务器指标模板id为3333(由于我们服务器都联网了,所以直接输入id,load即可)

[!TIP|style:callout]
此处特殊说明一下,导入模板的目的本身是为了避免我们重复造轮子,自己去针对每个监控面板写查询prometheus的语句,当然模板本身也是由其他开发者提交的,所以3333并不是我们唯一选择

  • 选择prometheus源, 点击import,右上角我们修改为5s刷新一次,等一会可以看到redis的监控指标如下:

以上至少证明了整个监控的流程走通了,至于no data还需要我们真对图标的表达式进行一项一项的验证。

运行oracledb_exporter通用报错

##错误: ./oracledb_exporter: error while loading shared libraries: libclntsh.so.18.1: cannot open shared object file: No such file or directory
find / -name libclntsh.so.18.1
# /usr/lib/oracle/18.5/client64/lib/libclntsh.so.18.1
ln -s /usr/lib/oracle/18.5/client64/lib/libclntsh.so.18.1 /usr/lib64/

## 同理,再次运行oracledb_exporter,缺什么就用上面那种方式解决,知道运行不报错
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

监控Oracle(oracledb_exporter) 的相关文章

  • 如何列出表中的所有列?

    对于各种流行的数据库系统 如何列出表中的所有列 对于 MySQL 请使用 DESCRIBE name of table 只要您使用 SQL Plus 或 Oracle 的 SQL Developer 这也适用于 Oracle
  • 在Oracle中查找不包含数字数据的行

    我试图在一个非常大的 Oracle 表中找到一些有问题的记录 即使该列是 varchar2 列 也应包含所有数值数据 我需要找到不包含数字数据的记录 当我尝试在此列上调用 to number col name 函数时 它会抛出错误 我想你可
  • 如何修复“Oracle.EntityFrameworkCore 类型中的方法‘get_Info’没有实现”。

    我正在尝试通过 EW 连接到 Oracle DB 论方法OnConfiguring是错误 System TypeLoadException 程序集 Oracle EntityFrameworkCore Version 2 0 19 1 Cu
  • 如何在Oracle中从表中选择列,*?

    我正在创建很多脚本 有时为了检查表是否根据我的需要进行更新 我会即时编写几个 SELECT 语句 在 SQL SERVER 中你可以这样写 SELECT Column1 FROM MY TABLE 出于可见性原因 这很有用 但是这似乎在 O
  • Hibernate 本机查询 - char(3) 列

    我在 Oracle 中有一个表 其中列 SC CUR CODE 是 CHAR 3 当我做 Query q2 em createNativeQuery select sc cur code sc amount from sector cost
  • Oracle 按月滚动或运行总计

    目标 每个月末所有报表的滚动 运行总计 Code select TRUNC ACTHX STMT HX STMT DATE MM AS MNTH COUNT ACTHX INVOICE as STMTS from ACTHX group b
  • 如何计算选择查询的最佳获取大小

    在 JDBC 中 默认获取大小为 10 但我想当我有一百万行时 这不是最佳获取大小 据我所知 获取大小太低会降低性能 但如果获取大小太高也会降低性能 我怎样才能找到最佳尺寸 这对数据库端有影响吗 它会占用大量内存吗 如果您的行很大 请记住
  • 如何更新 pl/sql 中嵌套表的列? [复制]

    这个问题在这里已经有答案了 我正在尝试在表中创建一个可以存储多个值的列 如下所示 我有一个学生id std和一个名为marks可以采用几个值 例如2 3 4 我想更新此列表以添加另一个标记2 3 4 5但我不知道怎么做 我如何更新专栏mar
  • Oracle JDBC 预取:如何避免 RAM 不足/如何使 oracle 更快高延迟

    使用 Oracle java JDBC ojdbc14 10 2 x 加载包含多行的查询需要很长时间 高延迟环境 这显然是 Oracle JDBC 中的默认预取默认大小 10 每 10 行需要一次往返时间 我正在尝试设置一个激进的预取大小来
  • ORA-12728: 正则表达式中的范围无效

    我想检查表中是否插入了有效的电话号码 所以我的触发代码在这里 select start index into mob index from gmarg mobile operators where START INDEX substr ne
  • php oracle客户端oci8安装出现什么问题

    我尝试了安装 PHP Oracle 客户端的所有过程 1 我安装了客户端版本8和32位 2 我在php ini中取消了oci的注释 3 重新启动Wamp 4 不确定是否真的安装 但我在 php ini 中得到了引用 5 但仍然无法连接 泰汉
  • 是否可以从子查询中获取多个值?

    有没有办法让子查询在oracle db中返回多列 我知道这个特定的sql会导致错误 但它很好地总结了我想要的 select a x select b y b z from b where b v a v from a 我想要这样的结果 a
  • 如何使用 ADO 连接字符串以 SYS 身份连接到 Oracle 数据库?

    我正在尝试这个 Provider MSDASQL 1 Persist Security Info False User ID sys Password pwd Initial Catalog DATABASE Data Source Odb
  • SQL查询json字典数据

    我的表中的 CLOB 字段包含 JSON 如下所示 a value1 b value2 c value3 我正在尝试编写一个 SQL 查询来返回一个包含键和值字段的表 如下所示 key value a value1 b value2 c v
  • SKIP加锁和nowait的区别

    pl sql 中 SKIP 锁定游标和 nowait 游标之间的区别 我认为我找到的这张图片是描述差异的最佳例子 详细说明 http viralpatel net blogs oracle skip locked
  • Oracle REGEXP_INSTR() 和“a-z”字符范围与预期不匹配

    我想用REGEXP INSTR 在 oracle 数据库中检查小写 大写字符 我知道 upper and lower POSIX 字符类 但我选择了a z这给了我非常奇怪的结果 我不明白 有人可以解释一下吗 SELECT REGEXP IN
  • ORA-04061: 包体“PACKAGE.NAME”的现有状态已失效,但仍然存在

    在我正在处理的一个 Oracle 数据库实例上 我在重新编译包时观察到与正常行为不同的行为 通常 如所讨论的Oracle 中频繁出现错误 ORA 04068 包的现有状态已被丢弃 https stackoverflow com questi
  • 如何在 Oracle 中按组填充缺失日期并更改计数值

    这是对我之前发布的问题的轻微修改 如何在 Oracle 中按组填写缺失的日期 https stackoverflow com questions 63002363 how do i fill in missing dates by grou
  • ODP.Net - OracleDataReader.读取速度非常慢

    我在 ODP Net 中的 OracleDataReader 方面遇到很多麻烦 基本上 我有一个参数化查询 需要 1 5 秒的时间来运行 返回大约 450 条记录 然后需要 60 90 秒的时间来循环 甚至没有代码在循环中运行 实际上是迭代
  • 每当 SQLERROR 永远不起作用时

    我不知道可能是什么原因 我已经在网上花了几个小时试图找出我的情况出了什么问题 我查过官方文档 https docs oracle com cd B19306 01 server 102 b14357 ch12052 htm还有一些汤姆 凯特

随机推荐

  • [转] DSP缓存机制

    本文主要以DSP讲解cache原理 但原理与CPU是相通的 故转载 原文地址 DSP 缓存机制 桑迪亚哥的博客 CSDN博客 dsp的cache DSP 缓存机制 注 本文说明的DSP基于TI c6000系列的C66x DSP 目录 DSP
  • 分类模型之职员离职分析

    今天要带来的是机器学习中几种重要的分类模型 分别是 逻辑回归 支持向量机 决策树 随机森林这四种算法模型 这里就不主要介绍模型背后的理论知识了 直接上数据 在数据分析中再来谈这些算法模型 今天要讨论的是Kaggle上的公司职员离职数据集 这
  • JS 简单实现电子时钟

    时钟的确是非常简单的一个功能 我们只需要通过js编写一个方法来获取时间的时分秒 再用定时器每隔一秒进行刷新即可 注意 通过Date类拿到的时分秒直接拼接起来可能是这样的 8 2 3 而我们想看到的效果应该是 08 02 03 所以这里我们会
  • 对于区块链,各个国家对它又是一种什么态度呢?

    在这场席卷全球的区块链技术 数字资产变革中 区块链作为一种颠覆性的技术 它的出现对各国政府提出了新的问题 对于这个问题 各国政府给出了怎样的答复 区块链在各国发展的政策环境又如何 并且我们除了要了解本国的立场之外 也需要掌握其他国家的态度
  • 谁发明了区块链?谁是中本聪?

    区块链技术首次在由中本聪 Satoshi Nakamoto 撰写的题为 比特币 对等电子现金系统 的论文中介绍 在这篇文章中 中本聪描述了区块链技术的基础 所有区块链创新都可以追溯到中本聪 他是区块链和比特币的发明者 但是 谁是中本聪 没人
  • 使用vscode搭建vue项目并引用element-ui

    1 环境准备 Visual studio code nodejs vue cli yarn 2 新建项目 1 打开Visual studio code 打开一个你想要创建项目的文件夹 2 打开集成终端如下图所示或者使用快捷键 3 在终端中输
  • LevelDB.NET 使用

    LevelDB是google实现的非常高效的kv数据库 多数是和redis比较 这里记录下如何使用 新建项目 Nuget添加类库 通过反编译发现运行时是 NET 4 0 这里我用4 5测试需要选择64位平台 代码 写数据 db Put Wr
  • python3排序 sorted(key=lambda)

    python3排序sorted key lambda 当待排序列表的元素由多字段构成时 我们可以通过sorted iterable key reverse 的参数key来制定我们根据那个字段对列表元素进行排序 key lambda 元素 元
  • 【华为OD统一考试B卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • StringBuilder.append()与String的"+"的效率PK

    如果String通过 来拼接 如果拼接的字符串是常量 则效率会非常高 因为会进行编译时优化 这个时候StringBuilder的append 是达不到的 如果将String的 放在循环中 会创建很多的StringBuilder对象 并且执行
  • 信贷风控中Vintage、滚动率、迁移率的理解

    风控业务背景 信贷风险管理是一门艺术 更是一门科学 资产质量分析中常会涉及到三个理论 账龄分析 Vintage Analysis 用以分析账户成熟期 变化规律等 滚动率分析 Roll Rate Analysis 用以定义账户好坏程度 迁移率
  • 未解决,fsmgmt.msc共享文件夹管理中,文件夹无属性选项

    之前用的win10家庭版 都没有fsmgmt msc 现在升级成专业版发现没有属性 https jingyan baidu com article 358570f69e9b13ce4724fce9 html 我的电脑
  • windows下redis设置redis开机自启动方法

    1 查看一下Redis服务是否注册 1 Win R快捷键输入services msc 然后回车或者点击确定 2 win10桌面 此电脑 右键单击 管理 gt 服务与应用程序 gt 服务 此处输入R 即可看到R开头的服务列表 在没有添加服务的
  • IDEA+Springboot+Git+jenkins+tomcat实现自动部署-基本流程

    jenkins构建 前言 测试项目准备 一 jenkins构建一个新项目 把Gitee仓库的项目获取到本地打包运行 二 jenkins构建一个新项目 把Gitee仓库的项目获取到本地打包 通过Publish Over SSH传输到另外一台机
  • 《在IDEA中配置MySQL的驱动程序》

    一 下载mysql connecter 下载地址 http dev mysql com downloads connector j 具体步骤已在下图中标注 注意是下载zip压缩包格式 因为解压缩安装很方便 下载完成后得到压缩包如下 二 安装
  • 深度详解ResNet到底在解决一个什么问题?

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 https www zhihu com question 64494691 本文仅作为学术分享 如果侵权 会删文处理 最近看到不少ResNet的变体 比如ResNeSt
  • 【软考】-高项-整合管理-重要知识点思维导图

    整合管理 文章目录 整合管理 含义 内容 项目管理计划 含义 组件 开工 会议 分类 目的作用 如何召开高效会议 批准的变更请求 可交付成果 工作绩效数据 变更的流程 1 提出与记录变更申请 2 初审变更 初审目的 常见方式为变更申请文档的
  • 实例分割模型Mask R-CNN详解:从R-CNN,Fast R-CNN,Faster R-CNN再到Mask R-CNN

    Mask R CNN是ICCV 2017的best paper 彰显了机器学习计算机视觉领域在2017年的最新成果 在机器学习2017年的最新发展中 单任务的网络结构已经逐渐不再引人瞩目 取而代之的是集成 复杂 一石多鸟的多任务网络模型 M
  • React黑马视频自学笔记02

    14 react事件处理 14 1事件绑定 语法 on 事件名称 事件处理程序 比如 onClick gt 注意 React事件采用驼峰命名法 比如 onMouseEnter onFocus 函数组件绑定事件的时候不用this 14 2事件
  • 监控Oracle(oracledb_exporter)

    我们以监控Oracle为例 目前仅有x86版本 可以下载源码针对不同环境使用golang环境自己编译 监控什么指标下载对应系统的exporter插件 统一下载地址 https prometheus io download 监控指标对应的gr