Ubuntu 16.04 Web Sunucunuzu izlemek için Alertmanager Ve Blackbox Ihracatçı Nasıl Kullanılır

Giriş

Sorunlar ortaya çıktığında, ilgili ekibin uyarılarını göndermek, bir sorunun temel nedenini belirleyerek, olayların hızlı bir şekilde olayları çözmesine olanak tanıyarak önemli ölçüde hızlandırır.

Prometheus, hizmetlerinizi metriklerden toplayan ve bunları zaman serisi veritabanında saklayan açık kaynaklı bir izleme sistemidir. Alertmanager, uyarıları işleyen, grupları kopyalar ve uygun alıcıya uyarı gönderen bir araçtır. Prometheus gibi istemci uygulamalarından gelen uyarıları ele alabilir ve e-posta, PagerDuty, OpsGenie ve Slack gibi birçok alıcıyı destekler.

Mevcut birçok Prometheus ihracatçısı sayesinde, web ve veritabanı sunucuları, mesajlaşma sistemleri veya API'ler dahil olmak üzere altyapınızın her bölümü için uyarılar yapılandırabilirsiniz.

Blackbox Exporter, HTTP, HTTPS, DNS, TCP veya ICMP protokolleri üzerinde son noktaları sonlandırır, başarılı olup olmadığına ve bir yanıt almanın ne kadar sürdüğünü de dahil olmak üzere, istekle ilgili ayrıntılı ölçümleri döndürür.

Bu eğiticide, bir Nginx web sunucusunun yanıt vermesini izlemek için Alertmanager ve Blackbox Exporter'ı kuracak ve yapılandıracaksınız. Ardından, Alertmanager'ı sunucunuz yanıt vermiyorsa, e-posta ve Slack üzerinden sizi bilgilendirecek şekilde yapılandırırsınız.

Ön şartlar

Bu eğitici için ihtiyacınız olacak:

  • Bir Ubuntu 16.04 sunucusu, bir sudo root kullanıcısı ve bir güvenlik duvarı da dahil olmak üzere, Ubuntu 16.04 öğreticisi ile Başlangıç ​​Sunucusu Kurulumu takip edilerek kuruldu.
  • Nginx, Ubuntu 16.04 öğreticisinde Nginx Nasıl Kurulur ilk iki adımı izleyerek kuruldu.
  • Ubuntu 16.04 öğreticisinde Nginx Sunucu Blokları Nasıl Yapılır (Sanal Ana Bilgisayarlar) öğesini takip ederek yapılandırabileceğiniz, 8080 numaralı bağlantı noktasında dinleme yapan bir Nginx sunucu bloğu. Bunu, bu eğitimde izlemek için son nokta olarak kullanacaksınız.
    • listen yönergesini 80 8080 değiştirerek bağlantı noktasını değiştirin. Bir alan adını veya alt alan adını kullanabilir, ancak bitiş noktası adresini eğiticiden değiştirdiğinizden emin olun.
  • Prometheus 2.x Ubuntu 16.04 On Prometheus Nasıl Kurulur öğretici takip ederek yüklü.
  • E-posta göndermek için bir SMTP sunucusu. Herhangi bir SMTP sunucusunu kullanabilir veya Ubuntu 16.04'te bir Post-Only SMTP Sunucusu olarak Postfix Nasıl Kurulur ve Yapılandırılır?
  • İsteğe bağlı olarak, Slack üzerinden Alertmanager'dan uyarı almak istiyorsanız bir Slack hesabı ve çalışma alanı.

1. Adım – Hizmet Kullanıcıları Oluşturma

Güvenlik nedeniyle, iki yeni kullanıcı hesabı, blackbox_exporter ve alertmanager oluşturacağız . Bu hesapları, Blackbox Exporter ve Alertmanager'ı çalıştırmak için ve aynı zamanda uygun çekirdek dosyaları ve dizinler üzerinde sahipliğini izole etmek için kullanacağız. Bu, Blackbox Exporter ve Alertmanager'ın sahip olmadıkları verilere erişip değiştirememelerini sağlar.

Bu kullanıcıları, --no-create-home ve --shell /bin/false flag'lerini kullanarak useradd komutuyla oluşturun, böylece bu kullanıcılar sunucuya giriş yapamazlar:

  • sudo useradd --no-create-home - kabuğu / bin / yanlış blackbox_exporter
  • sudo useradd --no-oluştur-home - kabuğu / bin / yanlış alertmanager

Kullanıcılar yerinde iken, Blackbox Exporter'ı indirip yapılandıralım.

Adım 2 – Blackbox İhracatçı Kurulması

İlk önce, Blackbox Exporter'ın en son kararlı sürümünü ana dizininize indirin. En son ikili dosyaları Prometheus İndirme sayfasındaki sağlama toplamlarıyla birlikte bulabilirsiniz.

  • cd ~
  • curl -LO https://github.com/prometheus/blackbox_exporter/releases/download/v0.12.0/blackbox_exporter-0.12.0.linux-amd64.tar.gz

Arşivi paketten sha256sum , aşağıdaki sha256sum komutunu kullanarak dosyanın sağlama toplamlarını doğrulayın:

  • sha256sum blackbox_exporter-0.12.0.linux-amd64.tar.gz

Dosyanızın hem orijinal hem de bozuk olmadığından emin olmak için Prometheus indirme sayfasındaki sağlama toplamı ile bu komuttan çıkışı karşılaştırın:

Outputc5d8ba7d91101524fa7c3f5e17256d467d44d5e1d243e251fd795e0ab4a83605 blackbox_exporter-0.12.0.linux-amd64.tar.gz

Sağlama toplamları eşleşmezse, indirilen dosyayı kaldırın ve dosyayı yeniden indirmek için önceki adımları tekrarlayın.

Sağlama toplamlarının eşleştiğinden emin olduğunuzda, arşivi paketten kaldırın:

  • tar xvf blackbox_exporter-0.12.0.linux-amd64.tar.gz

Bu, blackbox_exporter ikili dosyası, lisans ve örnek dosyalarını içeren blackbox_exporter-0.12.0.linux-amd64 adlı bir dizin oluşturur.

Ikili dosyayı /usr/local/bin dizinine kopyalayın.

  • sudo mv ./blackbox_exporter-0.12.0.linux-amd64/blackbox_exporter / usr / local / bin

Kök dışı kullanıcıların, dosyayı değiştirememesi veya değiştirememesi için, ikili kullanıcı ve grup sahipliğini blackbox_exporter kullanıcısına ayarlayın:

  • sudo chown blackbox_exporter: blackbox_exporter / usr / yerel / bin / blackbox_exporter

