Grafana ve InfluxDb ile SQL Server Monitoring #4

Grafana ve InfluxDb ile SQL Server Monitoring

Grafana ve InfluxDb ile SQL Server Monitoring yazi serize kaldığımız yerden devam ediyoruz. Daha öncesinde InfluxDb kurulumu ve Grafana kurulumunu yapmıştır. Bu bölümde Telegraf kurulumu ve Grafana üzerinde Dashboard kurulumunu gerçekleştireceğiz.

Telegraf

Telegraf, config dosyası içinde belirtilen değerlere göre ilgili kaynaktan veriyi okuyup InfluxDb üzerinde yazmaktadır. Bizim örneğimizde SQL Server üzerindeki durumu görüntülemek istediğimizden Telegraf’ın config dosyasında hangi SQL Server ile çalışacağını belirticez. Telegraf üzerinden bir çok işlem yapabilirsiniz. Bir IP adresine belli aralıklarla ping atabilirsiniz. Telegraf ile neler yapılabileceğine buradan bakabilirsiniz.

Telegraf dosyamızı indiriyoruz. Bu linkten telegraf dosyasını indiriniz. Zıp dosyasını indirdiğinizde içerisinde 2 adet dosya mevcuttur. Bu dosyaları C:\Program Files dizininde Telegraf adında bir klasör oluşturup bu klasöre taşıyınız.

Telegrafımız default config dosyası mevcuttur. Bu config dosyası üzerinde düzenlemelerimizi yapmamız gerekicek. Ama öncelikle SQL Server’a Telegraf bağlanacağı için SQL Server üzerinde bir kullanıcı oluşturalım.


USE master;
GO
CREATE LOGIN [telegraf] WITH PASSWORD = N’1234!’;
GO
GRANT VIEW SERVER STATE TO [telegraf];
GO
GRANT VIEW ANY DEFINITION TO [telegraf];
GO

İlgili kod bloğunu veri tabanında çalıştırdığımızda SQL Server hakkında bilgileri okuyacağımız view’lar üzerinde yetkili bir kullanıcı oluşturcaktır. Bu kullanıcıyı ve SQL Server’ımızı telegraf config üzerinde tanımlayalım.

C:\Program Files\Telegraf klasöründeki telegraf.conf dosyasını düzenlemeye açıyoruz. Config dosyasının sonuna aşağıdaki satırları ekliyoruz. Burada SQL Server, Telegrafın kurulu olduğu makinede olduğu için server olarak Localhost belirttim. Ama SQL Server başka bir makinede ise IP adresini belirtiniz.


[[inputs.sqlserver]]
## Specify instances to monitor with a list of connection strings.
## All connection parameters are optional.
## By default, the host is localhost, listening on default port, TCP 1433.
## for Windows, the user is the currently running AD user (SSO).
## See https://github.com/denisenkom/go-mssqldb for detailed connection
## parameters.
servers = [
"Server=localhost;Port=1433;User Id=telegraf;Password=Eren1234;app name=telegraf;log=1;",
]

Örneğimizde Telegraf ve InfluxDb aynı makine üzerinde. Bazı durumlarda bunlar farklı makineler üzerinde olabilir. Böyle durumlarda aşağıdaki kod satırında # urls = [“http://127.0.0.1:8086”] kısmını InfluxDb’nin olduğu makineyi belirtmeniz gerekmektedir.


[[outputs.influxdb]]
## The full HTTP or UDP URL for your InfluxDB instance.
##
## Multiple URLs can be specified for a single cluster, only ONE of the
## urls will be written to each interval.
# urls = ["unix:///var/run/influxdb.sock"]
# urls = ["udp://127.0.0.1:8089"]
# urls = ["http://127.0.0.1:8086"]

Telegraf config dosyasında işlemlerimizi tamamladık. Telegraf klasöründe telegraf.exe’yi çalıştırarak başlatabiliriz. Ama biz daha sağlıklı olması için InfluxDb’de yaptığımız gibi Telegraf’ıda Windows Service olarak çalıştıracağız. Bunu için aşağıdaki kodu Power Shell’de çalıştırmanız yeterli olacaktır.


