【问题标题】:Using Oracle DB exporter with Prometheus将 Oracle DB 导出器与 Prometheus 一起使用
【发布时间】:2019-11-28 05:02:16
【问题描述】:

尝试使用 Prometheus 网站上提到的 Oracle DB 导出器来抓取 oracle db

出口商: OracleDB Exporter

但无法理解如何将其连接到远程 Oracle 数据库实例。 它指定创建 DATA_SOURCE_NAME,但没有提及用户名和密码等连接属性,需要有关此方面的帮助

尝试为导出器运行 docker

 docker run --name oracledb_exporter -p 9161:9161 -e DATA_SOURCE_NAME=system/oracle@hostname/xe iamseth/oracledb_exporter
time="2019-11-28T05:08:29Z" level=info msg="Starting oracledb_exporter 0.2.3" source="main.go:337" 
time="2019-11-28T05:08:29Z" level=error msg="Error pinging oracle: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor\n" source="main.go:168" 
time="2019-11-28T05:08:29Z" level=info msg="Try to reconnect..." source="main.go:173" 
time="2019-11-28T05:08:29Z" level=error msg="Unable to connect to oracle:ORA-12514: TNS:listener does not currently know of service requested in connect descriptor\n" source="main.go:181" 
time="2019-11-28T05:08:29Z" level=info msg="Listening on :9161" source="main.go:359" 

【问题讨论】:

    标签: oracle prometheus exporter


    【解决方案1】:

    切换到带有 Logstash 的 InfluxDB,它已经存在用于数据导出的插件。

    InfluxDB 也是一个时间序列数据库,Logstash 已经有插件用于在数据库上运行查询然后将数据提交到 influxDB,使用 Logstash 中的调度程序以间隔抓取数据

    influxdb output plugin

    将 Grafana 用于支持 prometheus 和 influxDB 的仪表板。

    【讨论】:

      【解决方案2】:

      在运行 Oracle 数据库导出器 Docker 容器时,尝试使用 env 参数设置数据库连接字符串。

      例如:

      1. 创建一个名为env的文件并定义如下:
        DATA_SOURCE_NAME=SYS/Oradoc_db1@192.168.0.45:1521/ORCLCDB
        
      2. docker run -d --name --link oracle oracledb_custom_exporter -p 9161:9161 --env-file env <image_id_of_oracledb_exporter>
        

      【讨论】:

      • 是否需要为单个值创建 env 文件?可以直接设置--env=DATA_SOURCE_NAME="SYS/Oradoc_db1@192.168.0.45:1521/ORCLCDB"吗?
      猜你喜欢
      • 2019-08-02
      • 1970-01-01
      • 1970-01-01
      • 2020-11-21
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 2019-11-21
      • 2013-03-08
      相关资源
      最近更新 更多