Son olarak, artık ihtiyaç duymadığı için arşiv ve paketlenmemiş dizini kaldıracağız.

  • rm -rf ~ / blackbox_exporter-0.12.0.linux-amd64.tar.gz ~ / blackbox_exporter-0.12.0.linux-amd64

Ardından, Blackbox Exporter'ı HTTP protokolü üzerinden uç noktaları araştırmak ve daha sonra çalıştırmak için yapılandıralım.

Adım 3 – Blackbox'ı Yapılandırma ve Çalıştırma

Blackbox Exporter'ın uç noktaları nasıl kontrol edeceğini tanımlayan bir yapılandırma dosyası oluşturalım. Sistemd ünitesini de oluşturarak, Blackbox'ın servisini systemd kullanarak yönetebiliriz.

Bir sonraki adımda Prometheus yapılandırmasında problamak için uç noktaların listesini belirleyeceğiz.

İlk önce Blackbox Exporter'ın yapılandırması için dizin oluşturun. Linux sözleşmelerine göre, yapılandırma dosyaları /etc dizinine gider, bu yüzden Blackbox Exporter yapılandırma dosyasını da tutmak için bu dizini kullanırız:

  • sudo mkdir / etc / blackbox_exporter

Ardından, bu dizinin sahipliğini 1. Adımda oluşturduğunuz blackbox_exporter kullanıcısına ayarlayın:

  • sudo chown blackbox_exporter: blackbox_exporter / etc / blackbox_exporter

Yeni oluşturulmuş dizinde, Blackbox Exporter yapılandırma ayarlarını tutacak blackbox.yml dosyasını oluşturun:

  • sudo nano /etc/blackbox_exporter/blackbox.yml

Blackbox Exporter'ı son noktaların problanması için varsayılan http probu kullanacak şekilde yapılandıracağız. Probers , Blackbox Exporter'ın bir uç noktanın çalışıp çalışmadığını nasıl kontrol ettiğini tanımlar. http prober, uç noktaya bir HTTP isteği göndererek ve yanıt kodunu test ederek uç noktaları kontrol eder. Sondaj için hangi HTTP yönteminin kullanılacağını ve hangi durum kodlarının başarılı yanıtlar olarak kabul edileceğini seçebilirsiniz. Diğer popüler prodüktörler arasında TCP protokolü üzerinden problama için tcp probu, ICMP protokolü ve DNS girişlerini kontrol etmek için dns probu ile problama için icmp probu bulunur.

Bu eğitim için, HTTP GET yöntemi üzerinden 8080 bağlantı noktasında çalışan uç noktayı araştırmak için http prober'i kullanacağız. Varsayılan olarak, sonda 2xx aralığındaki geçerli durum kodlarının geçerli olduğunu varsayar, dolayısıyla geçerli durum kodlarının bir listesini sağlamaya gerek yoktur.

5 saniyelik bir zaman aşımı yapılandıracağız, yani Blackbox Exporter bir arıza bildirmeden önce yanıt için 5 saniye bekleyecektir. Uygulama türünüze bağlı olarak, ihtiyaçlarınızla eşleşen herhangi bir değeri seçin.

Not: Blackbox Exporter'ın yapılandırma dosyası, sekmeleri kullanmayı yasaklayan ve girinti için iki alan kullanmayı gerektiren YAML biçimini kullanır. Yapılandırma dosyası yanlış biçimlendirilmişse, Blackbox Exporter başlatılamayacaktır.

Dosyaya aşağıdaki yapılandırmayı ekleyin:

/etc/blackbox_exporter/blackbox.ymlmodules:
http_2xx:
prober: http
timeout: 5s
http:
valid_status_codes: []
method: GET

Blackbox Exporter belgelerindeki yapılandırma seçenekleri hakkında daha fazla bilgi bulabilirsiniz.

Dosyayı kaydedin ve metin düzenleyicinizden çıkın.

Hizmet dosyasını oluşturmadan önce, yapılandırma dosyasındaki kullanıcı ve grup sahipliğini 1. Adımda oluşturulan blackbox_exporter kullanıcısına ayarlayın.

  • sudo chown blackbox_exporter: blackbox_exporter /etc/blackbox_exporter/blackbox.yml

Kullandığınız Blackbox Aktarıcı'yı yönetebilmek Şimdi hizmet dosyası oluşturmak systemd :

  • sudo nano /etc/systemd/system/blackbox_exporter.service

Aşağıdaki içeriği dosyaya ekleyin:

/etc/systemd/system/blackbox_exporter.service[Unit]
Description=Blackbox Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=blackbox_exporter
Group=blackbox_exporter
Type=simple
ExecStart=/usr/local/bin/blackbox_exporter --config.file /etc/blackbox_exporter/blackbox.yml

[Install]
WantedBy=multi-user.target

Bu hizmet dosya söyler systemd bulunan konfigürasyon dosyası ile blackbox_exporter kullanıcı olarak Blackbox Aktarıcı'yı çalıştırmak için /etc/blackbox_exporter/blackbox.yml . Ayrıntıları systemd hizmet dosyalarının bu yazının kapsamı dışındadır, ancak öğrenmek istiyorsanız daha anlama systemd Birimleri ve Birim Dosyalar öğretici bakın.

Dosyayı kaydedin ve metin düzenleyicinizden çıkın.

Son olarak, yeni oluşturduğunuz hizmet dosyanızı kullanmak için systemd yeniden yükleyin:

  • sudo systemctl daemon-reload

Şimdi Blackbox Exporter'ı başlatın:

  • sudo systemctl start blackbox_exporter

Servisin durumunu kontrol ederek başarılı bir şekilde başladığından emin olun:

  • sudo systemctl durumu blackbox_exporter

Çıktı, ana işlem tanımlayıcısı (PID), bellek kullanımı, günlükler ve daha fazlası dahil olmak üzere Blackbox Exporter'ın işlemi hakkında bilgi içerir.