C:\"Program Files"\Telegraf\telegraf.exe --service install

C:\"Program Files"\Telegraf\telegraf.exe --config C:\"Program Files"\Telegraf\telegraf.conf --test

net start telegraf

İlgili kodu çalıştırdıktan sonra Telegraf servis olarak çalışmaya başlayacaktır.

Telegraf verileri InfluxDb’ye yazmaya başladı. Şimdi Grafana üzerinde bu değerler ile monitoring işlemimizi gerçekleştirelim.

Grafana InfluxDb Bağlantısı

http://localhost:3000/ adresinden Grafana’mıza giriş yapıyoruz.

Configuration menüsü altından Data Sources ekranını açıyoruz. Ben daha önceden eklediğim için InfluxDb gözükmektedir. Add Data Source diyoruz ve açılan ekranda InfluxDb’yi seçiyoruz.

Grafana ve InfluxDb ile SQL Server Monitoring işlemine devam ediyoruz.

Grafana çok fazla sayıda veritabanı ile çalışabilmektedir. Zaman bazlı veritabanı olduğu için en çok tercih edilenlerden biri InfluxDb’dir.

Grafana ve InfluxDb ile SQL Server Monitoring
Grafana InfluxDb Data Source
Grafana ve InfluxDb ile SQL Server Monitoring
Grafana InfluxDb Data Source

Açılan ekranda örneğimizde InfluxDb local’de kurulu olduğu için URL kısmına http://localhost:8086 verdik. Ama InfluxDb başka yerde kurulu ise ilgili makinenin Ip adresini veriniz.

Database olarak “telegraf” kullanıyoruz. Bu isimlendirmeyi Telegraf içinde değiştirebilirsiniz.

Bu sayfada işlemlerimiz bu kadar. Kaydet ve Test et diyip işlemi tamamlayabilirsiniz.

Verilerimizi göstermek için görsel bir arayüze ihtiyacımız var. Grafana üzerinde SQL Server için oluşturulmuş bir dashboard mevcuttur. Örneğimizde onu kullanacağız.

SQL Server Monitoring Dashboard

Grafana ve InfluxDb ile SQL Server Monitoring
Grafana Dashboard

Grafana’da sol menüde Create altında Import ekranı açılır. Bu ekranda Grafana.com üzerinden bir Dashboard kullanacağımız için yukarıdaki linki ilgili alana yapıştırınız ve bekleyiniz. Yükleme işlemi tamamlandıktan sonra kurulum ekranına geçecektir.

Grafana ve InfluxDb ile SQL Server Monitoring
Grafana Dashboard

Bu ekranda sadece yapmamız gereken oluşturduğumuz InfluxDb’yi seçmemizdir. Telegraf-SQL Server kısmında oluşturduğumuz InfluxDb’yi seçiniz. İşlemlerimiz bitmiştir. Şimdi sonucu görme zamanı. Import butonuna basınız.

Grafana ve InfluxDb ile SQL Server Monitoring

SQL Server hakkında kapsamlı şekilde monitoring işlemini tamamladık. Teamplete üzerinde değişiklikler yapabilirsiniz. Sağ üst köşeden kaç sn’yede bir yenilenmesini istiyorsanız ayarlayabilirsiniz.

Grafana ve InfluxDb ile SQL Server Monitoring yazı dizimizin sonuna geldik. Serinin önceki bölümlerinide okumayı unutmayınız.

E-bültene Abone Ol Merak etmeyin. Spam yapmayacağız.

Yazar

Kocaeli Üniversitesi Bilişim Sistemleri Mühendisliğini bitirip sektörde veri tabanı mühendisi olarak göreve başladım.

İlgili Yazılar

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Hızlı yorum için giriş yapın.

Başka Yazı Yok

Kayıt Ol

Zaten üye misiniz? Giriş Yap

Giriş Yap

Henüz üyeliğiniz yok mu? Kayıt Ol