监控Oracle(oracledb_exporter)

我们以监控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,缺什么就用上面那种方式解决,知道运行不报错
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我教你啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值