@zabbix监控Sql Server 数据库及azure云上pass应用(ODBC监控)

  • Post author:
  • Post category:其他


在这里插入图片描述



1.ODBC概述

ODBC监控对应于Zabbix前端中的数据库监控类型

ODBC是C语言编写的中间件API,用于访问数据库管理系统(DBMS)。

ODBC是由Microsoft开发的,后来被移植到了其它平台

Zabbix可以查询任何支持ODBC的数据库。

实现这个目标,Zabbix不直接连接数据库,而是使用ODBC接口并在ODBC中设置的驱动程序。

该功能允许出于多种目的,更加有效地监视不同的数据库。

例如,检测特定的数据库队列、使用统计信息等。

Zabbix支持unixODBC,是最常用的开源ODBC API实现之一



2.ODBC安装

安装unixODBC的建议方法是使用Linux操作系统默认包库,在主流的Linux发行版中;

默认情况下unixODBC包含在镜像库中


【ODBC存储库】

RedHat/Fedora及Centos系统上使用yum包管理器安装unixODBC

#zabbix server上下载安装odbc
[root@Zabbix server ~]# yum -y install unixODBC unixODBC-devel



#查看odbc使用方式
[root@Zabbix server ~]# odbcinst 

**********************************************
* unixODBC - odbcinst                        *
**********************************************
*                                            *
* Purpose:                                   *
*                                            *
*      An ODBC Installer and Uninstaller.    *
*      Updates system files, and             *
*      increases/decreases usage counts but  *
*      does not actually copy or remove any  *
*      files.                                *
*                                            *
* Syntax:                                    *
*                                            *
*      odbcinst Action Object Options        *
*                                            *
* Action:                                    *
*                                            *
*      -i         install                    *
*      -u         uninstall                  *
*      -q         query                      *
*      -j         print config info          *
*      -c         call SQLCreateDataSource   *
*      -m         call SQLManageDataSources  *
*      --version  version                    *
*                                            *
* Object:                                    *
*                                            *
*      -d driver                             *
*      -s data source                        *
*                                            *
* Options:                                   *
*                                            *
*      -f file name of template.ini follows  *
*         this (valid for -i)                *
*      -r get template.ini from stdin, not   *
*         a template file                    *
*      -n Driver or Data Source Name follows *
*      -v turn verbose off (no info, warning *
*         or error msgs)                     *
*      -l system dsn                         *
*      -h user dsn                           *
*                                            *
* Returns:                                   *
*                                            *
*      0   Success                           *
*     !0   Failed                            *
*                                            *
* Please visit;                              *
*                                            *
*      http://www.unixodbc.org               *
*      pharvey@codebydesign.com              *
**********************************************



3.安装 unixODBC 驱动程序

zabbix监控,需要为被监控的数据库安装一个unixODBC数据库驱动程序。

unixODBC有一个支持的数据库和驱动程序列表:


【ODBC支持数据库组件列表】

在一些Linux发行版中,数据库驱动程序包含在镜像库中。

在RedHat/Fedora系统上使用yum包管理器安装sql server或者MySQL数据库驱动程序

#sql server驱动程序安装
yum install freetds -y



4.配置 unixODBC

ODBC配置是通过编辑 odbcinstn.ini 和 odbcst.ini 文件完成的

#ODBC配置文件位置查找,可通过命令直接查看
odbcinst


#查看odbc驱动配置
odbc_config --odbcinstini




#ODBC驱动查找
[root@Zabbix server ~]# find / -name 'libtdsodb*'
/usr/lib64/libtdsodbc.so
/usr/lib64/libtdsodbc.so.0
/usr/lib64/libtdsodbc.so.0.0.0


odbcinstst.ini驱动程序配置:

#odbcinstst.ini 用于列明已安装的ODBC数据库驱动程序,在/etc/odbcinst.ini添加SQL Server驱动FreeTDS:
[root@Zabbix server ~]# egrep "^[^#]" /etc/odbcinst.ini 
# PostgreSQL驱动项(默认就有)
[PostgreSQL]
Description	= ODBC for PostgreSQL
Driver		= /usr/lib/psqlodbcw.so
Setup		= /usr/lib/libodbcpsqlS.so
Driver64	= /usr/lib64/psqlodbcw.so
Setup64		= /usr/lib64/libodbcpsqlS.so
FileUsage	= 1


# Mysql驱动项(默认就有)
[MySQL]                                  # 数据库驱动名
Description	= ODBC for MySQL             # 数据库驱动描述
Driver		= /usr/lib/libmyodbc5.so     # 数据库驱动程序库文件位置
Setup		= /usr/lib/libodbcmyS.so
Driver64	= /usr/lib64/libmyodbc5.so
Setup64		= /usr/lib64/libodbcmyS.so
FileUsage	= 1


# SQL Server驱动项(新增项)
[FreeTDS]  
Description = ODBC for SQL Server
Driver = /usr/lib64/libtdsodbc.so.0
Setup = /usr/lib64/libtdsS.so
FileUsage = 1


odbc.ini 自定义数据源:多台设备可直接添加到此配置中

#添加数据源(默认再/etc/odbc.ini,找不到旧find)
[root@Zabbix server ~]# find / -name 'odbc.ini*'
/etc/odbc.ini
/usr/share/doc/freetds-libs-1.3.3/samples-odbc/odbc.ini
/usr/share/man/man5/odbc.ini.5.gz





#配置数据源(配置默认配置即可)
[root@Zabbix server ~]# egrep [^#] /etc/odbc.ini 
[mssql]
Driver = FreeTDS
Server = zeny.database.windows.net
Port = 1433
TDS_Version = 8.0
#Database = zeny


[zeny1]          
Driver = FreeTDS
Server = 192.168.1.5
PORT = 1433
TDS_Version = 8.0


[zeny2]
Driver = FreeTDS
Server = 127.0.0.1
PORT = 1433
TDS_Version = 8.0












《配置以上配置即可,略过以下配置即可》
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
####################################################################################
[root@Zabbix server ~]# egrep "^[^#|^;]" /usr/share/doc/freetds-libs-1.3.3/samples-odbc/odbc.ini
[ODBC Data Sources]
JDBC = Sybase JDBC Server


[JDBC]                                           # 数据源名称
Driver          = /usr/local/lib/libtdsodbc.so   # 数据库驱动程序名称
Description     = Sybase JDBC Server             # 数据源描述
Trace           = No                             
Servername      = JDBC
Database        = pubs2
UID             = guest


[Default]
Driver          = /usr/local/lib/libtdsodbc.so



[MSSQL]                             # 数据源名称
Driver = FreeTDS                      # 数据库驱动程序名称
Server = zeny.database.windows.net    # 数据库服务器 IP/DNS
Port = 1433                           # 数据库连接端口
Database = zeny                       # 数据库名称
TDS_Version = 8.0                     # 数据库版本
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


相关参数详解:

在这里插入图片描述



5.ODBC验证

验证ODBC连接是否正常工作,应该测试到数据库的连接,这可以通过isql实用程序(包含在unixODBC包中)如下所示:

#通过账号密码测试:(如下所示成功)
__________________________________________________________________________________________________________________________________________
shell> tsql -S zeny.database.windows.net -U admin-zeny
Password: 
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1> SELECT Name from sys.databases;      #查看所有库
2> go
Name
master
zeny
(2 rows affected)
1> CREATE DATABASE zenyDB;              #创建数据库
2> go
3> SELECT Name from sys.databases;
4> go
Name
master
zeny
zenyDB
(3 rows affected)
1> quit
________________________________________________________________________________________________________________
shell> tsql -S 192.168.1.5 -U sa -P hzl@20144
locale is "zh_CN.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1> select name from sys.databases;
2> go
name
master
tempdb
model
msdb
TESTDB
zeny
(6 rows affected)
1> 
_____________________________________________________________________________________________________________________________________________
shell> tsql -S 127.0.0.1 -U sa -P hzl@20144
locale is "zh_CN.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1> select name from sys.databases;
2> go
name
master
tempdb
model
msdb
(4 rows affected)
1> 






#配置信息查看
[root@Zabbix server ~]# odbcinst -j
unixODBC 2.3.1
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8




#查看版本
shell> isql --v
unixODBC 2.3.1





#验证(只需要isql命令加上数据源名称即可)isql -v DSN <username> <password>
isql -v DSN
#测试功能信息状态
tsql -C

#显示连接信息: tsql -S DSN -U <username> -P <password>
tsql -H DSN -p 1433 -U sa -P hzl@2022
osql -S DSN -U <username> -P <password>



6.zabbix web配置


【zabbix部署安装】

zabbix配置,正常添加主机即可

注:云上资源直接使用DNS即可,有配置IP,可直接使用IP地址即可

在这里插入图片描述

在这里插入图片描述

mssql监控配置宏

注:不同的mssql,需要使用不同的DSN

在这里插入图片描述

在这里插入图片描述


sql server主机数据监控验证

在这里插入图片描述

在这里插入图片描述


mssql01主机数据监控验证

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



7.MSSQL自定义项监控

mssql监控项添加,添加自定义监控配置

在这里插入图片描述

测试配置的监控项是否有误,及配置的返回值状态

在这里插入图片描述

数据检查:如下所示一个简单的监控配置🆗了,如有其他的需求,也可自定义配置监控

在这里插入图片描述



版权声明:本文为weixin_55972781原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。