๐Exporters
Nedir?
Exporters, รถlรงรผmlerin รผรงรผncรผ taraf sistemden (linux veya Windows iลletim sistemi gibi) Prometheus รถlรงรผmleriyle aynฤฑ biรงimde dฤฑลa aktarฤฑlmasฤฑna yardฤฑmcฤฑ olan bir servistir.
Exporter, belirli bir hizmet, uygulama veya sistem iรงin tanฤฑmlanmฤฑล metrikleri toplamak ve bu metrikleri Prometheus veri toplayฤฑcฤฑsฤฑna aktarmak iรงin tasarlanmฤฑล bir araรงtฤฑr.
Exporter'lar, Prometheus tarafฤฑndan kullanฤฑlabilen bir HTTP endpoint'e sahiptir ve belirli bir metrikle iliลkili olan birรงok farklฤฑ istekle รงaฤrฤฑlabilirler. Prometehus, bir exporter'ฤฑn HTTP endpoint'ini belirli bir zaman aralฤฑฤฤฑ boyunca dรผzenli aralฤฑklarla รงaฤฤฑrarak, verileri toplar ve depolar.
Exporter'lar, belirli bir hizmet veya sistem iรงin birรงok farklฤฑ metrikleri toplayabilir. รrneฤin, bir veritabanฤฑ exporter'ฤฑ, CPU kullanฤฑmฤฑ, bellek kullanฤฑmฤฑ, disk kullanฤฑmฤฑ, sorgu sayฤฑsฤฑ, baฤlantฤฑ sayฤฑsฤฑ gibi metrikleri toplayabilir.
Bir web sunucusu exporter'ฤฑ ise, istek sayฤฑsฤฑ, yanฤฑt sรผresi, hata sayฤฑsฤฑ gibi metrikleri toplayabilir.
Prometheus, bir exporter'ฤฑn topladฤฑฤฤฑ verileri, Grafana gibi diฤer araรงlarla birlikte kullanarak, metrikleri grafikleลtirmeye, monitรถr etmeye veya alarm kurmaya olanak tanฤฑr.
Exporter'lar, verileri toplama ve sunma iลlemini yรผrรผtmek iรงin Go, Python, Java gibi farklฤฑ dillerde yazฤฑlabilir. Prometheus exporter'larฤฑ Zabbix agent gibi dรผลรผnebiliriz. Her ikisi de monitรถr edilen hedeflerin belirli metriklerini toplayฤฑp bir merkezi sunucuya gรถnderirler.
รzetle, sunucudan รถlรงรผmler almak iรงin, sunucu da รงalฤฑลan ve istatistikleri sunan bir veri toplayฤฑcฤฑya (รถrneฤin bir exporter) ihtiyacฤฑmฤฑz var. Bu nedenle, misal bir Linux sunucunun CPU veya bellek grafiฤini gรถrmek istiyorsak, รถncelikle bu sunucuda รงalฤฑลan bir exporter kurmamฤฑz gerekir.
Node Exporter
Node Exporter, bir Linux veya Unix iลletim sistemi รผzerinde รงalฤฑลan, Prometheus'a sistem รถlรงรผmleri saฤlamak iรงin kullanฤฑlan bir araรงtฤฑr. Bu รถlรงรผmler, iลletim sistemi kaynaklarฤฑndan (CPU, bellek, disk vb.), aฤ baฤlantฤฑlarฤฑndan, sistem istatistiklerinden ve diฤer performans รถlรงรผmlerinden elde edilir.
Node Exporter, iลletim sistemi istatistiklerini รงฤฑkarmak iรงin รถnceden tanฤฑmlanmฤฑล bir dizi metrik toplar ve Prometheus'a dรผzenli aralฤฑklarla sunar. Bu รถlรงรผmler daha sonra Prometheus tarafฤฑndan iลlenir ve depolanฤฑr, bรถylece bir sunucunun performansฤฑ, tarihsel eฤilimleri veya beklenmedik deฤiลiklikleri izlemek iรงin kullanฤฑlabilir.
Node Exporter, bu metriklerin saฤladฤฑฤฤฑ bilgileri bir HTTP endpoint aracฤฑlฤฑฤฤฑyla sunar. Bu endpoint'e eriลim, Prometheus'un bu metrikleri toplamasฤฑna ve depolamasฤฑna olanak tanฤฑr.
Node Exporter Kurulum ( Ubuntu 20.04 )
Gerekli dosyanฤฑn indirilmesi ve รงฤฑkarฤฑlmasฤฑ gerekmektedir.
Aลaฤฤฑdaki komut, รถncelikle "/tmp" dizinine geรงiลi saฤlar (eฤer yoksa oluลturulur), ardฤฑndan node_exporter adlฤฑ Prometheus exporter'ฤฑnฤฑn 0.18.1 sรผrรผmรผnรผn indirilmesini ve aรงฤฑlmasฤฑnฤฑ gerรงekleลtirir. ฤฐndirilen dosya "node_exporter-.-amd64.tar.gz" ลeklinde bir formatta olduฤundan, gerรงek dosya adฤฑ tam olarak belirtilmez ve yฤฑldฤฑz iลaretiyle yer deฤiลtirilir. Bu nedenle, "tar xvfz" komutuyla dosya sฤฑkฤฑลtฤฑrmasฤฑ รงรถzรผmlenir ve node_exporter uygulamasฤฑ /tmp dizininin altฤฑndaki bir dizine รงฤฑkarฤฑlฤฑr.
Dosyalarฤฑn taลฤฑnmasฤฑ ve kullanฤฑcฤฑ oluลturulmasฤฑ gerekmektedir.
Aลaฤฤฑdaki komut 2 adฤฑmdan oluลmaktadฤฑr =>
/usr/local/bin/dizininenode_exporteradฤฑndaki ana uygulama dosyamฤฑzฤฑ taลฤฑyoruz.node_exporterkullanฤฑcฤฑsฤฑ oluลturuluyoruz. Bu komutla birlikte,/usr/local/bin/dizinine taลฤฑnannode_exporterdosyasฤฑnฤฑn รงalฤฑลmasฤฑ iรงin bir kullanฤฑcฤฑ oluลturulmaktadฤฑr.-rs /bin/falseargรผmanlarฤฑ, kullanฤฑcฤฑnฤฑn oturum aรงmasฤฑnฤฑ engellemektedir. Yaninode_exporterkullanฤฑcฤฑsฤฑ, yalnฤฑzcanode_exporterservisini รงalฤฑลtฤฑrmak iรงin kullanฤฑlacak bir sistem kullanฤฑcฤฑsฤฑdฤฑr.
Systemd Dosyasฤฑnฤฑ oluลtuyoruz:
Yukarฤฑdaki dosyayฤฑ oluลturup, aลaฤฤฑdaki parametreleri dosyanฤฑn iรงerisine ekliyoruz;
Ardฤฑndan daemond servisini reload edip, node exporter servisini รงalฤฑลtฤฑrฤฑp, startup duruma getiriyoruz.

