DEV Community

Abdulkadir Erbas for Açıklab

Posted on

Zabbix Üzerinden ODBC Kullanarak PostgreSQL'e Sorgu Atılması ve İzlenmesi

ODBC (Open Database Connectivity), farklı türdeki veritabanlarına erişim sağlayan bir arayüzdür. Temel amacı, bir uygulamanın tek bir standart arayüz üzerinden çeşitli veritabanlarına bağlanabilmesini sağlamaktır. ODBC, veritabanı türünden bağımsız olarak SQL sorguları çalıştırarak veri okuma ve yazma işlemlerini kolaylaştırır. Bu sayede, kullanıcılar aynı kod yapısını kullanarak MySQL, PostgreSQL gibi birçok veritabanıyla etkileşim kurabilirler.

Bu yazıda:

  1. ODBC kurulumu
  2. ODBC yapılandırması
  3. Zabbix üzerinden PostgreSQL’e sorgu atılması

konularını ele alacağız.

1. ODBC Kurulumu

zabbix ile postgresql'e ODBC bağlantısı ile erişebilmek için zabbix'in yer aldığı sunucuya aşağıdaki paketi yüklemelisiniz.

sudo apt install odbc-postgresql
Enter fullscreen mode Exit fullscreen mode

2. ODBC Yapılandırması

ODBS bağlantısı için iki temel yapılandırma dosyasını düzenlememiz gerekiyor:
/etc/odbcinst.ini
/etc/odbc.ini

2.1 /etc/odbcinst.ini Yapılandırması

Bu dosya, ODBC sürücüsünü tanımlar. Aşağıdaki yapılandırmayı dosyaya ekleyin.

sudo nano /etc/odbcinst.ini
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver      = /usr/lib/psqlodbcw.so
Setup       = /usr/lib/libodbcpsqlS.so
Driver64    = /usr/lib/x86_64-linux-gnu/odbc/psqlodbcw.so
Setup64     = /usr/lib64/libodbcpsqlS.so
FileUsage   = 1

Not: Eğer 'psqlodbcw.so' dosyasının konumunu bilmiyorsanız, aşağıdaki komutu kullanarak tam yolunu bulabilirsiniz.

find /usr/lib -name "psqlodbcw.so"

2.2 /etc/odbc.ini Yapılandırması

Bu dosya, PostgreSQL'e bağlanmak için gerekli yapılandırmayı içerir.

[PostgreSQL]
Description=PostgreSQL ODBC driver
Driver=postgresql
user=root
Database=<zabbix>
Servername=<127.0.0.1>
Port=<5432>
Username=<zabbix>
Password=<password>
ReadOnly=No
Protocol=7.4+
ShowOidColumn=No
FakeOidIndex=No
RowVersioning=No
ShowSystemTables=No
Fetch=Yes
BoolsAsChar=Yes
SSLmode=prefer
ConnSettings=

Not:
Driver: Bu kısma /etc/odbcinst.ini yapılandırmasında bulunan köşeli parantez içerisindeki ismi girdiğinizden emin olun.

odbcinst -q -d

bu komutla tanımladığınız ismi görebilirsiniz.

2.3 Bağlantının Test Edilmesi

Aşağıdaki komutla ODBC üzerinden PostgreSQL'e bağlantı kurmayı test edebilirsiniz.

isql -v PostgreSQL

bu komuttan sonra aşağıdaki örneğe benzer bir çıktı almalısınız.

$ isql -v PostgreSQL
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+

3. Zabbix Üzerinden PostgreSQL’e Sorgu Atılması

Sorgu item kullanarak atılacağı için önce host oluşturmamız gerekli.
Data collection > Hosts içerisinden create host butonuna tıklanıp host oluşturulur. Ben aşağıdaki görseldeki gibi host ekledim.

Image description

Oluşturulan host'un item kısmına gidilip create item butonuna tıklanır. sonrasında aşağıda yer görseldeki gibi yapı girilir.
Image description
Ben bu örnekte kapsamında zabbix veritabanımda yer alan host sayısı izliyorum.
Type olarak Database monitor seçildikten sonra key eklenir.

Not: Key içerisinde yer alan PostgreSQL kısmına ODBC yapılandırmasına yazılan isim girilmelidir. Ben bu örnekte PostgreSQL yazmıştım.

Tüm bunları yaptıktan sonra gelen data aşağıda yer almaktadır.

Image description

Böylelikle zabbix veri tabanımızda ne kadar host bulunduğu bilgisini ODBC kullanarak zabbix'te monitoring etmiş olduk.

Kaynak:
https://www.youtube.com/watch?v=7vC-GpdUqCg
https://www.zabbix.com/documentation/current/en/manual/config/items/itemtypes/odbc_checks

Top comments (0)