PostgreSQL’de TimescaleDB Nasıl Kullanılır ve Grafana’da Nasıl Görüntülenir ?

Screen-Shot-2019-01-22-at-4.28.57-PM-2

Merhaba, bu yazımda sizlere timescale db’yi extension olarak kurup, grafana üzerinde tablomuzu nasıl grafik olarak görüntüleyebileceğimizden bahsedeceğim.

Ben rpm olarak kurmayı tercih ettiğim için, önceden sunucuma attığım rpm’i Resim-1’deki gibi kuruyorum.


Resim-1

Daha sonra, postgresql.conf dosyası içerisinde bulunan shared_preload_libraries parametresine timescaledb değerini ekleyip, servisi restart ediyorum.

-bash-4.2$ vi /Products/pgsql/data/11/data/postgresql.conf

shared_preload_libraries = ‘pg_stat_statements, timescaledb’

[root@cmonap01 ~]# systemctl restart postgresql-11.service

[root@cmonap01 ~]# systemctl status postgresql-11.service

● postgresql-11.service – PostgreSQL 11 database server

Loaded: loaded (/usr/lib/systemd/system/postgresql-11.service; enabled; vendor preset: disabled)

Active: active (running) since Wed 2020-10-21 21:55:03 +03; 2s ago

Servisin aktif olduğundan emin olduktan sonra, artık postgre’ye bağlanıp extension oluşturabiliriz. Postgres user’ımla peer authentication sayesinde sadece psql diyerek database’e bağlanıyorum. Önceden oluşturduğum “tco” veritabanına \c tco diyerek geçiş yaptıktan sonra;

tco=# CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;

diyorum ve aşağıdaki gibi bir çıktıyla karşılaşıyorum.


Resim-2

Artık timeseries tablolarımı oluşturup bunları grafana’a kullanabilirim. Örnek olarak Resim 3’teki gibi bir tablo oluşturuyorum. Create_hypertable fonksiyonuyla bu tablonun time sutünuna göre bölümlenmesini sağlıyorum.


Resim-3

Daha sonra, internetten bulduğum örnek datayı bu tabloya copy komutunu kullanarak insert edeceğim. Zipli dosyamı tar komutuyla çıkartıyorum. Dosyanın owner’ının postgres olmasına dikkat etmemiz gerekiyor.


Resim-4

Copy çıktısında gördüğünüz gibi 1000000 satır tabloya insert edildi. Artık grafana kısmına geçebiliriz.

Resim 5’te önceden oluşturduğum grafana ekranına bağlanıp, configuration seçeneğinden data source kısmına geliyorum.


Resim-5

Resim 6’da gösterildiği gibi db bağlantısı için gereken tüm bilgileri girip kaydediyorum. Ve bağlantının başarılı olduğunu görüyorum. Host kısmını ip:port olacak şekilde düzenlemeniz gerekmektedir.


Resim-6

Artık datasource oluştuğuna göre resim 7 ve 8’deki gibi create dashboard ve add graph diyerek tablomuzu buraya aktarabiliriz.


Resim-7


Resim-8

Son olarak, karşımıza çıkan ekranda datasource olarak oluşturduğumuz bağlantıyı seçip, SQL bölümünden tablomuz için gerekli bilgileri girerek grafiğin oluşmasını sağlayabiliriz.

From = conditions, time column = time olarak ve metric column = device_id’yi seçerek resim 10’daki grafiğin oluşmasını sağlamış oldum. İstersek SQL’i kendimiz yazabilir veya dashboard’un gösterdiği gibi butonlardan sütunları seçebiliriz.


Resim-9


Resim-10

Umarım sizler için faydalı bir yazı olur J

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

https://www.mshowto.org

https://docs.timescale.com/latest/main

https://grafana.com/blog/2018/10/15/make-time-series-exploration-easier-with-the-postgresql/timescaledb-query-editor/

https://docs.timescale.com/latest/tutorials/other-sample-datasets

https://blog.timescale.com/content/images/2019/01/Screen-Shot-2019-01-22-at-4.28.57-PM-2.png

TAGs:PostgreSQL, TimescaleDB, Grafana Monitoring, Monitoring Tool, PostgreSQL Timeseries data

Yazı gezinmesi

Mobil sürümden çık