DEV Community

Umut Erol
Umut Erol

Posted on

Opentelemetry Collector'ü ayağa kaldırma

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>
Enter fullscreen mode Exit fullscreen mode

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"
Enter fullscreen mode Exit fullscreen mode

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)