zabbix通过ODBC监控sybase举例

转载来源 :zabbix通过ODBC监控sybase举例 : https://www.jianshu.com/p/e6562b39f38b

本文用到的ODBC和freetds,请参考一下两个网址,进行安装:

https://www.zabbix.com/documentation/4.0/zh/manual/config/items/itemtypes/odbc_checks

https://www.zabbix.com/documentation/4.0/zh/manual/config/items/itemtypes/odbc_checks/unixodbc_mssql

ODBC自动发现规则理论知识:

https://www.zabbix.com/documentation/4.0/zh/manual/config/items/itemtypes/odbc_checks/unixodbc_mssql

说明:

用ODBC的freetds模板,能从zabbix服务器上远程监控sybase的一些信息,但是需要sybase的sql查询语句,同时仅通过zabbix的odbc监控,无法执行一些sp_命令,如sp_helpdb 。如需要使用sp_的命令监控,可以用python的pexpect模块模拟执行isql命令远程登录,然后执行查询sql语句。

1.在sybase数据上新建用于监控的普通用户

在sybase服务器上:

(1).查看sybase进程

[size=12.0000pt]ps -ef | grep sybase

在这里插入图片描述

(2).新建监控用户

su - sybase

isql -Usa -Psybase -H192.168.2.6:5000 [size=12.0000pt]-SLOCALHOST

sp_addlogin zabbix,zabbix

go

[size=12.0000pt]

sp_adduser zabbix,zabbix

go

[size=12.0000pt]

sp_role 'grant',mon_role,zabbix

go

(3).查看用户信息:

sp_helpuser zabbix

go

在这里插入图片描述

(4).查看用户zabbix的权限

sp_helprotect zabbix

go

有些版本的sybase需要重启数据库使新建用户生效,生产环境需要 谨慎重启!!!!

测试监控用户是否能正常登录:

isql -Uzabbix -Pzabbix -H192.168.2.6:5000 -SLOCALHOST

能登录即配置完成。

2.在zabbix服务器上配置odbc远程登录信息

vi /etc/freetds.conf

文件最下面加上以下内容:

[192.168.2.6]

host = 192.168.2.6

port = 5000

tds version = 4.2

client chaeset = UTF-8

说明:

[192.168.2.6]是可以自定义的名字。

host是主机名称或IP

port是sybase数据的监听端口

tds version保持默认,有4.2,5.0,7.0,8.0。连接失败可以试下换一个版本

client chaeset客户端软件可识别的字符集,保持默认

测试连通性

tsql -S 192.168.2.6 -U 'zabbix'       

如果输入密码无报错后出现“ 1> ”,则表示配置成功。(密码:zabbix)

配置添加ODBC数据源

vi  /etc/odbc.ini

[192.168.2.6]

Driver      = FreeTDS

Description = 192.168.2.6

Trace      = NO

Servername  = 192.168.2.6

参数说明:

[LOCALHOSTODBC]是数据源的名字,可以自定义

Driver 是/etc/odbcinst.ini里定义的名称(保持默认)

Description 使用在 freetds.conf中定义的名称(instance替换“-”)

Servername 使用在 freetds.conf中定义的名称

注:odbc.ini这个文件的每行行首和行尾不能有一个空格,有空格会出现报错:

[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source

[ISQL]ERROR: Could not SQLConnect
vi /etc/odbcinst.ini

确认是否有下面这段:

[FreeTDS]

Description=ODBC of FreeTDS for SQL Server

Driver=/usr/lib/libtdsodbc.so.0

Setup=/usr/lib/libtdsS.so

Driver64=/usr/lib64/libtdsodbc.so.0

Setup64=/usr/lib64/libtdsS.so

FileUsage=1

测试远程登录

isql -v 192.168.2.6 'zabbix' 'zabbix[size=12.0000pt]'

说明:isql -v DSN名称 ‘用户名’ ‘密码’

3.在zabbix网页端建立syabse的odbc监控模板

新建3个宏值 {KaTeX parse error: Expected 'EOF', got '}' at position 5: ODBC}̲ 、 {USER} 、 {$PASSWORD}
在这里插入图片描述
新建监控项例子:

(1).当前连接数

在这里插入图片描述
名称:当前连接数

类型:数据库监控

键值:db.odbc.select[connections,{$ODBC}]

用户名称:{$USER}

密码:{$PASSWORD}

SQL查询:select count(*) from master.dbo.sysprocesses where ipaddr!=NULL

信息类型:数字(无正负)

更新间隔:300
在这里插入图片描述

(2).最大连接数

在这里插入图片描述
名称:最大连接数

类型:数据库监控

键值:db.odbc.select[max_connections,{$ODBC}]

用户名称:{$USER}

密码:{$PASSWORD}

SQL查询:select @@max_connections

信息类型:浮点数

更新间隔:3600
在这里插入图片描述

(3).数据库版本

在这里插入图片描述
名称:数据库版本

类型:数据库监控

键值:db.odbc.select[version,{$ODBC}]

用户名称:{$USER}

密码:{$PASSWORD}

SQL查询:select @@version

信息类型:浮点数

更新间隔:3600
在这里插入图片描述

新建自动发现规则例子:

在这里插入图片描述
在这里插入图片描述
名称:master表空间

类型:数据库监控

键值:db.odbc.discovery[tablespace,{$ODBC}]

用户名称:{$USER}

密码:{$PASSWORD}

SQL查询:select name = object_name(sysindexes.id) from sysindexes, sysobjects where sysindexes.id = sysobjects.id and sysindexes.id > 100 and indid =0

更新间隔:3600

过滤器: {#NAME} 匹配 @sybase table space
在这里插入图片描述
监控项原型:
在这里插入图片描述
名称:表{#NAME}分配的空间大小

类型:数据库监控

键值:db.odbc.select[{#NAME}reserved,{$ODBC}]

用户名称:{$USER}

密码:{$PASSWORD}

SQL查询:select reserved_pages(db_id(),id)/(1024.0 / @@maxpagesize)*1024 from sysobjects where name = ‘{#NAME}’

信息类型:数字(无正负)

单位:B

更新间隔:300

已使用空间查询语句:

select used_pages(db_id(),id)/(1024.0 / @@maxpagesize)*1024  from sysobjects where name = '{#NAME}'

行数查询语句:

select row_count(db_id(), id) from sysobjects where name = '{#NAME}'

参考链接 :
zabbix通过ODBC监控sybase举例 : https://www.jianshu.com/p/e6562b39f38b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值