SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Sunucularımızı Gözleyelim 
Oğuz Yarımtepe 
@oguzy 
oguzyarimtepe ~ gmail.com 
http://about.me/oguzy
Gözlem yapmak kolay değildir! 
Eğer başarılı ise, farklı 
gözlem yöntemlerini uygun 
ve hassas bir şekilde 
güzel bir modele 
oturtabilmeliyiz.
Büyük veri 
~25metrics/server 
100M active users 
= 200K QPS 
10.000 servers 
= 25.000 metric 
12 type servers 
= 3.000.000 metrics 
10.000 metrics/second 
O(10K) metrics/second 
O(32MB) data/sweep 
Ops @ 1 min 
O(50K) metrics/second 
O(320MB)/sweep 
O(420G)/24hours 
DNS 
server 
Load 
balancer 
monitoring
Neyi gözlüyoruz? 
Named value at some time 
● K-tuple & timestamped 
127.0.0.1 - [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif 
HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 
[en] (Win98; I ;Nav)" 
<remote ip, timestamp, request type and the url, response type, 
response amount> 
● Metrik değerler 
Sayaçlar (counters), Anlık değerler (Gauges), Yüzdelik değerler 
(Percentiles)
Nasıl Gözlüyoruz? 
● Çözünürlük 
Ne sıklıkta veri toplanıyor? (her 6 sn?, her 5 dk?, her 
dakika?) 
● Gecikme 
Veriler okunduktan sonra ne kadar sürece tepki veriliyor 
(sn, dk?) 
● Çeşitlilik 
Kaç çeşit veri var (10, 25, 50, 10K?)
Gereksinim? 
● Evrensel (*nix, win, sistem kaynakları, aktif cihazlar) 
● Uyarı (alert) 
– sms, e-posta, pager duty, 
– Belli zamanda belli kişiler 
– Erken 
● Web arayüzü 
– Şu anki durum ne? 
– Sezonsal durumlar neler? 
– Belli bir eğilim var mı? 
● Ölçeklenebilir 
– Ölçülen metrik sayısı ~ veri tabanı boyutu 
● Özgür Yazılım 
– Güven (test edilip onaylandı) 
– Özelleştirilebilir 
● Kullanımı kolay
Nagios
Nagios Özellikleri 
● NRPE (nagios remote plugin executer) 
– Plugin Return Code Service State Host State 
0 OK UP 
1 WARNING UP or DOWN/UNREACHABLE* 
2 CRITICAL DOWN/UNREACHABLE 
3 UNKNOWNDOWN/UNREACHABLE 
● Uç makine ayarları elle yapılıyor 
– Host, hangi zaman aralıklarında komutların çalışacağı, hangi gruba dahil 
olduğu, kimlere uyarının gönderileceği ... 
● Farklı dillerde eklenti desteği 
● Nagios XI 
– Eğilim (Trend) 
– Ticari destek
Eksikleri 
● Metrik için özelleşmiş değil 
● API desteği eksik - ti (4.4 ile beta olarak gelmiş) 
● Ölçek sorunu
Sensu
Özellikleri 
● Bulut için özelleşmiş 
– JSON ile yapılandırma 
– API erişimi ve API üzerinden yönetim 
– RabbitMQ 
– Omnibus 
● HTTP dostu (üyelik & hiyerarşi → Rest Api) 
● Nagios plugin desteği 
● Web arayüzü daha dinamik
Uchiwa
Uchiwa - 2
Uchiwa - 3
Peki ya metrik? 
● http://www.apache.org/server-status
collectd 
● Ajan olarak çalışır 
● Bütünleşik eklentileri 
– Veritabanı (doğal - influxdb) 
– TCP portu (graphite) 
– HTTP POST (json) 
● Özelleşmiş eklenti yazmak mümkün 
– Python & statsd
Bazı eklentileri 
● cpu, df, load, memory, disk 
● Apache 
● Mysql 
● Interface 
● Ping 
● Filecount 
● Nginx 
● Ntpd 
● tcpconns
Graphite
Grafana
Özellik 
● <hostname>.load.load.shorttem 
● Farklı grafik seçeneklerini destekler 
● İstemci taraflı (client side) 
● Zaman ayarlaması yapılabiliyor (5 saniyede bir yenile, son 
1 saati göster) 
● Threshold belirtilebiliyor 
● Fonksiyon tanımları yapmak mümkün (graphite-api nin 
desteklediği, max min avg sum)
Statsd 
● Graphite/Carbon için ön uç (front-end) 
● Sayaç ve Zamansal verinin bir araya getirilmesi (counting 
& timing) → rrd, ganglia
Statsd - 2 
● Farklı dillerde yazılmış sunucu ve istemci uygulamaları var 
(Go, Python, Java, C, Ruby, Node) 
● Timer 
>>> import statsd 
>>> 
>>> timer = statsd.Timer('MyApplication') 
>>> 
>>> timer.start() 
>>> # do something here 
>>> timer.stop('SomeTimer')
Statsd - 3 
● Counter 
>>> import statsd 
>>> 
>>> counter = statsd.Counter('MyApplication') 
>>> # do something here 
>>> counter += 1
Statsd - 4 
● Gauge 
>>> import statsd 
>>> 
>>> gauge = statsd.Gauge('MyApplication') 
>>> # do something here 
>>> gauge.send('SomeName', value)
Diamond 
● Artalan süreci (daemon) 
● Python 
● Graphite 
● Başka „handler“ da var: riemann, statsd, zmq 
● Python ile yazılmış pek çok „collector“ var > collectd
Diamond - 2 
import diamond.collector 
class ExampleCollector(diamond.collector.Collector): 
def collect(self): 
# Set Metric Name 
metric_name = "my.example.metric" 
# Set Metric Value 
metric_value = 42 
# Publish Metric 
self.publish(metric_name, metric_value)
Influxdb 
● Zamansal verinin saklanması için tasarlanmış (timescale) 
● Cluster (experimental) 
● Ölçeklenebilir 
● Art ve Ön uçları var 
● Statsd, Graphite 
● Go ile yazılmış 
● Harici bağımlılıkları yok (! zookeeper % hadoop, storm) 
– dpkg -i influxdb.deb 
● HTTPS 
● HTTP API → SQL Like
Influxdb - 2 
[ 
{ 
"name" : "hd_used", 
"columns" : ["value", "host", "mount"], 
"points" : [ 
[23.2, "serverA", "/mnt"] 
] 
} 
]
Veri tabanındaki verinin 
parçalanması (shardening) 
{ 
"spaces": [ 
{ 
"name": "everything_30d", 
"retentionPolicy": "30d", 
"shardDuration": "7d", 
"regex": "/.*/", 
"replicationFactor": 1, 
"split": 1 
}, 
{ 
"name": "rollups", 
"retentionPolicy": "365d", 
"shardDuration": "30d", 
"regex": "/^d+.*/", 
"replicationFactor": 1, 
"split": 1 
} 
] 
}
riemann 
● Olan bazlı iş tanımlama (event processor) 
● Collectd den metrik göndermek mümkün 
● Cloujour ile tanımlamalar yapmak mümkün 
(where (or (service #"^api") 
(service #"^app")) 
(where (tagged "exception") 
(rollup 5 3600 
(email "dev@foo.com")) 
(else 
(changed-state 
(email "ops@foo.com")))))
Riemann - 2 
● Websocket 
● Cloujure ile kendi alerting çatınızı yazabilirsiniz 
● Websocket → web arayüzü 
(def tell-ops (rollup 5 3600 (email "ops@rickenbacker.mil"))) 
(streams 
(where (state "error") tell-ops) 
(tagged "exception" tell-ops))
Teşekkürler

Contenu connexe

En vedette

Sanallastirmada yeni akim: Docker
Sanallastirmada yeni akim: DockerSanallastirmada yeni akim: Docker
Sanallastirmada yeni akim: DockerOguz Yarimtepe
 
Sanallaştırmada Yeni Akım - Docker
Sanallaştırmada Yeni Akım - DockerSanallaştırmada Yeni Akım - Docker
Sanallaştırmada Yeni Akım - DockerOguz Yarimtepe
 
Openstack heat & How Autoscaling works
Openstack heat & How Autoscaling worksOpenstack heat & How Autoscaling works
Openstack heat & How Autoscaling worksCoreStack
 
OpenStack Heat slides
OpenStack Heat slidesOpenStack Heat slides
OpenStack Heat slidesdbelova
 
An Introduction to OpenStack Heat
An Introduction to OpenStack HeatAn Introduction to OpenStack Heat
An Introduction to OpenStack HeatMirantis
 
OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
OpenStack Introductionopenstackindia
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack ArchitectureMirantis
 
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Stephen Gordon
 

En vedette (9)

Sanallastirmada yeni akim: Docker
Sanallastirmada yeni akim: DockerSanallastirmada yeni akim: Docker
Sanallastirmada yeni akim: Docker
 
Uzaktan eğitim
Uzaktan eğitimUzaktan eğitim
Uzaktan eğitim
 
Sanallaştırmada Yeni Akım - Docker
Sanallaştırmada Yeni Akım - DockerSanallaştırmada Yeni Akım - Docker
Sanallaştırmada Yeni Akım - Docker
 
Openstack heat & How Autoscaling works
Openstack heat & How Autoscaling worksOpenstack heat & How Autoscaling works
Openstack heat & How Autoscaling works
 
OpenStack Heat slides
OpenStack Heat slidesOpenStack Heat slides
OpenStack Heat slides
 
An Introduction to OpenStack Heat
An Introduction to OpenStack HeatAn Introduction to OpenStack Heat
An Introduction to OpenStack Heat
 
OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
OpenStack Introduction
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
 

Similaire à Sunucularımızı Gözleyelim

Istanbul Datascience Academy Talks
Istanbul Datascience Academy TalksIstanbul Datascience Academy Talks
Istanbul Datascience Academy TalksMetin Uslu
 
Pig ve Hive ile Hadoop üzerinde Veri Analizi
Pig ve Hive ile Hadoop üzerinde Veri AnaliziPig ve Hive ile Hadoop üzerinde Veri Analizi
Pig ve Hive ile Hadoop üzerinde Veri AnaliziHakan Ilter
 
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari OluşturmaSymfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari OluşturmaHüseyin Mert
 
Büyük veri teknolojilerine giriş v1l
Büyük veri teknolojilerine giriş v1lBüyük veri teknolojilerine giriş v1l
Büyük veri teknolojilerine giriş v1lHakan Ilter
 
Apache Spark : Genel Bir Bakış
Apache Spark : Genel Bir BakışApache Spark : Genel Bir Bakış
Apache Spark : Genel Bir BakışBurak KÖSE
 
Ankara JUG Big Data Presentation
Ankara JUG Big Data PresentationAnkara JUG Big Data Presentation
Ankara JUG Big Data PresentationSerkan Özal
 
Suricata ile siber tehdit avcılığı
Suricata ile siber tehdit avcılığıSuricata ile siber tehdit avcılığı
Suricata ile siber tehdit avcılığıKurtuluş Karasu
 
Oracle Golden Gate
Oracle Golden GateOracle Golden Gate
Oracle Golden GateAnar Godjaev
 
Serverless ile istegelsin
Serverless ile istegelsin Serverless ile istegelsin
Serverless ile istegelsin Ceri Tandogan
 
Tek Kullanimlik Sifre (OTP) Ozge KAYA
Tek Kullanimlik Sifre (OTP) Ozge KAYATek Kullanimlik Sifre (OTP) Ozge KAYA
Tek Kullanimlik Sifre (OTP) Ozge KAYAÖzge Kaya
 
Karabük Üniversitesi Programlama Günleri - PostgreSQL Sunumu
Karabük Üniversitesi Programlama Günleri - PostgreSQL SunumuKarabük Üniversitesi Programlama Günleri - PostgreSQL Sunumu
Karabük Üniversitesi Programlama Günleri - PostgreSQL Sunumuatifceylan
 
AnkaraJUG Haziran 2013 - No SQL / Big Data
AnkaraJUG Haziran 2013 - No SQL / Big DataAnkaraJUG Haziran 2013 - No SQL / Big Data
AnkaraJUG Haziran 2013 - No SQL / Big DataAnkara JUG
 
Solarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerSolarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerKavi International
 
Apache Spark ile Twitter’ı izlemek
Apache Spark ile Twitter’ı izlemekApache Spark ile Twitter’ı izlemek
Apache Spark ile Twitter’ı izlemekMehmet Uluer, MSc.
 
Sql Server2008 For Developers By Tarik
Sql Server2008 For Developers By TarikSql Server2008 For Developers By Tarik
Sql Server2008 For Developers By TarikTarık Kranda
 
Azure Sanal Makineler
Azure Sanal MakinelerAzure Sanal Makineler
Azure Sanal MakinelerMustafa
 
Nmap sonuclarinin yorumlanmasi
Nmap sonuclarinin yorumlanmasiNmap sonuclarinin yorumlanmasi
Nmap sonuclarinin yorumlanmasicigalkan
 

Similaire à Sunucularımızı Gözleyelim (20)

Istanbul Datascience Academy Talks
Istanbul Datascience Academy TalksIstanbul Datascience Academy Talks
Istanbul Datascience Academy Talks
 
Pig ve Hive ile Hadoop üzerinde Veri Analizi
Pig ve Hive ile Hadoop üzerinde Veri AnaliziPig ve Hive ile Hadoop üzerinde Veri Analizi
Pig ve Hive ile Hadoop üzerinde Veri Analizi
 
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari OluşturmaSymfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
 
Büyük veri teknolojilerine giriş v1l
Büyük veri teknolojilerine giriş v1lBüyük veri teknolojilerine giriş v1l
Büyük veri teknolojilerine giriş v1l
 
Ossec - Host Based Saldırı Tespit Sistemi
Ossec - Host Based Saldırı Tespit SistemiOssec - Host Based Saldırı Tespit Sistemi
Ossec - Host Based Saldırı Tespit Sistemi
 
Apache Spark : Genel Bir Bakış
Apache Spark : Genel Bir BakışApache Spark : Genel Bir Bakış
Apache Spark : Genel Bir Bakış
 
Ankara JUG Big Data Presentation
Ankara JUG Big Data PresentationAnkara JUG Big Data Presentation
Ankara JUG Big Data Presentation
 
Suricata ile siber tehdit avcılığı
Suricata ile siber tehdit avcılığıSuricata ile siber tehdit avcılığı
Suricata ile siber tehdit avcılığı
 
Oracle Golden Gate
Oracle Golden GateOracle Golden Gate
Oracle Golden Gate
 
Serverless ile istegelsin
Serverless ile istegelsin Serverless ile istegelsin
Serverless ile istegelsin
 
Tek Kullanimlik Sifre (OTP) Ozge KAYA
Tek Kullanimlik Sifre (OTP) Ozge KAYATek Kullanimlik Sifre (OTP) Ozge KAYA
Tek Kullanimlik Sifre (OTP) Ozge KAYA
 
Karabük Üniversitesi Programlama Günleri - PostgreSQL Sunumu
Karabük Üniversitesi Programlama Günleri - PostgreSQL SunumuKarabük Üniversitesi Programlama Günleri - PostgreSQL Sunumu
Karabük Üniversitesi Programlama Günleri - PostgreSQL Sunumu
 
AnkaraJUG Haziran 2013 - No SQL / Big Data
AnkaraJUG Haziran 2013 - No SQL / Big DataAnkaraJUG Haziran 2013 - No SQL / Big Data
AnkaraJUG Haziran 2013 - No SQL / Big Data
 
.Net ile yazılım güvenliği
.Net ile yazılım güvenliği.Net ile yazılım güvenliği
.Net ile yazılım güvenliği
 
Solarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerSolarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch Manager
 
VERİTABANI SIZMA TESTLERİ
VERİTABANI SIZMA TESTLERİVERİTABANI SIZMA TESTLERİ
VERİTABANI SIZMA TESTLERİ
 
Apache Spark ile Twitter’ı izlemek
Apache Spark ile Twitter’ı izlemekApache Spark ile Twitter’ı izlemek
Apache Spark ile Twitter’ı izlemek
 
Sql Server2008 For Developers By Tarik
Sql Server2008 For Developers By TarikSql Server2008 For Developers By Tarik
Sql Server2008 For Developers By Tarik
 
Azure Sanal Makineler
Azure Sanal MakinelerAzure Sanal Makineler
Azure Sanal Makineler
 
Nmap sonuclarinin yorumlanmasi
Nmap sonuclarinin yorumlanmasiNmap sonuclarinin yorumlanmasi
Nmap sonuclarinin yorumlanmasi
 

Sunucularımızı Gözleyelim

  • 1. Sunucularımızı Gözleyelim Oğuz Yarımtepe @oguzy oguzyarimtepe ~ gmail.com http://about.me/oguzy
  • 2. Gözlem yapmak kolay değildir! Eğer başarılı ise, farklı gözlem yöntemlerini uygun ve hassas bir şekilde güzel bir modele oturtabilmeliyiz.
  • 3. Büyük veri ~25metrics/server 100M active users = 200K QPS 10.000 servers = 25.000 metric 12 type servers = 3.000.000 metrics 10.000 metrics/second O(10K) metrics/second O(32MB) data/sweep Ops @ 1 min O(50K) metrics/second O(320MB)/sweep O(420G)/24hours DNS server Load balancer monitoring
  • 4. Neyi gözlüyoruz? Named value at some time ● K-tuple & timestamped 127.0.0.1 - [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)" <remote ip, timestamp, request type and the url, response type, response amount> ● Metrik değerler Sayaçlar (counters), Anlık değerler (Gauges), Yüzdelik değerler (Percentiles)
  • 5. Nasıl Gözlüyoruz? ● Çözünürlük Ne sıklıkta veri toplanıyor? (her 6 sn?, her 5 dk?, her dakika?) ● Gecikme Veriler okunduktan sonra ne kadar sürece tepki veriliyor (sn, dk?) ● Çeşitlilik Kaç çeşit veri var (10, 25, 50, 10K?)
  • 6. Gereksinim? ● Evrensel (*nix, win, sistem kaynakları, aktif cihazlar) ● Uyarı (alert) – sms, e-posta, pager duty, – Belli zamanda belli kişiler – Erken ● Web arayüzü – Şu anki durum ne? – Sezonsal durumlar neler? – Belli bir eğilim var mı? ● Ölçeklenebilir – Ölçülen metrik sayısı ~ veri tabanı boyutu ● Özgür Yazılım – Güven (test edilip onaylandı) – Özelleştirilebilir ● Kullanımı kolay
  • 8. Nagios Özellikleri ● NRPE (nagios remote plugin executer) – Plugin Return Code Service State Host State 0 OK UP 1 WARNING UP or DOWN/UNREACHABLE* 2 CRITICAL DOWN/UNREACHABLE 3 UNKNOWNDOWN/UNREACHABLE ● Uç makine ayarları elle yapılıyor – Host, hangi zaman aralıklarında komutların çalışacağı, hangi gruba dahil olduğu, kimlere uyarının gönderileceği ... ● Farklı dillerde eklenti desteği ● Nagios XI – Eğilim (Trend) – Ticari destek
  • 9. Eksikleri ● Metrik için özelleşmiş değil ● API desteği eksik - ti (4.4 ile beta olarak gelmiş) ● Ölçek sorunu
  • 10. Sensu
  • 11. Özellikleri ● Bulut için özelleşmiş – JSON ile yapılandırma – API erişimi ve API üzerinden yönetim – RabbitMQ – Omnibus ● HTTP dostu (üyelik & hiyerarşi → Rest Api) ● Nagios plugin desteği ● Web arayüzü daha dinamik
  • 15. Peki ya metrik? ● http://www.apache.org/server-status
  • 16. collectd ● Ajan olarak çalışır ● Bütünleşik eklentileri – Veritabanı (doğal - influxdb) – TCP portu (graphite) – HTTP POST (json) ● Özelleşmiş eklenti yazmak mümkün – Python & statsd
  • 17. Bazı eklentileri ● cpu, df, load, memory, disk ● Apache ● Mysql ● Interface ● Ping ● Filecount ● Nginx ● Ntpd ● tcpconns
  • 20. Özellik ● <hostname>.load.load.shorttem ● Farklı grafik seçeneklerini destekler ● İstemci taraflı (client side) ● Zaman ayarlaması yapılabiliyor (5 saniyede bir yenile, son 1 saati göster) ● Threshold belirtilebiliyor ● Fonksiyon tanımları yapmak mümkün (graphite-api nin desteklediği, max min avg sum)
  • 21. Statsd ● Graphite/Carbon için ön uç (front-end) ● Sayaç ve Zamansal verinin bir araya getirilmesi (counting & timing) → rrd, ganglia
  • 22. Statsd - 2 ● Farklı dillerde yazılmış sunucu ve istemci uygulamaları var (Go, Python, Java, C, Ruby, Node) ● Timer >>> import statsd >>> >>> timer = statsd.Timer('MyApplication') >>> >>> timer.start() >>> # do something here >>> timer.stop('SomeTimer')
  • 23. Statsd - 3 ● Counter >>> import statsd >>> >>> counter = statsd.Counter('MyApplication') >>> # do something here >>> counter += 1
  • 24. Statsd - 4 ● Gauge >>> import statsd >>> >>> gauge = statsd.Gauge('MyApplication') >>> # do something here >>> gauge.send('SomeName', value)
  • 25. Diamond ● Artalan süreci (daemon) ● Python ● Graphite ● Başka „handler“ da var: riemann, statsd, zmq ● Python ile yazılmış pek çok „collector“ var > collectd
  • 26. Diamond - 2 import diamond.collector class ExampleCollector(diamond.collector.Collector): def collect(self): # Set Metric Name metric_name = "my.example.metric" # Set Metric Value metric_value = 42 # Publish Metric self.publish(metric_name, metric_value)
  • 27. Influxdb ● Zamansal verinin saklanması için tasarlanmış (timescale) ● Cluster (experimental) ● Ölçeklenebilir ● Art ve Ön uçları var ● Statsd, Graphite ● Go ile yazılmış ● Harici bağımlılıkları yok (! zookeeper % hadoop, storm) – dpkg -i influxdb.deb ● HTTPS ● HTTP API → SQL Like
  • 28. Influxdb - 2 [ { "name" : "hd_used", "columns" : ["value", "host", "mount"], "points" : [ [23.2, "serverA", "/mnt"] ] } ]
  • 29. Veri tabanındaki verinin parçalanması (shardening) { "spaces": [ { "name": "everything_30d", "retentionPolicy": "30d", "shardDuration": "7d", "regex": "/.*/", "replicationFactor": 1, "split": 1 }, { "name": "rollups", "retentionPolicy": "365d", "shardDuration": "30d", "regex": "/^d+.*/", "replicationFactor": 1, "split": 1 } ] }
  • 30. riemann ● Olan bazlı iş tanımlama (event processor) ● Collectd den metrik göndermek mümkün ● Cloujour ile tanımlamalar yapmak mümkün (where (or (service #"^api") (service #"^app")) (where (tagged "exception") (rollup 5 3600 (email "dev@foo.com")) (else (changed-state (email "ops@foo.com")))))
  • 31. Riemann - 2 ● Websocket ● Cloujure ile kendi alerting çatınızı yazabilirsiniz ● Websocket → web arayüzü (def tell-ops (rollup 5 3600 (email "ops@rickenbacker.mil"))) (streams (where (state "error") tell-ops) (tagged "exception" tell-ops))