İlginizi Çekebilir
DNSFLAGDAY
  1. Ana Sayfa
  2. Open Source
  3. PostgreSQL’de TimescaleDB Nasıl Kullanılır ve Grafana’da Nasıl Görüntülenir ?
k_zd_m_

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, .conf dosyası içerisinde bulunan shared_preload_libraries parametresine 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ı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda 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, , ,

Yorum Yap

Yazar Hakkında

Trakya Üniversitesi Bilgisayar Mühendisliği mezunuyum. İş hayatıma Eylül 2018'de Gantek Teknoloji firmasında DBA olarak başladım ve burada çalıştığım süre boyunca Linux İşletim Sistemi ve Oracle Database konularında yetkinlik kazandım. Gantek'te olduğum süre boyunca outsource olarak birçok firmanın projelerine dahil oldum ve Oracle'la beraber opensource dünyasına atıldım. Kasım 2019'den itibaren Vodafone'da Opensource DBA olarak çalışmaktayım. Postgresql, MongoDB ve Cassandra DB üzerinde yaklaşık 15 farklı projeyi yönetmekte ve kendimi opensource dünyasında geliştirmekteyim.

Yorum Yap