1、環境
操作系統:龍蜥os 8.0
zabbix:6.0
mssql:2012
2、安裝odbc
注意:需要在zabbix server 或者 zabbix proxy 安裝 odbc驅動程序
dnf -y install unixODBC unixODBC-devel
3、安裝mssql驅動程序
注意:我最開始嘗試安裝的微軟提供的odbc,但是在連接數據庫時候出現ssl認證錯誤,我關閉了認證還是不行,最后使用的freetds
https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver16&tabs=redhat18-install%2Calpine17-install%2Cdebian8-install%2Credhat7-13-install%2Crhel7-offline
安裝epel源
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
安裝freetds
yum -y install freetds
4、mssql建立zabbix監控用戶
在mssql 上建立查詢,輸入如下
USE [master]
GO
CREATE LOGIN zbx_monitor
WITH PASSWORD=N'superSecurePassword',
DEFAULT_DATABASE=[master],
DEFAULT_LANGUAGE=[us_english],
CHECK_EXPIRATION=OFF,
CHECK_POLICY=OFF
GO
GRANT VIEW SERVER STATE TO zbx_monitor
GO
GRANT VIEW ANY DEFINITION TO zbx_monitor
GO
USE msdb;
GO
CREATE USER zbx_monitor
FOR LOGIN zbx_monitor;
--EXEC sp_addrolemember @rolename='public', @membername=zbx_monitor;
--EXEC sp_addrolemember N''db_datawriter'', zbx_monitor
GRANT SELECT ON OBJECT::msdb.dbo.sysjobs TO zbx_monitor;
GRANT SELECT ON OBJECT::msdb.dbo.sysjobservers TO zbx_monitor;
GRANT SELECT ON OBJECT::msdb.dbo.sysjobactivity TO zbx_monitor;
GRANT EXECUTE ON OBJECT::msdb.dbo.agent_datetime TO zbx_monitor;
5、配置文件寫
unixodbc 配置文件在/etc下
odbcinst 這里是驅動程序信息
odbc這個連接信息
建立一個mssql的連接
[mssql2]
Driver = FreeTDS
Server = 10.99.14.200
PORT = 1433
Database = msdb
TDS_Version = 8.0
mssql2 這個就是連接dsn了
可以使用isql 加這個名字進行連接測試,如果登錄成功,就說明配置沒問題
isql -v mssql2 zbx_monitor zabbix
6、配置zabbix模版
找到主機宏輸入三個值
{$MSSQL.USER}
{$MSSQL.PASSWORD}
{$MSSQL.DSN}
這里的dsn就是 之前配置文件里寫的 我的這里就是mssql2
然后在模板這選擇mssql的odbc模板