Servisin รงalฤฑลฤฑp, รงalฤฑลmadฤฑฤฤฑnฤฑ kontrol etmek iรงin aลaฤฤฑdaki http endpointe istek gรถnderiyoruz.

Node exporter kurduฤumuz sunucuyu, Prometheus 'a eklemek iรงin;
Prometheus kurulu sunucumuza geรงiyoruz ve prometheus.yaml dosyamฤฑzฤฑ dรผzenlemek iรงin vi editรถrรผ ile dosyamฤฑzฤฑ aรงฤฑyoruz.
Aลaฤฤฑdaki parametreleri dosyamฤฑzฤฑn en altฤฑna yazฤฑyoruz.
Dosyamฤฑzฤฑn iรงeriฤi aลaฤฤฑdaki ลekilde gรถzรผkecek;

Ardฤฑndan servisi prometheus servisini restart ediyoruz:
Ardฤฑndan prometheus arayรผzรผnden hem targets kฤฑsmฤฑnฤฑ, hem de promQL ile up sorgusunu gรถnderip, node exporter yรผklediฤimiz ubuntu makinemizin durumunu kontrol ediyoruz.


Yukarฤฑda gรถrรผldรผฤรผ รผzere bir sorun gรถzรผkmรผyor.

Yukarฤฑda Node exporter yรผklediฤimiz sunucunun kullanฤฑlabilir memory miktarฤฑnฤฑ sorguluyoruz.
WMI Exporter
WMI (Windows Management Instrumentation) Exporter, Windows iลletim sistemi รผzerinde รงalฤฑลan uygulamalarฤฑn, Windows yรถnetim bileลenlerinin, servislerin ve iลletim sistemi hakkฤฑndaki performans istatistiklerini toplayan ve Prometheus tarafฤฑndan kullanฤฑlabilen bir exporter'dฤฑr. Windows WMI aracฤฑlฤฑฤฤฑyla toplanan verileri Prometheus'a sunar. Bu exporter, Windows sunucularฤฑnฤฑn performansฤฑnฤฑn izlenmesi iรงin oldukรงa yararlฤฑdฤฑr ve iลletim sistemi, bellek kullanฤฑmฤฑ, disk ve aฤ performansฤฑ gibi รงeลitli performans รถlรงรผtlerini takip etmek iรงin kullanฤฑlabilir.
WMI Exporter Kurulumu
https://github.com/prometheus-community/windows_exporter/releases/tag/v0.22.0 > Adresine gidip, iลlemci mimarimize uygun olan sรผrรผmรผ indiriyoruz.

Ardฤฑndan indirdiฤimiz exe dosyasฤฑnฤฑ รงalฤฑลtฤฑrฤฑyoruz.

Ardฤฑndan wmi kurduฤumuz sunucunun http://sunucuip:9182/metrics adresine gidip, servisin รงalฤฑลฤฑp, รงalฤฑลmadฤฑฤฤฑnฤฑ kontrol ediyoruz.

Sฤฑra geldi wmi exporter kurduฤumuz sunucuyu prometheus servisimize eklemeye, bunun iรงin prometheus sunucumuza gidip "prometheus.yaml" dosyamฤฑza wmi servisini yรผklediฤimiz sunucunun bilgilerini yazฤฑp, servisi restart ediyoruz.

Eklediฤimiz kฤฑsฤฑm yukarฤฑda gรถrรผldรผฤรผ gibidir.
Ardฤฑndan prometheus servisimizi restart ediyoruz;
Yeni eklediฤimiz sunucuyu, promQL'de up sorgusu ile ve targets sekmesinden kontrol ediyoruz.


Bir sorun gรถzรผkmรผyor. Aลaฤฤฑda teyit etmek iรงin disk รผzerinde kalan boล alanฤฑn sorgusunu gรถnderiyorum.



Bonus Bilgi : prometheus "admin-api" aktif duruma getirmek iรงin,
Prometheus systemd dosyasฤฑnฤฑ aรงฤฑp aลaฤฤฑda iลaretlediฤim satฤฑrฤฑ dosyaya ekliyoruz.

Ardฤฑndan daemon reload ediyoruz ve prometheus servisi yeniden baลlatฤฑyoruz.
Ardฤฑndan bir instance'a ait verileri temizlemek iรงin, Prometheus sunucunun shellinde aลaฤฤฑdaki sorguyu รงalฤฑลtฤฑrabilirsiniz.
Last updated
Was this helpful?