Monitoring & Logs Server

Merhabalar hocam,

Monitoring konusunda bir soru sormak istiyorum hem de ilk konuyu açmış olayım.
Monitoring; temel olarak sistemlerimizi izlemek için ihtiyacımız olan şey kısacası “logs” ibaret diye biliyorum. Bu konuda kısıtlı bilgim olduğu için bir ihtiyacım oluştu.
Projemde saniye saniyesine çalışan cronlar var. Bu cronlar x api üzerinden haberleşme yaparak verileri alıyor işliyor ama ben bu çalıştı mı çalışmadı mı bilmiyorum. Belki 10 saniye çalışıp 2 saniye sonra çalışmayacak. Genel olarak bu ve bunun gibi servislerimi-cronlarımı tek bir yerde loglayıp-izlemek istiyorum Fakat bu işin en verimli yolu ne kafamda bunu oturtmak istiyorum kalkıp redis veya mongo sunucusu kurup oraya yazabilirim düz mantık ama bu production ortamda doğru yöntem midir ya da log sunucusu maliyetli olur xxx tool kullanmak daha mı mantıklı bunu da bilmiyorum.

Bu konuda doğru olan nedir hocam ne yapmalıyım? Bugüne kadar hep kendi çapımda uygulamalar ile uğraştım startup projem için en iyisi olsun istiyorum @ozgurozturknet
Teşekkür ederim.

2 Beğeni

Bu projenin bir benzeri ile bende ilgilenmiştim graylog var onu araştırmanı öneririm.Ben böyle çözmüştüm problemimi.

2 Beğeni

Sadece logs değil aynı zaman metric ve eventleri de izlemeniz gerekir. Bu biraz geniş bir konu. Ama temelde şunu diyeyim. Sistem kaynaklarının durumu nedir “metrics”, uygulamanın kullanım durumu nedir, örneğin saniyede kaç bağlantı isteği geliyor “metric”, uygulamaların oluşturduğu loglar, uygulamada neler oluyor, nasıl cevap veriyor “logs”, ve son olarak eventler, örneğin crontab çalıştı, durdu, hata verdi “events”. Hepsi için değişik araçlar var. Örneğin nagios logları çekmek için kullanılan önemli araçlardan biri. Spesifik olarak sizin işinizi ise https://cronitor.io/ ile halledebilirsiniz. Bir çok yerde cron jobların monitor edilmesi için kullanıldığını gördüm.

3 Beğeni

Mutlaka inceleyeceğim hocam. Bu hafta logs-metric kavramlarına kafa yoracağım. :slight_smile:
Teşekkür ederim. @ozgurozturknet

Teşekkür ederim hocam bakacağım. @Ali_Gokkaya

1 Beğeni

Merhabalar,

Prometheus ve Grafana araçlarını kullanmanı tavsiye ederim. Monitoring işlemlerinde gerçekten çok faydalı. Anlık olarak takip edebilirsin.

3 Beğeni

Teşekkür ederim bakacağım…

https://www.stackhero.io/en/stackhero/documentations

Kardeşim bu link senin projen için güzel bi kaynak olabilir burdan hangisi hoşuna giderse onu kullan

1 Beğeni

Teşekkür ederim.
Graylog veya grafana kullanacağım gibi duruyor…

1 Beğeni

Merhaba arkadaşlar,

Grafana-prometheus kurulumu sağladım fakat her şey eksiksiz olmasına rağmen veriler dashboarda yansımıyor. Prometheus üzerinden veriler aşağıdaki görsellerdeki gibi alınıyor ama işaretlediğim alanlar olmasına rağmen verileri alamıyorum sanırım sorun bundan kaynaklı gibi.

1 - Screenshot by Lightshot (dashboard 3000 portu)
2 - Screenshot by Lightshot
3 - Screenshot by Lightshot

Daha önce bu tarz bir sorunla karşılaşmış mıydınız acaba?
Şimdiden teşekkür ederim.

@Ali_Gokkaya @beytullahakyuz

@Anilz Merhaba,

Grafana ayarlarından prometheus’u datasource olarak eklediniz mi?

1- Screenshot-1
2- Screenshot-2

Screenshot-3: https://prntscr.com/26pku6f

Evet hocam ekli. Screenshot by Lightshot

@beytullahakyuz

@Anilz,

Peki hangi işletim sisteminde çalışmaktadır?

ubuntu 20.04 - docker üzerinde çalışmakta. @beytullahakyuz

@Anilz Merhaba,

Ekran görüntüsünde gördüğüm kadarıyla sorgunuzda instance ve job ismi (node_exporter) belirtilmemiş. Bu sebeple prometheus veriyi çekememektedir. Öncelikle prometheus için node_exporter’ın çalıştığına emin olunuz. Çünkü node_exporter üzerinden sistem bilgileri çekilmektedir. Eğer ki node_exporter’ı çalıştırmadıysanız aşağıdan indirin ve çalıştırın. Ayrıca node_exporter’ı prometheus sorunsuz bir şekilde çalıştırabilmesi için prometheus.yml dosyasına aşağıda belirtilen şekilde node_exporter ayarlamasını gerçekleştirin.

Örnek prometheus.yml dosyası;

# my global config
global:
  scrape_interval: 5s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 5s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["localhost:9090"]
      
  - job_name: "node_exporter"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["localhost:9100"]

Prometheus dosyasının ayarlarını tamamladıktan sonra prometheus servisini yeniden başlatınız.

Node Exporter - Github

Ekran Görüntüsü

2 Beğeni

Teşekkür ederim @beytullahakyuz . Dediklerinizi sıfırdan kurulum yaparak uygulayacağım.

Sanırım node-exporter’ı docker üzerine kurduğum için bu sorun oluştu. Bazı node verilerini alamadığı için sıkıntı çıkarıyordu.