ZABBIX监控DM数据库

        Zabbix 是一种企业级的分布式开源监控解决方案,能够提供对众多服务器及软件的监控,并允许用户基于监控产生的事件配置告警。

         Zabbix主要由Server端,数据库,WEB界面,PROXY和AGENT几部分组成。具体信息可以参考ZABBIX官网www.zabbix.com。这里主要介绍通过ODBC和AGENT这2种方式添加自定义监控项,实现对DM数据库进行监控。(ZABBIX支持配置SNMP监控项,通过这种方式可以获取DEM的SNMP AGENT接口数据,配置比较简单,具体可以传递的数据项配置可以参考DEM手册中SNMP AGENT一章,在ZABBIX中填写对应值配置监控。)

  1. 通过ODBC添加监控项

    Zabbix支持通过ODBC直接连接数据库进行监控,通过这种方式,我们可以直接将监控指标写成SQL进行配置,方便、简单。

    首先,在ZABBIX服务端配置ODBC连接DM数据库成功。

    ODBC配置步骤: 

  1. 下载安装 unixODBC 和 unixODBC-devel 。
  2. odbcinst -j 查看安装结果
  3. 配置 /etc/odbcinst.ini 文件,在 odbcinst.ini 文件中添加以下信息:

    [DM8 ODBC DRIVER]
    Description = DM ODBC DRIVER FOR DM8
    Driver      = /opt/dm8/bin

  4. 配置 /etc/odbc.ini 文件,在 odbc.ini 文件中添加以下信息:

    [DM]
    DRIVER = DM8 ODBC DRIVER
    SERVER = 127.0.0.1
    UID = SYSDBA
    PWD = SYSDBA
    TCP_PORT = 5236

  5. 测试连通

         然后通过浏览器访问ZABBIX WEB端(如需自行搭建ZABBIX可以依照具体环境,在ZABBIX网站选择对应版本后参考下面的说明进行搭建)配置监控项,可以新建一个DM的监控模板,在模板中添加监控项。例如:

           名称自定义;类型选择数据库监控;键值一项输入db.odbc.select[<unique short description>,<dsn>,<connection string>] 第一个参数为描述符,第二个参数选填DSN或连接串(使用db.odbc.get[<unique short description>,<dsn>,<connection string>]可以以 JSON 格式返回多列);用户名和密码可以选填;SQL查询填写监控的脚本SQL,如这里添加了一条查询当前session使用率的sql;信息类型选择SQL返回值的类型。

        最后,在监控主机中添加对应模板,就可以看到监控的数据了。

  2.通过AGENT添加监控项

        Zabbix agent 部署在被监控的目标端,收集本地信息并将数据报送给 Zabbix server,使用本地agent向服务端进行信息发送,这样做收集信息更加高效,稳定。

         agent端可以使用多种形式脚本进行数据收集,这里直接进行添加监控信息语句为例。

         在zabbix_agentd.d(默认为/etc/zabbix/zabbix_agentd.d可在zabbix_agentd.conf里配置)下,新增dm_session.conf,添加UserParameter参数例如UserParameter=dm.sessionnum,/opt/dmdbms/bin/disql SYSDBA/SYSDBA@127.0.0.1:5236  -E "select 'sessionnum'USID ,count(1) session_num from V\$SESSIONS"|grep sessionnum|awk '{print $2}'

           第一个参数为标识,第二个参数为值,也可以是执行脚本文件返回。 

        然后通过浏览器访问ZABBIX WEB端,添加监控项(可以在模板中添加): 名称自定义,类型选择ZABBIX客户端,键值输入之前conf文件中设置的dm.sessionnum 之后将监控模板添加到主机中,就可以收集到监控数据了。

3. 通过prometheus接口传递dem监控数据

Zabbix可以通过http接口直接获取Prometheus的metrics数据,在部署了DEM的地方,可以使用DEM传递Prometheusmetrics数据。这样可以避免两套系统重复监控对于数据库的压力影响。

(1)首先,在dem中开启prometheus接口:

在DEM中,“系统配置”→“其他功能”中,prometheus_metric_nodes设置要传递的监控资源,如:

之后访问http://<dem_ip>:<dem_port>/dem/metrics就可以获取metrics的数据:

(2)在zabbix端创建http监控项,地址为DEM中promethus接口地址:http://<dem_ip>:<dem_port>/dem/metrics

接着,在监控项的进程中,配置Prometheus pattern,在参数中输入对应的标签就可以得到相应监控项的结果。

就可以监控到对应的数据了

 最后,我们再来总结一下,使用ODBC方式,配置简单,易于实现,但是对ZABBIX SERVER端压力较大,只能使用SQL监控,适用于小规模使用;使用AGENT方式,部署灵活,可实现多种指标监控,不过需要一定的脚本开发能力;使用DEM传递数据,可以减少重复监控对于数据库的压力,不过只能传递特定数据,往往和AGENT监控方式搭配使用。

ODBC方式

AGENT方式

DEM传递

优势

配置简单

部署灵活,通过脚本可实现多种指标监控

通过DEM传递,减少数据库压力;配置较简单。

劣势

对ZABBIX SERVER端压力较大;只能使用SQL监控。

需要一定的脚本及开发能力

只能传递特定数据,无法个性化定制。

Zabbix作为一个被广泛使用的开源工具,提供多种的监控方式和良好的开发扩展能力,被许多公司所选择,用以开发实现对多种数据库、操作系统、中间件、包括一些硬件设备的统一监控。通过脚本等方式,可以轻松实现各种产品的监控和告警。能够满足统一监控,统一运维的场景。

DEM作为达梦数据产品配套的WEB企业管理平台,提供了全面的数据库监控、部署、巡检、数据迁移、运维能力,用以实现对DM数据库统一管理的需求,增加数据库的易维护性。

在实际使用中,更多的将DEM和Zabbix搭配使用,通过DEM来进行达梦数据库的部署、巡检等运维管理。同时通过Zabbix平台来实现多种产品(包括达梦数据库)的统一监控。

附:ZABBIX监控DM数据库模板,可直接导入使用。

ZABBIX监控DM模板

监控效果:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值