Output● blackbox_exporter.service - Blackbox Exporter
Loaded: loaded (/etc/systemd/system/blackbox_exporter.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2018-04-05 17:48:58 UTC; 5s ago
Main PID: 5869 (blackbox_export)
Tasks: 4
Memory: 968.0K
CPU: 9ms
CGroup: /system.slice/blackbox_exporter.service
└─5869 /usr/local/bin/blackbox_exporter --config.file /etc/blackbox_exporter/blackbox.yml

Hizmetin durumu active (running) değilse active (running) , ekran günlüklerini takip edin ve eğiticiye devam etmeden önce sorunu çözmek için önceki adımları tekrar gözden geçirin.

Son olarak, sunucunun yeniden başlatıldığında Blackbox Exporter'ın başlayacağından emin olmak için hizmeti etkinleştirin:

  • sudo systemctl blackbox_exporter'i etkinleştirir

Artık Blackbox Exporter'ın tamamen yapılandırıldığını ve çalıştırıldığını, Prometheus'u son noktaya yönelik problama talepleriyle ilgili ölçümleri toplayacak şekilde yapılandırabiliriz. Böylece, bu metrikleri temel alan uyarılar oluşturabilir ve Alertmanager'ı kullanarak uyarılar için bildirim oluşturabiliriz.

Adım 4 – Blackbox Scrape Proksheus Yapılandırma İhracatçı

Adım 3'te belirtildiği gibi, problanacak uç noktaların listesi Blackbox Exporter'ın targets direktifinin bir parçası olarak Prometheus konfigürasyon dosyasında bulunur. Bu adımda Prometheus'u, önkoşul eğitiminde yapılandırdığınız 8080 bağlantı noktasında çalışan Nginx web sunucusunu karalamak için Blackbox Exporter'ı kullanacak şekilde yapılandırırsınız.

Düzenleyicinizde Prometheus yapılandırma dosyasını açın:

  • sudo nano /etc/prometheus/prometheus.yml

Bu noktada, aşağıdaki gibi görünmelidir:

/etc/prometheus/prometheus.ymlglobal:
scrape_interval: 15s

scrape_configs:
- job_name: 'prometheus'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
- job_name: 'node_exporter'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9100']

scrape_configs yönergesinin sonunda, Prometheus'a, Adım 3'te yapılandırılan Blackbox Exporter'ın http_2xx modülünü kullanarak yerel bağlantı noktası 8080 üzerinde çalışan uç scrape_configs aşağıdaki girişi ekleyin.

/etc/prometheus/prometheus.yml...
- job_name: 'blackbox'
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets:
- http://localhost:8080
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: localhost:9115

Varsayılan olarak Blackbox Exporter, 9115 numaralı bağlantı noktasında /probe uç noktasında kullanılabilen metriklerle çalışır.

Blackbox Exporter için scrape_configs yapılandırması diğer ihracatçılar için yapılandırmadan farklıdır. En dikkate değer fark, ihracatçının adresi yerine son noktaların incelenmesini belirleyen targets direktiftir. İhracatçının adresi, uygun __address__ etiketleri kümesi kullanılarak belirtilir.

Prometheus belgelerinde yeniden relabel direktiflerinin ayrıntılı bir açıklamasını bulacaksınız.

Prometheus yapılandırma dosyanız şu şekilde görünecek:

Prometheus config file – /etc/prometheus/prometheus.ymlglobal:
scrape_interval: 15s

scrape_configs:
- job_name: 'prometheus'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
- job_name: 'node_exporter'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9100']
- job_name: 'blackbox'
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets:
- http://localhost:8080
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: localhost:9115

Dosyayı kaydedin ve metin düzenleyicinizi kapatın.

Değişiklikleri yürürlüğe koymak için Prometheus'u yeniden başlatın:

  • sudo systemctl restart prometheus

Prometheus hizmet durumunu kontrol ederek beklendiği gibi çalıştığından emin olun:

  • sudo systemctl durumu prometheus

Hizmetin durumu active (running) değilse active (running) , ekran günlüklerini takip edin ve eğiticiye devam etmeden önce sorunu çözmek için önceki adımları tekrar gözden geçirin.

Bu noktada Prometheus'u Blackbox Exporter'dan metriklerini kazımak için yapılandırdınız. Alertmanager'dan uyarı almak için, bir sonraki adımda uygun bir Prometheus uyarı kuralları seti oluşturursunuz.

Adım 5 – Uyarı Kuralları Oluşturma

Prometheus Uyarısı iki bölüme ayrılmıştır. İlk bölüm Prometheus sunucusu tarafından ele alınmakta ve uyarı kurallarına dayalı uyarıların oluşturulması ve bunları Alertmanager'a gönderilmesini içermektedir. İkinci bölüm, alınan uyarıları yöneten ve yapılandırmaya bağlı olarak bunları uygun alıcılara gönderen Alertmanager tarafından yapılır.

Bu adımda, sunucunuzun kullanılabilir olup olmadığını kontrol etmek için bir uyarı kuralı oluştururken uyarı kurallarının temel sözdizimini öğreneceksiniz.

Öncelikle, uyarılarınızı saklamak için bir dosya oluşturun. /etc/prometheus dizininde alert.rules.yml adlı boş bir dosya oluşturun:

  • sudo touch /etc/prometheus/alert.rules.yml

Bu dosya Prometheus yapılandırmasının bir parçası olduğundan, sahipliğin Prometheus eğitiminde ön koşulda oluşturduğunuz prometheus kullanıcısına ayarlandığından emin olun:

  • sudo chown prometheus: prometheus /etc/prometheus/alert.rules.yml

Uyarı dosyasında, Prometheus'a yapılandırma dosyasına uygun yönergeyi ekleyerek bu konu hakkında bilgi vermemiz gerekiyor.

Düzenleyicinizde Prometheus yapılandırma dosyasını açın:

  • sudo nano /etc/prometheus/prometheus.yml

Prometheus başladığında Prometheus'un yeni oluşturduğunuz uyarı dosyasını yüklemesini sağlamak için global yönergenin ardından rule_files yönergesini ekleyin.

/etc/prometheus/prometheus.ymlglobal:
scrape_interval: 15s

rule_files:
- alert.rules.yml

scrape_configs:
...

Dosyayı kaydedin ve metin düzenleyicinizden çıkın.

Şimdi uç noktasının bitip bitmediğini kontrol eden bir kural yapalım.

Uyarı kuralını yapmak için, bitiş noktası probe_success 1 , geri probe_success 0 döndüren Blackbox Exporter'ın probe_success metriğini kullanacaksınız.

probe_success metriği iki etiket içerir: son noktanın adresi olan instance etiketi ve metriği toplayan ihracatçının adını taşıyan job etiketi.

Düzenleyici kuralındaki uyarı kuralları dosyasını açın:

  • sudo nano /etc/prometheus/alert.rules.yml

Prometheus yapılandırma dosyası gibi, uyarı kuralı dosyası da sekmeleri yasaklayan ve girinti için iki boşluk gerektiren YAML biçimini kullanır. Prometheus, dosya yanlış biçimlendirilmişse başlayamaz.

İlk olarak, probe_sucess metriğinin 0'a 10 saniyeliğine eşit olup olmadığını kontrol etmek için EndpointDown adında bir uyarı kuralı oluşturacağız. Bu, son nokta 10 saniyeden daha az süre için mevcut değilse Prometheus'un herhangi bir uyarı göndermeyeceğini garanti eder. Uygulama türünüze ve ihtiyaçlarınıza bağlı olarak istediğiniz süreyi seçmekte özgürsünüz.

Ayrıca, kritik önem derecesini ve uyarının bir özetini belirten iki etiket ekleyeceğiz, böylece uyarıları kolayca yönetebilir ve filtreleyebiliriz.

{{ $labels.metrics_label }} etiketlerine ve ek açıklamalarına daha fazla ayrıntı eklemek isterseniz, etiketin değerini almak için {{ $labels.metrics_label }} sözdizimini kullanabilirsiniz. Bunu, bitiş noktasının adresini metriğin instance etiketinden eklemek için kullanırız.

Uyarıları dosyasına aşağıdaki kuralı ekleyin:

/etc/prometheus/alert.rules.ymlgroups:
- name: alert.rules
rules:
- alert: EndpointDown
expr: probe_success == 0
for: 10s
labels:
severity: "critical"
annotations:
summary: "Endpoint {{ $labels.instance }} down"

Dosyayı kaydedin ve metin düzenleyicinizden çıkın.

Prometheus'u yeniden başlatmadan önce, promtool aşağıdaki promtool komutunu kullanarak sözdizimsel olarak doğru olduğundan emin olun:

  • sudo promtool çek kuralları /etc/prometheus/alert.rules.yml

Çıktı, dosyada bulunan kuralların sayısını ve kuralların sözdizimsel olarak doğru olup olmadığına ilişkin bilgileri içerir.

OutputChecking /etc/prometheus/alert.rules.yml
SUCCESS: 1 rules found

Son olarak, değişiklikleri uygulamak için Prometheus'u yeniden başlatın:

  • sudo systemctl restart prometheus

Hizmetin status komutuyla çalıştığını doğrulayın:

  • sudo systemctl durumu prometheus

Hizmetin durumu active değilse, ekran günlüklerini takip edin ve eğiticiye devam etmeden önce sorunu çözmek için önceki adımları yeniden gözden geçirin.

Uyarı kurallarını yerine getirerek, Alertmanager'ı indirip kurabiliriz.

6. Adım – Alertmanager indiriliyor

Blackbox Exporter yapılandırıldı ve uyarı kurallarımız var. Prometheus tarafından alınan uyarıları işlemek için Alertmanager'ı indirip kuralım.

En son ikili dosyaları Prometheus indirme sayfasındaki sağlama toplamlarıyla birlikte bulabilirsiniz. Alertmanager’ın mevcut kararlı sürümünü ana dizininize indirin ve paketini açın:

  • cd ~
  • curl -LO https://github.com/prometheus/alertmanager/releases/download/v0.14.0/alertmanager-0.14.0.linux-amd64.tar.gz

Arşivi paketten sha256sum , aşağıdaki sha256sum komutunu kullanarak dosyanın sağlama toplamlarını doğrulayın:

  • sha256sum alertmanager-0.14.0.linux-amd64.tar.gz

Dosyanızın hem orijinal hem de bozuk olmadığından emin olmak için Prometheus indirme sayfasındaki sağlama toplamı ile bu komuttan çıkışı karşılaştırın.

Outputcaddbbbe3ef8545c6cefb32f9a11207ae18dcc788e8d0fb19659d88c58d14b37 alertmanager-0.14.0.linux-amd64.tar.gz

Sağlama toplamları eşleşmezse, indirilen dosyayı kaldırın ve dosyayı yeniden indirmek için önceki adımları tekrarlayın.

İndirmeyi doğruladıktan sonra arşivi aç:

  • tar xvf alertmanager-0.14.0.linux-amd64.tar.gz

Bu iki ikili dosyaları ( alertmanager ve amtool ), bir lisans ve bir örnek yapılandırma dosyası içeren alertmanager-0.14.0.linux-amd64 adlı bir dizin oluşturur.

İki ikili dosyayı /usr/local/bin dizinine taşıyın:

  • sudo mv alertmanager-0.14.0.linux-amd64 / alertmanager / usr / yerel / bin
  • sudo mv alertmanager-0.14.0.linux-amd64 / amtool / usr / yerel / bin

Kullanıcı ve grup sahipliğini ikili dosyalarda 1. Adımda oluşturduğunuz alertmanager kullanıcısına ayarlayın:

  • sudo chown alertmanager: alertmanager / usr / local / bin / alertmanager
  • sudo chown alertmanager: alertmanager / usr / local / bin / amtool

Artık dosyaları artık gerekmedikçe ev dizininizden kaldırın:

  • rm -rf alertmanager-0.14.0.linux-amd64 alertmanager-0.14.0.linux-amd64.tar.gz

Gerekli dosyalar uygun konumdaysa, Alertmanager'ı e-posta üzerinden uyarılar için bildirim gönderecek şekilde yapılandırabiliriz.

Adım 7 – E-posta Üzerinden Uyarılar Göndermek için Uyarı Yöneticisini Yapılandırma

Bu adımda, Alertmanager'ın verilerini ve yapılandırma ayarlarını depolamak için dizin ve dosyaları oluşturacak ve Alertmanager'ı e-posta yoluyla uyarı göndermek üzere yapılandıracaksınız.

Standart Linux sözleşmelerinin ardından, Alertmanager'ın yapılandırma dosyasını depolamak için /etc dizinini oluşturacağız.

  • sudo mkdir / etc / alertmanager

Yeni oluşturulan dizinin kullanıcı ve grup sahipliğini alertmanager kullanıcısına ayarlayın:

  • Sudo chown alertmanager: alertmanager / etc / alertmanager

Yapılandırma dosyasını alertmanager.yml dosyasına alertmanager.yml , bu yüzden bu dosyayı oluşturup editörünüzde açın:

  • sudo nano /etc/alertmanager/alertmanager.yml

Diğer Prometheus ile ilgili dosyalar gibi, bu da YAML formatını kullanır, bu yüzden girinti için sekmeler yerine iki boşluk kullandığınızdan emin olun.

Alertmanager'ı, önkoşul eğiticisini izleyerek yüklediğiniz Postfix'i kullanarak e-postalar gönderecek şekilde yapılandıracağız. SMTP sunucusunun smtp_smarthost yönergesini ve smtp_smarthost yönergesini kullanarak smtp_smarthost göndermek istediğimiz adresin adresini vermemiz smtp_from . Postfix, Alertmanager ile aynı sunucuda çalışırken, sunucunun adresi localhost:25 25'dir. E-posta göndermek için alertmanager kullanıcısını kullanacağız.

Varsayılan olarak Postfix'in TLS yapılandırması yoktur, bu yüzden Alertmanager'a smtp_require_tls yönergesini kullanarak TLS olmayan SMTP sunucularına izin vermesi gerektiğini bildirmemiz gerekir.

Diğer tüm yapılandırma bağlamlarında geçerli olan parametreleri belirtmek için kullanılan SMTP konfigürasyonunu global direktifin altına yerleştirin. Bu, bizim durumumuzda SMTP yapılandırmasını içerir ve çeşitli entegrasyonlar için API belirteçleri de içerebilir:

Alertmanager config file part 1 – /etc/alertmanager/alertmanager.ymlglobal:
smtp_smarthost: 'localhost:25'
smtp_from: 'alertmanager@your_domain'
smtp_require_tls: false

Not: smtp_from yönergesindeki your_domin alan adınız ile değiştirdiğinizden emin olun.

Bu noktada, Alertmanager e-postaların nasıl gönderileceğini biliyor, ancak route yönergesini kullanarak gelen uyarıları nasıl ele alacağını tanımlamamız gerekiyor. route yönergesi, gelen her uyarıya uygulanır ve Alertmanager'in uyarıları gruplama, varsayılan alıcı kim veya Alertmanager'ın ilk uyarıyı göndermeden önce ne kadar bekleyeceği gibi özellikleri tanımlar.

Uyarıları group_by için satır içi etiket dizisi alan group_by alt yönergesini kullanın ( ['label-1', 'label-2'] ). Gruplama, aynı etiketleri içeren uyarıların gruplandırılmasını ve aynı grupta gönderilmesini sağlar.

Her route yönergesi, receiver alt yönergesi kullanılarak tanımlanan tek bir alıcıya sahiptir. Birden fazla alıcı eklemek isterseniz, aynı yönerge altında birden fazla alıcı tanımlamanız veya routes alt yönergesi ile birden fazla route yönergesi içmeniz gerekir. Bu eğiticide, Slack uyarılarını yapılandırmak için ilk yaklaşımı ele alacağız.

Bu durumda, yaparız sadece Blackbox tarafından grup instance etiket ve severity biz tek postada kritik şiddeti ile son nokta için birden fazla uyarı alırsınız sağlanması 6. adımda uyarı ekli etiketi.

Aşağıdaki group_by yönergesini ekleyin:

Alertmanager config file part 2 – /etc/alertmanager/alertmanager.yml...
route:
group_by: ['instance', 'alert']

Ardından, Alertmanager'ın ilk ve yeni uyarıları göndermeden önce ne kadar bekleyeceği gibi aralıkları tanımlayacağız.

group_wait alt yönergesini kullanarak, group_wait ilk uyarıyı göndermeden önce ne kadar bekleyeceğini tanımlayacağız. Bu süre zarfında, Alertmanager, Prometheus'un aynı grupta gönderilebilmeleri için varsa diğer uyarıları göndermesini bekleyecektir. Sadece bir uyarımız olduğu için, 30 saniyelik bir rasgele değer seçeceğiz.

Daha sonra, group_interval aralığını kullanarak, aynı grupta yeni uyarılar varsa, bir sonraki uyarı kümesini göndermeden önce Alertmanager'ın ne kadar bekleyeceğini tanımlayacağız. İhtiyaçlarınıza bağlı olarak herhangi bir değer seçmekte özgürsünüz, ancak bunu her 5 dakikada bir ayarlayacağız.

Biz yapılandırırız son aralığıdır repeat_interval uyarıları henüz çözülmediği takdirde bildirim gönderir önce Alertmanager ne kadar bekleyeceğini tanımlar. Gereksinimlerinize uygun herhangi bir değeri seçebilirsiniz, ancak 3 saatlik keyfi değeri kullanırız.

Son olarak, receiver alt yönergesini kullanarak, uyarılar için kimlerin bildirim alacağını tanımlayın. Daha sonra tanımlayacağımız team-1 adlı bir alıcı kullanacağız.

Rota yönergesini değiştirin, bu şekilde şöyle görünür:

Alertmanager config file part 2 – /etc/alertmanager/alertmanager.ymlroute:
group_by: ['instance', 'severity']
group_wait: 30s
group_interval: 5m
repeat_interval: 3h
receiver: team-1

Yalnızca belirli uyarılar hakkında bildirimlerle eşleştirmek ve göndermek istiyorsanız, uyarıları filtrelerinin değerine göre filtrelemek için match ve match_re alt direktiflerini kullanabilirsiniz. match alt yönergesi eşitlik maçı temsil match_re alt yönergesi düzenli ifadeler yoluyla eşleşen temsil eder.

Şimdi, team-1 alıcısını, uyarılar için bildirim alabilmeniz için yapılandıracağız. receivers yönergesi altında, adı ve uygun yapılandırma alt yönergesini içeren alıcıları tanımlayabilirsiniz. Mevcut alıcıların listesi ve bunların nasıl yapılandırılacağına dair talimatlar, Alertmanager belgelerinin bir parçası olarak mevcuttur.

team-1 e team-1 posta alıcısını yapılandırmak için, receivers yönergesi altındaki email_configs alt yönergesini kullanacağız:

Alertmanager config file part 3 – /etc/alertmanager/alertmanager.ymlreceivers:
- name: 'team-1'
email_configs:
- to: 'your-email-address'

Bu noktada, Alertmanager'ı e-posta adresinize uyarı göndermek üzere bildirim göndermek için yapılandırdınız. Yapılandırma dosyanız şöyle görünmelidir:

Alertmanager config file – /etc/alertmanager/alertmanager.ymlglobal:
smtp_smarthost: 'localhost:25'
smtp_from: 'alertmanager@example.com'
smtp_require_tls: false

route:
group_by: ['instance', 'severity']
group_wait: 30s
group_interval: 5m
repeat_interval: 3h
receiver: team-1

receivers:
- name: 'team-1'
email_configs:
- to: 'your-email-address'

Bir sonraki adımda, Slack kanalınıza uyarı göndermek için Alertmanager'ı yapılandıracağız. Slack'i yapılandırmak istemiyorsanız, servis dosyasını oluşturacağımız ve Prometheus'u Alertmanager ile çalışacak şekilde yapılandıracağımız, doğrudan adım 10'a geçebilirsiniz.

Adım 8 – Slack Üzerinden Uyarılar Göndermek İçin Uyarı Yöneticisini Yapılandırma

Bu adımla devam etmeden önce, bir Slack hesabı oluşturduğunuzdan ve Slack çalışma alanınızın mevcut olduğundan emin olun.

Slack'e uyarı göndermek için önce bir Gelen Webhook oluşturun.

Tarayıcınızı https://workspace-name.slack.com/services/new/incoming-webhook/ bulunan Gelen Web Kanalı oluşturma sayfasına yönlendirin. Gelen Web Kanalı ile ilgili ayrıntıları içeren sayfanın yanı sıra, uyarı göndermek istediğiniz kanalı seçmeniz gereken bir açılır menüyü de edineceksiniz.

Kanalı seçtikten sonra Gelen Web Kanalı Ekle entegrasyon düğmesine tıklayın.

Web kanunun başarıyla oluşturulduğunu doğrulayan yeni bir sayfa göreceksiniz. Alertmanager'ın Slack bildirimlerini yapılandırmak için kullanacağınız bu sayfada görüntülenen Webhook URL'sini kopyalayın.

Slack bildirimlerini yapılandırmak için düzenleyicinizdeki Alertmanager yapılandırma dosyasını açın:

  • sudo nano /etc/alertmanager/alertmanager.yml

Öncelikle, Slack Incoming Webhook'u oluştururken aldığınız URL'yi kullanarak, slack_api_url alt-yönergesini yapılandırmanızın global kısmına ekleyin.

Alertmanager config file part 1 – /etc/alertmanager/alertmanager.ymlglobal:
smtp_smarthost: 'localhost:25'
smtp_from: 'alertmanager@example.com'
smtp_require_tls: false

slack_api_url: 'your_slack_webhook_url'

Birden fazla alıcıya uyarı göndermek için iki yol vardır:

  1. Aynı girişte birden fazla alıcı yapılandırması ekleyin. Bu en az hata eğilimli çözüm ve en kolay yöntemdir.
  2. Birden fazla alıcı girişi oluşturun ve birden fazla route yönergesi yerleştirin.

Bu öğreticide ikinci yaklaşımı ele almayacağız, ancak ilgileniyorsanız, Alertmanager belgelerinin Rota yapılandırması bölümüne göz atın.

team-1 alıcısında, slack_configs adında yeni bir alt yönerge slack_configs ve uyarılar alması gereken kanalın adını belirtin. Bu durumda, general kanalı kullanacağız:

Alertmanager config file part 2 – /etc/alertmanager/alertmanager.ymlreceivers:
- name: 'team-1'
email_configs:
- to: 'your-email-address'
slack_configs:
- channel: 'general<^>'

Tamamlanan yapılandırma dosyanız aşağıdaki gibi görünür:

Alertmanager config file – /etc/alertmanager/alertmanager.ymlglobal:
smtp_smarthost: 'localhost:25'
smtp_from: 'alertmanager@example.com'
smtp_require_tls: false

slack_api_url: 'your_slack_webhook_url'

route:
group_by: ['instance', 'severity']
group_wait: 30s
group_interval: 5m
repeat_interval: 3h
receiver: team-1

receivers:
- name: 'team-1'
email_configs:
- to: 'your-email-address'
slack_configs:
- channel: 'general'

Dosyayı kaydedin ve düzenleyicinizden çıkın.

Artık ilk kez Alertmanager'ı çalıştırmaya hazırız.

Adım 9 – Alertmanager'ı Çalıştırma

Alertmanager'ı çalıştıralım. Alertmanager kullanarak hizmet yönetmek için Önce bir systemd birim dosyası oluşturacağız systemd . Sonra Prometheus'u Alertmanager'ı kullanacak şekilde güncelleyeceğiz.

Yeni bir systemd birim dosyası oluşturun ve metin düzenleyicinizde açın:

  • sudo nano /etc/systemd/system/alertmanager.service

Alertmanager'ı alertmanager kullanıcısı olarak çalıştırmak için systemd'yi yapılandırmak için aşağıdakileri ekleyin: sunucunuzun IP adresini kullanacak şekilde yapılandırılmış /etc/alertmanager/alertmanager.yml ve Alertmanager URL adresinde bulunan yapılandırma dosyasını kullanın:

/etc/systemd/system/alertmanager.service[Unit]
Description=Alertmanager
Wants=network-online.target
After=network-online.target

[Service]
User=alertmanager
Group=alertmanager
Type=simple
WorkingDirectory=/etc/alertmanager/
ExecStart=/usr/local/bin/alertmanager --config.file=/etc/alertmanager/alertmanager.yml --web.external-url http://your_server_ip:9093

[Install]
WantedBy=multi-user.target

Bu Alertmanager'ı alertmanager kullanıcısı olarak çalıştırır. Ayrıca URL kullanmak Alertmanager söyler http://your_server_ip:9093 kendi Web UI için 9093 Alertmanager varsayılan bağlantı noktasıdır. Protokolü ( http:// ) http:// emin olun veya işler çalışmayacaktır.

Dosyayı kaydedin ve metin düzenleyicinizi kapatın.

Ardından Prometheus'a Prometheus konfigürasyon dosyasına uygun Alertmanager servis keşif dizini ekleyerek Alertmanager hakkında bilgi vermeliyiz. Varsayılan olarak, Alertmanager 9093 numaralı bağlantı noktasında çalışıyor ve Prometheus ile aynı sunucuda olduğundan, localhost:9093 adresini kullanacağız.

Prometheus yapılandırma dosyasını açın:

  • sudo nano /etc/prometheus/prometheus.yml

rule_files yönergesinden sonra, aşağıdaki alerting yönergesi ekleyin:

Prometheus configuration file – /etc/prometheus/prometheus.yml...
rule_files:
- alert.rules.yml

alerting:
alertmanagers:
- static_configs:
- targets:
- localhost:9093
...

İşiniz bittiğinde dosyayı kaydedin ve metin düzenleyicinizi kapatın.

Aldığınız uyarılardan URL'leri izleyebilmek için Prometheus'a Prometheus'u başlattığınızda -web.external-url işaretini kullanarak sunucunuzun IP adresini veya etki alanı adını bildirmeniz gerekir.

Prometheus için systemd birim dosyasını açın:

  • sudo nano /etc/systemd/system/prometheus.service

Varolan ExecStart satırını aşağıdakiyle değiştirin:

ExecStart=/usr/local/bin/prometheus --config.file /etc/prometheus/prometheus.yml
--storage.tsdb.path /var/lib/prometheus/ --web.console.templates=/etc/prometheus/consoles
--web.console.libraries=/etc/prometheus/console_libraries
--web.external-url http://your_server_ip

Yeni Prometheus birim dosyanız şöyle görünecek:

Prometheus service file – /etc/systemd/system/prometheus.service[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus --config.file /etc/prometheus/prometheus.yml
--storage.tsdb.path /var/lib/prometheus/ --web.console.templates=/etc/prometheus/consoles
--web.console.libraries=/etc/prometheus/console_libraries
--web.external-url http://your_server_ip

[Install]
WantedBy=multi-user.target

Dosyayı kaydedin ve metin düzenleyicinizi kapatın.

systemd yeniden yükleyin ve değişiklikleri uygulamak için Prometheus'u yeniden başlatın:

  • sudo systemctl daemon-reload
  • sudo systemctl restart prometheus

Prometheus'un servisin durumunu kontrol ederek amaçlandığı şekilde çalıştığından emin olun:

  • sudo systemctl durumu prometheus

Hizmetin durumu active (running) değilse active (running) , ekran günlüklerini takip edin ve eğiticiye devam etmeden önce sorunu çözmek için önceki adımları tekrar gözden geçirin.

Son olarak, Alertmanager'ı ilk kez başlatın:

  • sudo systemctl start alertmanager

Alertmanager'ın amaçlandığı gibi çalıştığından emin olmak için servisin durumunu kontrol edin:

  • sudo systemctl status alertmanager

Hizmetin durumu active (running) değilse active (running) , ekrandaki mesajları takip edin ve eğiticiye devam etmeden önce sorunu çözmek için önceki adımları yeniden gözden geçirin.

Son olarak, hizmetin sistem başlatıldığında Alertmanager'ın başlayacağından emin olmak için hizmeti etkinleştirin:

  • sudo systemctl alertmanager'ı etkinleştir

Alertmanager'ın Web UI'sine erişmek için güvenlik duvarınız üzerinden 9093 bağlantı noktasına izin verin:

  • sudo ufw izin 9093 / tcp

Alertmanager şimdi e-posta ve Slack aracılığıyla uyarılar için bildirim göndermek üzere yapılandırıldı. Çalıştığından emin olalım.

Adım 10 – Alertmanager Testi

Alertmanger'ın doğru bir şekilde çalıştığından ve e-postalar ve Slack bildirimleri gönderdiğinden emin olalım. Önkoşul derslerinde oluşturduğunuz Nginx sunucu bloğunu kaldırarak uç noktayı devre dışı bırakırız:

  • sudo rm / etc / nginx / site etkin / alan_adiniz

Değişiklikleri uygulamak için Nginx'i tekrar yükle:

  • sudo systemctl nginx'i yeniden yükle

Onaylamak istiyorsanız, aslında devre dışı bırakılmışsa, web tarayıcınızı sunucunuzun adresine yönlendirebilirsiniz. Sitenin artık ulaşılamayacağını belirten bir mesaj görmelisiniz. Yapmazsanız, önceki adımları tekrar gözden geçirin ve doğru sunucu bloğunu silen ve Nginx'i yeniden yüklediğinizden emin olun.

group_wait 30 saniye olan group_wait aralığına bağlı olarak 30 saniye sonra e-posta ve Slack bildirimleri almanız gerekir.

Yapmazsanız, aşağıdaki status komutlarını kullanarak servisin durumunu kontrol edin ve sorunun nedenini bulmak için ekran günlüklerini izleyin:

  • sudo systemctl status alertmanager
  • sudo systemctl durumu prometheus

Ayrıca, web tarayıcınızı http://your_server_ip/alerts işaret ederek, uyarının durumunu Prometheus Web http://your_server_ip/alerts de kontrol edebilirsiniz. Prometheus eğitimini takip ederek seçmiş olduğunuz kullanıcı adını ve şifreyi girmeniz istenecektir. Uyarı adını tıklayarak, durumu, uyarı kuralını ve ilişkili etiketleri görürsünüz:

Alertmanager'ın doğrulandığını doğruladıktan sonra, sites-available dizinden sites-available dizine sembolik bağlantıyı yeniden oluşturarak uç noktayı sites-enabled :

  • sudo ln -s / etc / nginx / site-kullanılabilir / alan_adiniz / etc / nginx / siteler-etkin

Değişiklikleri uygulamak için tekrar Nginx'i tekrar yükleyin:

  • sudo systemctl nginx'i yeniden yükle

Bir sonraki adımda, Alertmanager'ın Komut Satırı Arayüzünün nasıl kullanılacağına bakacağız.

Adım 11 – CLI Kullanarak Uyarıları Yönetme

Alertmanager, uyarıları izlemenizi, yönetmenizi ve susturmanızı sağlayan komut satırı aracı amtool birlikte gelir.

amtool aracı, bir komutu her çalıştırdığınızda --alertmanager.url işaretini kullanarak Alertmanager'in URL'sini sağlamanızı gerektirir. URL sağlamadan amtool kullanmak için bir yapılandırma dosyası oluşturarak başlarız.

Yapılandırma dosyasının varsayılan konumları $HOME/.config/amtool/config.yml ; bu, yapılandırmayı yalnızca geçerli kullanıcınız için kullanılabilir hale getirir ve /etc/amtool/config.yml , böylece yapılandırmayı her kullanıcı için kullanılabilir hale getirir. sunucu.

Gereksinimlerinize uygun olanı seçmek konusunda özgürsünüz, ancak bu eğitim için $HOME/.config/amtool/config.yml dosyasını $HOME/.config/amtool/config.yml .

İlk önce dizini oluşturun. -p bayrağı, mkdir yol boyunca gerekli tüm üst dizinleri oluşturmasını söyler:

  • mkdir -p $ HOME / .config / amtool

config.yml dosyasını oluşturun ve metin düzenleyicinizde açın:

  • nano $ HOME / .config / amtool / config.yml

Anlatmak için aşağıdaki satırı ekleyin amtool ile Alertmanager kullanmak http://localhost:9093 URL:

~/.config/amtool/config.ymlalertmanager.url: http://localhost:9093

Dosyayı kaydedin ve metin düzenleyicinizden çıkın.

Şimdi, amtool komut satırı aracı ile neler yapabileceğimize bir göz amtool .

amtool alert query komutunu kullanarak, amtool alert query tüm uyarıları listeleyebilirsiniz:

  • amtool uyarı sorgusu

Çıktı, uyarının adını, uyarının ilk oluşumunun zamanını ve yapılandırdığınız sırada sağladığınız uyarının özetini gösterir:

OutputAlertname Starts At Summary
EndpointDown 2018-04-03 08:48:47 UTC Endpoint http://localhost:8080 down

Ayrıca, uyarıları uygun eşleştirici kullanarak etiketlerine göre filtreleyebilirsiniz. Bir eşleyici, etiket ismini, uygun işlemi, = tam eşleme için = ve kısmi eşleme için =~ ve etiketin değerini içerebilen bir etiket içerir.

Kritik bir önem etiketine sahip olan tüm uyarıları listelemek istiyorsanız, alert query komutunda severity=critical eşleştiriciyi kullanın:

  • amtool uyarı sorgusu önem derecesi = kritik

Daha önce olduğu gibi, çıktı, alert'ün adını, alert'ün ilk kez geçtiği zamanı ve alert'ün özetini içerir.

OutputAlertname Starts At Summary
EndpointDown 2018-04-03 08:48:47 UTC Endpoint http://localhost:8080 down

Etiketleri =~ işleciyle eşleştirmek için normal ifadeleri kullanabilirsiniz. Örneğin, bağlantı noktasına bağlı olmayan http://localhost bitiş noktaları için tüm uyarıları listelemek için, example instance=~http://localhost.* eşleştiricisini kullanabilirsiniz:

  • amtool uyarı sorgusu örneği = ~ http: //localhost.*

Sadece bir uyarı ve son nokta olduğundan, çıktı önceki örnekte olduğu gibi olacaktır.

Alertmanager yapılandırmasına bakmak için, amtool config komutunu kullanın:

  • amtool yapılandırması

Çıktı /etc/alertmanager/alertmanager.yml dosyasının içeriğini içerecektir.

Şimdi amtool kullanarak uyarıları nasıl susturulacağına amtool .

Susturma uyarıları, belirli bir süre için eşleştiriciye dayalı uyarıları kapatmanızı sağlar. Bu süre boyunca, susturulmuş uyarı için herhangi bir e-posta veya Slack bildirimi almayacaksınız.

amtool silence add komutu, eşleştirmeyi argüman olarak alır ve eşleştiriciye dayalı yeni bir sessizlik yaratır.

Bir uyarının son kullanma tanımlamak için kullanmak --expires gibi sessizlik istenen süresine, işaretleyin 1h veya --expire-on bayrak RFC3339 biçiminde sessizlik son kullanma süresi ile. Örneğin, 2018-10-04T07:50:00+00:00 formatı 4 Ekim 2018'de 07.50 am.

--expires veya --expires-on bayrağı verilmediyse, uyarılar 1 saat boyunca susturulacaktır.

3 saat boyunca http://localhost:8080 örneğinin tüm uyarılarını susturmak için aşağıdaki komutu kullanırsınız:

  • amtool silence add example = http: // localhost: 8080 - sonuç 3h

Çıkış sessizlik için bir kimlik numarası içerir, bu yüzden sessizliği kaldırmak istediğinizde ihtiyacınız olduğu şekilde not ettiğinizden emin olun:

Output4e89b15b-0814-41d3-8b74-16c513611732

Yazar ve yorumlar gibi sessizlik oluştururken ek bilgi sağlamak isterseniz --author ve --comment işaretlerini kullanın:

  • amtool sessizlik eklemek ciddiyet = kritik - expires 3h --author "Sammy The Shark" - "Gelişimi araştırmak"

Daha önce olduğu gibi, çıktı sessizliğin kimliğini içerir:

Output12b7b9e1-f48a-4ceb-bd85-65ac882ceed1

amtool silence query , son kullanma tarihi amtool silence query listesini gösterir:

  • amtool sessizlik sorgusu

Çıkış sessizliğin kimliğini, eşleştiricilerin listesini, son kullanma zaman damgasını, yazarı ve yorumu içerir:

OutputID Matchers Ends At Created By Comment
12b7b9e1-f48a-4ceb-bd85-65ac882ceed1 severity=critical 2018-04-04 08:02:58 UTC Sammy The Shark Investigating in the progress
4e89b15b-0814-41d3-8b74-16c513611732 instance=http://localhost:8080 2018-04-04 08:14:21 UTC sammy

alert query komutuna benzer şekilde, çıktıyı oluşturmaya eklenmiş etiketlere göre filtrelemek için etiket eşleştiricileri kullanabilirsiniz:

  • amtool silence query örneği = http: // localhost: 8080

Daha önce olduğu gibi, çıktı, kimlik numarasını ve uyarının ayrıntılarını içerecektir:

OutputID Matchers Ends At Created By Comment
4e89b15b-0814-41d3-8b74-16c513611732 instance=http://localhost:8080 2018-04-04 08:14:21 UTC sammy

Son olarak, bir sessizliği sona amtool silence expire için, amtool silence expire istediğiniz sessizlik kimliğiyle amtool silence expire kullanın.

  • amtool sessizliği sona erecek 12b7b9e1-f48a-4ceb-bd85-65ac882ceed1
  • amtool sessizlik süresi 4e89b15b-0814-41d3-8b74-16c513611732

Hiçbir çıkış başarılı komut yürütme temsil eder. Bir hata görürseniz, sessizliğin doğru kimliğini sağladığınızdan emin olun.

Sonuç

Bu eğitimde Blackbox Exporter ve Alertmanager'ı Prometheus ile birlikte çalışacak şekilde yapılandırdınız, böylece e-posta ve Slack yoluyla uyarıları alabilirsiniz. Ayrıca uyarıları yönetmek ve susturmak için amtool komut satırı arabirimi olan amtool da kullandınız.

Diğer Alertmanager entegrasyonları hakkında daha fazla bilgi edinmek isterseniz, Alertmanager belgelerinin [Yapılandırma] ((https://prometheus.io/docs/alerting/configuration/)) bölümüne bakın.

Ayrıca Prometheus Uyarılarını, Grafana gibi diğer hizmetlerle nasıl bütünleştirebileceğinizi öğrenebilirsiniz.

Bir önceki yazımız olan Ubuntu'da Bir Organizasyon İçin Samba Paylaşımı Nasıl Kurulur 16.04 başlıklı makalemizi de okumanızı öneririz.

About This Author

Comments are closed

%d blogcu bunu beğendi: