基于godror 的 oracle prometheus exporter

摘要:
iamseth/oracledb_exporter是一个挺不错的oracleprometheusexporter,但是因为oraclegolang驱动的问题,不是很方便(构建,使用),所以基于godror/godror调整了一个版本(很简单,替换一个依赖包就可以了),以下是参考说明修改的文件go.modmodulegithub.com/iamseth/oracledb_exportergo1.14

iamseth/oracledb_exporter 是一个挺不错的 oracle prometheus exporter ,但是因为oracle golang 驱动的问题,不是很方便
(构建,使用),所以基于godror/godror 调整了一个版本(很简单,替换一个依赖包就可以了),以下是参考说明

修改的文件

go.mod

module github.com/iamseth/oracledb_exporter
go 1.14
require (
github.com/BurntSushi/toml v0.3.1
github.com/godror/godror v0.20.10
github.com/prometheus/client_golang v1.0.0
github.com/prometheus/common v0.6.0
gopkg.in/alecthomas/kingpin.v2 v2.2.6
)

main.go

package main
import (
"bytes"
"context"
"crypto/sha256"
"database/sql"
"errors"
"hash"
"io"
"net/http"
"os"
"strconv"
"strings"
"sync"
"time"
"github.com/BurntSushi/toml"
_ "github.com/godror/godror"
"fmt"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/prometheus/common/log"
"gopkg.in/alecthomas/kingpin.v2"
//Required for debugging
//_ "net/http/pprof"
)

Docker 镜像(基于oraclelinux)

FROM golang:1.15 AS build
WORKDIR /go/src/oracledb_exporter
ENV GO111MODULE=on
ENV GOPROXY=https://goproxy.cn
COPY . .
RUN go build -v -ldflags "-X main.Version=${VERSION} -s -w"
FROM oraclelinux:7-slim
ARG release=19
ARG update=9
RUN yum -y install oracle-release-el7 && 
yum -y install oracle-instantclient${release}.${update}-basic && 
rm -rf /var/cache/yum && 
yum clean all
COPY --from=build /go/src/oracledb_exporter/oracledb_exporter /oracledb_exporter
ADD ./default-metrics.toml /default-metrics.toml
EXPOSE 9161
ENTRYPOINT ["/oracledb_exporter"]

说明

具体的使用方法没变,还是以前的方法,只是构建以及使用简单了

参考资料

https://github.com/iamseth/oracledb_exporter
https://github.com/rongfengliang/oracledb_exporter
https://www.cnblogs.com/rongfengliang/p/14109740.html
https://github.com/godror/godror

免责声明:文章转载自《基于godror 的 oracle prometheus exporter》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何解决Linux 系统下 ifconfig 命令无网络接口 ens33ASP操作COOKIE下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

oracle创建表空间 扩展表空间文件 修改表空间自动增长

  1. 创建表空间 create tablespace SIRM2  datafile 'D:oracleproduct10.2.0oradataorclSIRM2.dbf' size 1024M --存储地址 初始大小1G autoextend on next 10M maxsize unlimited   --每次扩展10M,无限制扩展 EXTENT...

Charles https乱码处理

第一步:设置手机代理 1.查看本机电脑ip地址打开Help -> Local IP Address 即可看到,记录下这个ip地址后面有用(手机设置代理需要输入的ip地址)。     打开Proxy -> Proxy Settings... 查看代理端口配置,默认值为8888记下这个端口(手机设置代理需要的端口号)。 设置手机代理保证手机和电...

从0开始编译安卓 9.0

手机是Google Pixel XL 编译环境的准备 google 9月更新了地址 https://source.android.com/setup/build/initializinghttps://source.android.com/setup/build/building ubuntu 16.0.4 x64 需要安装的软件包 看上面 的网址 经过测...

推荐K8s的一键安装和一键升级

centos7 deploy_Kubernetes-v1.15.1 后续脚本更新统一由kkitDeploy项目持续更新相应脚本 请移步至kkitDeploy项目 https://github.com/luckman666/kkitdeploy_server ##################################################...

转载 微信支付服务器与本地证书问题的坑

在本地安装证书并调用微信小程序支付,没有问题,但发布到服务器则报错,开始显示内部错误,查相关资料后发现IIS确实与VS环境不同,需要设置以下内容: Https传输证书授权问题 一、导入证书  1、运行->mmc,打开管理控制台,文件->添加/删除管理单元 2、在可用的管理单元中选择证书,然后点击添加 3、回到控制台,展开证书-当前用户-&...

Django中的监控组件Prometheus

Prometheus和Django项目增加prometheus与grafana 1.什么是Prometheus? prom存储的是一个时序数据,即按照相同时序(相同名称和标签),时间维度存储连续数据的集合; 时序是有名字(metrics)以及一组的key/value标签定义的,具有相同名字以及标签属于相同时序。 prom的特点: 多维度的数据模型 灵...