Merhaba, bu yazımda MSSQL ‘in Zabbix üzerinden ODBC ile nasıl izlenebileceğini anlatacağım. MSSQL Ortamdaki cihazlar aşağıdaki gibi:
- Windows Server 2016 Standard
- Microsoft SQL Server 2016
- Oracle Linux 9.1 Server
- Zabbix 6.0.14
Ön Gereksinimler
Aşağıdaki adımları yapmanız durumunda kurulumun diğer aşamalarında herhangi bir sıkıntı yaşamamanız gerekmektedir.
Windows Server Tarafında Yapılması Gerekenler
Öncelikle 1433 portunu SQL Server tarafından ayarlayalım:
- SQL Server Configuration Manager>SQL Server Network Configuration>Protocols for MSSQLSERVER ‘ı açalım. Ardından TCP/IP seçeneğine sağ tıklayıp Properties’e girelim:
- Enabled kısmının Yes olduğuna emin olalım.
- IP Addresses tabında IPAll kısmını inceleyelim. TCP Dynamic Ports’u boş bırakıp, TCP Port’u 1433 olarak ayarlayalım ve kaydedelim.
Firewall tarafında da 1433 portuna izin verdiğimize emin olalım:
Database’de:
- db_datareader ve public rollerinde
- View any database, View any definition ve View server state yetkilerine sahip bir login oluşturmak yeterli olacaktır.
Domain’de olmayan bir user ile kurulum yapacağımız için DB ayarlarını aşağıdaki gibi yapalım:
Zabbix Server/Proxy Tarafında Yapılması Gerekenler
Zabbix’in ODBC üzerinden bağlantı kurabilmesi için aşağıdaki iki seçenekten birisi yapılmalıdır:
- Selinux disable edilebilir. (Önerilmez.)
setsebool -P zabbix_can_network 1
komutu ile izin verilebilir.
Kurulum
MSSQL ODBC Driver Kurulumu
MSSQL ODBC Driver Link üzerinden Microsoft’un ODBC Driver Kurulum talimatlarını inceleyelim. Benim kuracağım sistem Oracle 9 olduğu için “RHEL and Oracle Linux” kısmını seçiyorum. Burada msodbcsql18 ve mssql-tools18 i kurmamız yeterli olacaktır.
- Repo’yu indirelim:
curl https://packages.microsoft.com/config/rhel/9.0/prod.repo > /etc/yum.repos.d/mssql-release.repo
- Eğer varsa eski odbc tool’larını silelim:
yum remove unixODBC-utf16 unixODBC-utf16-devel
- msodbcsql18 ve mssql-tools18’i kuralım:
ACCEPT_EULA=Y yum install -y msodbcsql18 mssql-tools18
- Bash ayarlarını girelim:
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
- Source’u bashrc olarak değiştirelim:
source ~/.bashrc
unixODBC Kurulumu
unixODBC kuralım ve MSSQL ODBC Driver ile bağlantısını yapalım.
- Öncelikle unixODBC‘i kuralım:
yum install -y unixODBC
- ini dosyasını düzenleyelim:
nano /etc/obdc.ini
- Aşağıdaki ayarları düzenleyip dosyaya kaydedelim. mssqlodbc DSN adı olacak. Burada istediğiniz ismi verebilirsiniz. Server parametresinde MSSQL Server’ın IP adresini vereceğiz.
[mssqlodbc]
Driver = ODBC Driver 18 for SQL Server
Server = 172.16.20.54
PORT = 1433
TrustServerCertificate=yes
ODBC Bağlantı Testi
Bağlantının çalıştığına emin olalım:
sqlcmd -D -S mssqlodbc -U username -P password
Eğer başarılı bir şekilde bağlantı kurulduysa test komutunu attıktan sonra 1> görmelisiniz. Bu Query atmaya hazır olduğunuzu gösterir. Test etmek için SELECT name FROM master.sys.databases
komutu ile Database isimlerini sorgulayabiliriz:
Zabbix Tarafında Host’un Eklenmesi
- MSSQL by ODBC template’ini kullanarak yeni bir host oluşturalım:
- Ardından macro’ları düzenleyelim:
- {$MSSQL.DSN} = odbc.ini de ayarladığımız DSN.
- {$MSSQL.USER} = MSSQL Server tarafında yetkisi ayarlanmış User.
- {$MSSQL.PASSWORD} = User şifresi.
Kaydettikten sonra, Get performance counters item’ına girip test edebiliriz. Aşağıdaki cevabı alıyorsak bir sorun bulunmamakta:
Sonuç
Kurulumu tamamladık. Sonrasında Zabbix tarafından sağlanan template’i inceleyip değişiklikler yapabilir, yeni bir item oluşturarak istediğimiz bir query’nin sonuçlarını monitör edebiliriz.
Okuduğunuz için teşekkür ederim.
Öneri ve sorularınızı yorum, mail veya linkedin üzerinden iletebilirsiniz.