Zabbix6通过ODBC方式监控Oracle 19C的详细过程

下面是对应的攻略:

准备

  1. 安装ODBC驱动

在Zabbix Server上安装ODBC驱动,例如UnixODBC驱动:yum install unixODBC unixODBC-devel

  1. 安装Oracle Instant Client

在Zabbix Server上安装 Oracle Instant Client,以供ODBC连接访问Oracle数据库:下载地址

  1. 配置ODBC数据源

在Zabbix Server上编辑ODBC配置文件/etc/odbc.ini,添加以下内容:

ini
[dsnname]
Driver=OracleInClient
ServerName=<ip or hostname>:<port>/<service_name>
UserID=<username>
Password=<password>

其中driver、ServerName、UserID、Password为必填项,dsnname可自定义名称。

Zabbix Server配置

  1. 安装Zabbix Server

根据官网安装手册进行安装

  1. 添加Zabbix Server ODBC监控项

a. 确认客户端中ODBC驱动已安装并配置好ODBC数据源

b. 在Zabbix Server中进入Configuration -> Templates -> Create template,创建模板

c. 添加ODBC监控项。在模板内部添加ODBC Items,例如:

``` ini
// item配置示例:zabbix_agentd.conf中以UserParameter定义的东西
UserParameter={#ODBC_NAME},echo 'SELECT count() from {#TABLE_NAME} where status="OPEN";'| /usr/local/unixODBC/bin/isql {#ODBC_NAME} -b -v | awk '$1== "count()" {print $2}'

// example:
UserParameter=oracle_active:xargs -0 echo < /oracle12c/app/oracle/product/12.1.0.2/dbhome_1/bin/sqlplus -S / as sysdba <<! \n select * from v$session where status='ACTIVE';\n!|grep '^ *1 '|awk '{print $9}'\n
``{#ODBC_NAME}`: odbc数据源名称,与/etc/odbc.ini中[dsnname]相同
{#TABLE_NAME}: 在oracle数据库中查询的表名,以实际需求而定。

  1. 添加Zabbix Server ODBC触发器

在模板内部添加相应的触发器,例如:

ini
// oracle_active
{Template_ODBC:oracle_active.last()}>"10"

其中{Template_ODBC:oracle_active.last()}为上面对应的监控项键值,"10"是对应的阈值。

  1. 应用模板至Oracle主机

监控项和触发器已创建完成,将模板应用到需要监控的Oracle主机上即可。

示例

假设我们有一个名为my_oracle_datasource的ODBC数据源,可以按照以下方式创建一个监控项:

UserParameter=oracle_active:xargs -0 echo < /oracle12c/app/oracle/product/12.1.0.2/dbhome_1/bin/sqlplus -S / as sysdba <<! \n select * from v$session where status='ACTIVE';\n!|grep '^ *1 '|awk '{print $9}'\n

对应的触发器可以设置为:

{Template_ODBC:oracle_active.last()}>"10"

其含义为,如果Oracle里有超过10个会话状态为"ACTIVE",就触发警报。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Zabbix6通过ODBC方式监控Oracle 19C的详细过程 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • MySQL 的 20+ 条最佳实践

    MySQL 是目前应用范围最广的关系型数据库之一,因此对于 MySQL 的最佳实践有着非常重要的意义。以下是 MySQL 的 20+ 条最佳实践的详细攻略: 一、安全性 1. 避免使用root账户 MySQL创建时会默认生成root用户,但是为了安全起见,建议避免使用root账号登录MySQL,因为root拥有超级权限,如果被黑客攻破MySQL,将有可能造成…

    database 2023年5月19日
    00
  • mysql忘记密码怎么办(windows linux)

    以下是“mysql忘记密码怎么办(windows linux)”的完整攻略: 思路概述 当我们忘记了MySQL的密码,需要通过以下几个步骤来重置密码: 停止MySQL服务 创建并编辑一个名为mysqld.ini或my.cnf的配置文件 在配置文件中添加一行命令:skip-grant-tables 以安全模式启动MySQL服务 使用root用户登录MySQL …

    database 2023年5月22日
    00
  • mysql dblink跨库关联查询的实现

    MySQL dblink跨库关联查询的实现 在MySQL中,为了实现数据的分库分表,我们常常会将数据分散到多个数据库实例中。但是在实际的业务场景中,常常需要对不同的数据库实例进行联合查询,此时可以使用MySQL的dblink特性。 什么是MySQL dblink dblink是MySQL的一个插件,它可以让一个MySQL实例连接另一个MySQL实例,从而实现…

    database 2023年5月22日
    00
  • SQL 插入新记录

    当我们需要往数据库中插入新记录时,就需要使用 SQL 的 INSERT INTO 语句。下面给出 SQL 插入新记录的完整攻略: 语法格式 INSERT INTO table_name (column1, column2, column3, …) VALUES (value1, value2, value3, …); 其中,table_name 是要…

    database 2023年3月27日
    00
  • 详解MySQL自增主键的实现

    下面是详解MySQL自增主键的实现的完整攻略。 什么是MySQL自增主键 MySQL自增主键是一种约束,用于确保表中每行数据的唯一标识符。 在表中添加一列自增主键后,MySQL会自动为每行数据赋予唯一的标识符,并输入数据时将自动递增此值,这样可以极大地方便数据管理和使用。 如何添加自增主键 要将自增主键添加到表中,请执行以下步骤: 1.创建表并定义需要的列名…

    database 2023年5月19日
    00
  • MySQL高级进阶sql语句总结大全

    MySQL高级进阶SQL语句总结大全 这篇文章主要介绍MySQL高级进阶SQL语句的总结大全,包括常用的高级SQL语句的使用方法和示例。 一、排序 1.1 ORDER BY 用法:ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], … [ASC|DESC] 示例:假设有一个student表,其中包含3个字段,…

    database 2023年5月21日
    00
  • MySQL学习笔记小结

    MySQL学习笔记小结攻略 什么是MySQL MySQL是一种关系型数据库管理系统,常用于Web开发和应用程序开发。它是一种开源软件,可以从其官方网站或其他开源软件网站上免费下载和使用。 MySQL的安装 MySQL的安装有多种方式,包括二进制文件安装、源代码编译安装等。以下是常见的二进制文件安装方法: 下载MySQL二进制文件,根据操作系统的不同选择对应的…

    database 2023年5月19日
    00
  • DBMS中E-R模型和关系模型的区别

    DBMS中E-R模型和关系模型是两种不同的数据模型,下面我将详细讲解它们之间的区别。 E-R模型 定义 E-R模型全称是实体-关系模型,是一种描述实体之间关系的模型。在E-R模型中,实体通常映射为表(或称为关系),而实体之间的关系则映射为表之间的关系。 实例说明 比如,我们有两个实体:学生和课程。学生和课程之间有一个“选修”关系,即一个学生可以选修多个课程,…

    database 2023年3月27日
    00
合作推广
合作推广
分享本页
返回顶部