zabbix ODBC数据库监控(22)

ODBC是C语言开发的、用于访问数据库的中间件接口.zabbix支持查询任何ODBC支持的数据库.zabbix通过调用ODBC来获取数据库的数据以及数据库状态等等信息.1. 安装unixODBC官方主页:http://www.unixodbc.org/download.html.安装方法如下RedHat/Fedora/Cetnosshell> yum -y install unixODBC unixODBC-develSUSE?zypper# zypper in unixODBC-devel2. 安装unixODBC驱动要监控mysql等数据库必须先安装基于c开发的unixODBC数据库驱动.redhat直接yum安装,suse使用zypper安装.其他系统,源码安装,官方地址:http://www.unixodbc.org/drivers.html.redhat/centosshell> yum install mysql-connector-odbcSUSEzypper in MyODBC-unixODBC3. 配置unixODBC配置odbcinst.ini和odbc.ini两个配置文件即可,验证配置是否正常,如下命令:# odbcinst -junixODBC 2.2.14DRIVERS…………: /etc/odbcinst.iniSYSTEM DATA SOURCES: /etc/odbc.iniFILE DATA SOURCES..: /etc/ODBCDataSourcesUSER DATA SOURCES..: /root/.odbc.iniSQLULEN Size…….: 8SQLLEN Size……..: 8SQLSETPOSIROW Size.: 8odbcinst.ini范例:# vi /etc/odbcinst.ini[mysql]Description = ODBC for MySQLDriver? ? ? = /usr/lib/libmyodbc5.so参数详解:

属性描述mysql数据库驱动名称.Description数据库驱动描述.Driver数据库驱动类库具体路径

odbc.ini范例:[test]Description = MySQL test databaseDriver? ? ? = mysqlServer? ? ? = 127.0.0.1User? ? ? ? = rootPassword? ? =Port? ? ? ? = 3306Database? ? = zabbix参数详解:

AttributeDescriptiontest数据源名称?(DSN).Description数据源描述.Driver数据库驱动名?- 在 odbcinst.ini指定Server数据库 IP/DNS.User数据库用户名.Password数据库密码.Port数据库端口Database数据库名称.

验证ODBC是否可用,使用isql(命令unixODBC包提供)命令,如下:# isql test+—————————————+| Connected!? ? ? ? ? ? ? ? ? ? ? ? ? ? || ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? || sql-statement ? ? ? ? ? ? ? ? ? ? ? ? || help [tablename]? ? ? ? ? ? ? ? ? ? ? || quit? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? || ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |+—————————————+SQL>命令解释help:列出所有表help tablename:查询表所有数据,类似select * from tablenamequit:退出4.? 编译支持ODBC的zabbix增加ODBC的支持,需要增加如下参数.起先我没有加这个参数,我需要重新编译一次? –with-unixodbc[=ARG] ? use odbc driver against unixODBC package5.? 配置监控项配置数据库监控项:Specifically for database monitoring items you must enter:

Type类型,选择监控数据库.Key监控项key?db.odbc.select[unique_description,data_source_name]unique_description:描述,要唯一data_source_name:odbc.ini中定义的数据源名称.User name数据库用户名 (可选,如果odbc.ini中已经定义)Password数据库密码?(可选,如果odbc.ini中已经定义)SQL?querySQL语句Type of information返回值类型,如果类型选错了,这个监控项会不可用

6. 注意事项查询语句执行时间不能超过配置的超时时间查询只允许返回一个值.如果查询语句返回了多个列,它只读取第一列如果查询语句返回了多行,它读取第一条SQL语句必须是?select开头,只能是查询语句.SQL语句不能包含换行符7. 错误消息从zabbix 2.08开始ODBC提供如下详细的错误信息:Cannot execute ODBC query:[SQL_ERROR]:[42601][7][ERROR: syntax error at or near “;”; Error while executing the query]|————————-? ——— ? —–? |? ——————————————————————- |? ? ? ? ? ? |? ? ? ? ? ? ? ? ? | ? ? ? ? |? ? `- Native error code? ? ? ? ? ? `- error message.? ? ? ? ? ? ? ? ? ? ? `- Record separator? ? ? ? ? ? |? ? ? ? ? ? ? ? ? | ? ? ? ? `-SQLState? ? ? ? ? ? `- Zabbix message? `- ODBC return code错误消息最长不能超过128字节,因此错误消息太长会被截断. 预祝大家端午节快乐,运维生存时间zabbix教程节后继续更新,欢迎大家常回来看看。

zabbix ODBC数据库监控(22)

相关文章:

你感兴趣的文章:

标签云: