天天看點

@zabbix監控Sql Server 資料庫及azure雲上pass應用(ODBC監控)

文章目錄

  • ​​1.ODBC概述​​
  • ​​2.ODBC安裝​​
  • ​​3.安裝 unixODBC 驅動程式​​
  • ​​4.配置 unixODBC​​
  • ​​5.ODBC驗證​​
  • ​​6.zabbix web配置​​
  • ​​7.MSSQL自定義項監控​​
@zabbix監控Sql Server 資料庫及azure雲上pass應用(ODBC監控)

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;      

3.安裝 unixODBC 驅動程式

zabbix監控,需要為被監控的資料庫安裝一個unixODBC資料庫驅動程式。

unixODBC有一個支援的資料庫和驅動程式清單:

​​​【ODBC支援資料庫元件清單】​​

在一些Linux發行版中,資料庫驅動程式包含在鏡像庫中。

在RedHat/Fedora系統上使用yum包管理器安裝sql server或者MySQL資料庫驅動程式

#sql server驅動程式安裝
yum install      

4.配置 unixODBC

ODBC配置是通過編輯 odbcinstn.ini 和 odbcst.ini 檔案完成的
#ODBC配置檔案位置查找,可通過指令直接檢視
odbcinst


#檢視odbc驅動配置
odbc_config --odbcinstini




#ODBC驅動查找
[root@Zabbix server ~]# find / -name 'libtdsodb*'      
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                     # 資料庫版本      
相關參數詳解:
@zabbix監控Sql Server 資料庫及azure雲上pass應用(ODBC監控)

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位址即可

@zabbix監控Sql Server 資料庫及azure雲上pass應用(ODBC監控)
@zabbix監控Sql Server 資料庫及azure雲上pass應用(ODBC監控)

mssql監控配置宏

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

@zabbix監控Sql Server 資料庫及azure雲上pass應用(ODBC監控)
sql server主機資料監控驗證
@zabbix監控Sql Server 資料庫及azure雲上pass應用(ODBC監控)
@zabbix監控Sql Server 資料庫及azure雲上pass應用(ODBC監控)
mssql01主機資料監控驗證
@zabbix監控Sql Server 資料庫及azure雲上pass應用(ODBC監控)
@zabbix監控Sql Server 資料庫及azure雲上pass應用(ODBC監控)
@zabbix監控Sql Server 資料庫及azure雲上pass應用(ODBC監控)
@zabbix監控Sql Server 資料庫及azure雲上pass應用(ODBC監控)

7.MSSQL自定義項監控

mssql監控項添加,添加自定義監控配置
@zabbix監控Sql Server 資料庫及azure雲上pass應用(ODBC監控)
測試配置的監控項是否有誤,及配置的傳回值狀态
@zabbix監控Sql Server 資料庫及azure雲上pass應用(ODBC監控)