Clickhouse'u ayağa kaldırma
İlk olarak opontelemetry'den gelen trace datalarını tutmak için clickhouse'a ihtiyaç duyarız.
https://clickhouse.com/docs/en/install#available-installation-options
Bu bağlantıdaki adımları takip ederek clickhouse'u ayağa kaldırabilirsiniz.
Kurulum sırasında Default User için bir şifre belirlenmesi gerektiğini unutmayınız.
Kurulum tamamlandıktan sonra:
sudo nano /etc/clickhouse-server/config.xml
komutu ile beraber config.xml dosyası içindeki listen_host kısmı aşağıdaki gibi düzenlenmelidir:
<!-- Same for hosts without support for IPv6: -->
<listen_host>0.0.0.0</listen_host>
Daha sonra clickhouse-server servisi restart edilmeli ve clickhouse-client komutu ile cli'a girilerek create database otel ile "otel" adında bir veritabanı oluşturulur.
Bu işlemler neticesinde (varsayılan olarak 9000 portunda) çalışmakta olan bir clickhouse service ortaya çıkmaktadır.
Opentelemetry Collector İmajının Ayağa Kaldırılması
https://github.com/fthrslntgy/opentelemetry-collector-contrib
bağlantısında bulunan repo yerele klonlanır.
Ardından repo içerisinde bulunan exporter/clickhouseexporter/example/otel-collector-config.yml dosyası editlenir.
Bu aşamada authentication işlemleri için Keycloak kullanılacaksa ilgili bilgiler bu dosya için düzenlenmelidir. Ancak biz bu senaryoda keycloak'a ihtiyaç duymayacağız. Bu sebeple keycloak ile ilgili yerler yorum satırına alınmalıdır.
Bu dosyada clickhouse bilgileri doğru bir şekilde editlenmelidir.
endpoint: tcp://ip_address:port #(e.g:tcp://localhost:9000)
database: otel #(db_name)
username: default
password: "password"
Ardından exporter/clickhouseexporter path'ine gelerek make run komutu ile docker konteyneri ayağa kaldırılır. docker logs -f ile hatalar kontrol edilerek veri akışı izlenebilir.
Tüm bu bilgiler neticesinde exporter olarak 9000 portunda çalışan clickhouse belirlenmiştir. Trace verileri bu yol ile clickhouse'a gönderilecektir. Receiver olarak da 0.0.0.0:4318 belirlenmiştir. Bu da demek oluyor ki, bir servisin database ile olan trafiğini opentelemetry ile izlemek istersek servis için opentelemetry entegrasyonu sırasında exporter'ı http://otel_ip_address:4318
olarak belirlememiz gerekmektedir.
Top comments (0)