文章目錄
- 1.ODBC概述
- 2.ODBC安裝
- 3.安裝 unixODBC 驅動程式
- 4.配置 unixODBC
- 5.ODBC驗證
- 6.zabbix web配置
- 7.MSSQL自定義項監控
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5CM4IjN1YWMwIDM1YTYhJDNzYzXxAzMwkTM5AzLcBTMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
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 # 資料庫版本
相關參數詳解:
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監控項添加,添加自定義監控配置
測試配置的監控項是否有誤,及配置的傳回值狀态