
Prometheus Alert Manager digunakan untuk mengirim peringatan melalui email dan service web lainnya (yaitu, PagerDuty, Slack, GitLab, WeChat) tergantung pada peristiwa peringatan yang dihasilkan di Prometheus.
Prometheus dapat menghasilkan peringatan ketika target tidak tersedia dan mengirimkannya ke Manajer Peringatan, mengirimkan Anda pemberitahuan email untuk memberi tahu Anda bahwa target sedang tidak aktif. Ini hanya sebuah contoh. Prometheus dapat mengirim peringatan ke Manajer Peringatan tergantung pada metrik Prometheus apa pun. Jadi, kemungkinannya tidak terbatas.
Pada artikel ini, saya akan menunjukkan cara menginstal Prometheus Alert Manager di Ubuntu 20.04 LTS. Saya juga akan menunjukkan kepada Anda cara mengonfigurasi Prometheus dan Alert Manager untuk mengirimi Anda pemberitahuan email melalui Gmail ketika target Prometheus sedang down (tidak tersedia). Jadi, mari kita mulai.
Daftar isi:
- Prasyarat
- Menginstal Manajer Peringatan
- Membuat Direktori Data
- Memulai Alert Manager saat Boot
- Mengonfigurasi Prometheus
- Membuat Aturan Peringatan Prometheus
- Mengonfigurasi Penerima Gmail di Alert Manager
- Memecahkan Masalah Pengiriman Email Manajer Peringatan
- Kesimpulan
- Referensi
Prasyarat:
Untuk mengikuti artikel ini, Anda harus:
- Membuat prometheus user sistem.
- Pasang Prometheus di komputer Anda.
Artikel ini merupakan lanjutan dari artikel Cara Install Prometheus di Ubuntu 20.04 LTS. Jika Anda memerlukan bantuan untuk menginstal Prometheus di Ubuntu 20.04 LTS dan membuat user sistem prometheus, pastikan untuk memeriksanya.
Menginstal Manajer Peringatan:
Anda dapat mengdownload Alert Manager versi terbaru dari situs web resmi Prometheus dan menginstalnya di Ubuntu 20.04 LTS dengan sangat mudah.
Pertama, navigasikan ke ~/Downloads direktori (atau direktori sementara lainnya pilihan Anda) sebagai berikut:
$ cd ~/Downloads
Download versi terbaru dari Alert Manager (v0.22.2 pada saat penulisan ini) dengan perintah berikut:
$ wget https://github.com/prometheus/alertmanager/releases/download/v0.22.2/alertmanager-0.22.2.linux-amd64.tar.gz
Pengelola Lansiran sedang didownload. Mungkin perlu beberapa saat untuk menyelesaikannya.
Pada titik ini, Alert Manager harus didownload.
Setelah Alert Manager didownload, Anda akan menemukan file arsip baru alertmanager-0.22.2.linux-amd64.tar.gz di direktori kerja Anda saat ini, seperti yang ditandai pada tangkapan layar di bawah.
$ ls -lh
Ekstrak alertmanager-0.22.2.linux-amd64.tar.gz arsip dengan perintah berikut:
$ tar xzf alertmanager-0.22.2.linux-amd64.tar.gz
Anda harus menemukan direktori baru alertmanager-0.22.2.linux-amd64/ seperti yang ditandai pada tangkapan layar di bawah ini.
$ ls -lh
Sekarang, pindahkan alertmanager-0.22.2.linux-amd64 direktori ke /opt/ direktori dan ganti namanya menjadi alertmanager sebagai berikut:
$ sudo mv -v alertmanager-0.22.2.linux-amd64 /opt/alertmanager
Ubah user dan grup semua file dan direktori /opt/alertmanager/ direktori untuk di-root sebagai berikut:
$ sudo chown -Rfv root:root /opt/alertmanager
Membuat Direktori Data:
Alert Manager membutuhkan direktori tempat ia dapat menyimpan datanya. Karena Anda akan menjalankan Alert Manager sebagaiprometheus user sistem, prometheus user sistem harus memiliki akses (membaca, menulis, dan mengeksekusi izin) ke direktori data tersebut.
Anda dapat membuat data/ direktori di /opt/alertmanager/ direktori sebagai berikut:
$ sudo mkdir -v /opt/alertmanager/data
Ubah pemilik dan grup /opt/alertmanager/data/ direktori ke prometheus dengan perintah berikut:
$ sudo chown -Rfv prometheus:prometheus /opt/alertmanager/data
Pemilik dan grup /opt/alertmanager/data/ direktori harus diubah menjadi prometheus, seperti yang ditunjukkan pada tangkapan layar di bawah ini.
$ ls -lh
Memulai Alert Manager saat Boot:
Sekarang, Anda harus membuat file service systemd untuk Alert Manager sehingga Anda dapat dengan mudah mengelola (start, stop, restart, dan add to startup) service alertmanager dengan systemd.
Untuk membuat file service systemd alertmanager.service, jalankan perintah berikut:
$ sudo nano /etc/systemd/system/alertmanager.service
Ketik baris berikut di alertmanager.service mengajukan.
[Unit]
Description=Alertmanager for prometheus
[Service]
Restart=always
User=prometheus
ExecStart=/opt/alertmanager/alertmanager --config.file=/opt/alertmanager/alertmanager.yml --storage.path=/opt/alertmanager/data
ExecReload=/bin/kill -HUP $MAINPID
TimeoutStopSec=20s
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
Setelah selesai, tekan <Ctrl> + X diikuti oleh Y dan <Enter> untuk menyelamatkan alertmanager.service mengajukan.
Agar perubahan systemd diterapkan, jalankan perintah berikut:
$ sudo systemctl daemon-reload
Sekarang, mulai alertmanager service dengan perintah berikut:
$ sudo systemctl start alertmanager.service
Tambahkan alertmanager service ke startup sistem sehingga secara otomatis dimulai saat boot dengan perintah berikut:
$ sudo systemctl enable alertmanager.service
Seperti yang Anda lihat, alertmanager service adalah active/running. Itu jugaenabled (itu akan dimulai secara otomatis saat boot).
$ sudo systemctl status alertmanager.service
Mengonfigurasi Prometheus:
Sekarang, Anda harus mengkonfigurasi Prometheus untuk menggunakan Alert Manager. Anda juga dapat memantau Alert Manager dengan Prometheus. Saya akan menunjukkan cara melakukan keduanya di bagian ini.
Pertama, temukan alamat IP komputer tempat Anda menginstal Alert Manager dengan perintah berikut:
$ hostname -I
Dalam kasus saya, alamat IP-nya adalah 192.168.20.161. Ini akan berbeda untuk Anda. Jadi, pastikan untuk menggantinya dengan milik Anda mulai sekarang.
Sekarang, buka file konfigurasi Prometheus /opt/prometheus/prometheus.yml dengan nano editor teks sebagai berikut:
$ sudo nano /opt/prometheus/prometheus.yml
Ketik baris berikut di scrape_configs bagian untuk menambahkan Alert Manager untuk pemantauan dengan Prometheus.
- job_name: 'alertmanager'
static_configs:
- targets: ['192.168.20.161:9093']
Juga, ketik alamat IP dan nomor port Alert Manager di alerting > alertmanagers bagian seperti yang ditandai pada tangkapan layar di bawah.
Setelah selesai, tekan <Ctrl> + X diikuti oleh Y dan <Enter> untuk menyelamatkan prometheus.yml berkas konfigurasi.
Agar perubahan diterapkan, mulai ulang prometheus service sebagai berikut:
$ sudo systemctl restart prometheus.service
Kunjungi URL http://192.168.20.161:9090/targets dari browser web favorit Anda, dan Anda akan melihatnyaalertmanager ada di UP negara. Jadi, Prometheus dapat mengakses Alert Manager dengan baik.
CATATAN : Saya telah menginstal Prometheus dan Alert Manager di komputer yang sama. Jadi, alamat IP instance Prometheus saya sama dengan Alert Managers. Jika Anda telah menginstal Prometheus di komputer lain, lakukan penyesuaian yang diperlukan mulai sekarang.
Membuat Aturan Peringatan Prometheus:
Di Prometheus, Anda dapat menggunakan up ekspresi untuk menemukan status target yang ditambahkan ke Prometheus, seperti yang ditunjukkan pada tangkapan layar di bawah.
Target yang ada di UP status (berjalan dan dapat diakses oleh Prometheus) akan memiliki nilai 1, dan target yang tidak ada di UP (atau DOWN) status (tidak berjalan atau tidak dapat diakses oleh Prometheus) akan memiliki nilai 0.
Jika Anda menghentikan salah satu target – node_exporter (Katakanlah).
$ sudo systemctl stop node-exporter.service
Itu up nilai target itu seharusnya 0, seperti yang Anda lihat pada tangkapan layar di bawah ini. Anda mendapatkan idenya.
Jadi, Anda dapat menggunakan up == 0 ekspresi untuk mendaftar hanya target yang tidak berjalan atau tidak dapat diakses oleh Prometheus, seperti yang Anda lihat pada tangkapan layar di bawah.
Ekspresi ini dapat digunakan untuk membuat Prometheus Alert dan mengirim alert ke Alert Manager ketika satu atau lebih target tidak berjalan atau tidak dapat diakses oleh Prometheus.
Untuk membuat Peringatan Prometheus, buat file baru rules.yml dalam /opt/prometheus/ direktori sebagai berikut:
$ sudo nano /opt/prometheus/rules.yml
Sekarang, ketik baris berikut di rules.yml mengajukan.
groups:
- name: test
rules:
- alert: InstanceDown
expr: up == 0
for: 1mSetelah selesai, tekan + X diikuti oleh Y dan <Enter> untuk menyelamatkan rules.yml mengajukan.
Di sini, peringatan InstanceDown akan ditembakkan ketika target tidak berjalan atau tidak dapat diakses oleh Prometheus (yaitu up == 0) selama satu menit (1m).
Sekarang, buka file konfigurasi Prometheus /opt/prometheus/prometheus.yml dengan nano editor teks sebagai berikut:
$ sudo nano /opt/prometheus/prometheus.yml
Tambahkan rules.yml file di rule_files bagian dari file konfigurasi prometheus.yml seperti yang ditandai pada tangkapan layar di bawah.
Pilihan penting lainnya dari prometheus.yml file adalah evaluation_interval. Prometheus akan memeriksa apakah ada aturan yang cocok setiapevaluation_intervalwaktu. Standarnya adalah 15 detik (15 detik). Jadi, aturan Alert dirules.yml file akan diperiksa setiap 15 detik.
Setelah selesai, tekan <Ctrl> + X diikuti oleh Y dan <Enter> untuk menyelamatkan prometheus.yml strong> mengajukan.
Agar perubahan diterapkan, mulai ulang prometheus service sebagai berikut:
$ sudo systemctl restart prometheus.service
Sekarang, navigasikan ke URL http://192.168.20.161:9090/rules dari browser web favorit Anda, dan Anda akan melihat aturannyaInstanceDown yang baru saja Anda tambahkan.
Arahkan ke URL http://192.168.20.161:9090/alerts dari browser web favorit Anda, dan Anda akan melihat status peringatan InstanceDown, seperti yang dapat Anda lihat pada tangkapan layar di bawah.
Seperti yang Anda sudah berhenti node_exporter sebelumnya, peringatan aktif, dan menunggu untuk dikirim ke Manajer Peringatan.
Setelah satu menit berlalu, peringatan InstanceDown harus di FIRING negara. Artinya, peringatan dikirim ke Manajer Peringatan.
Me
ngonfigurasi Penerima Gmail di Alert Manager:Di bagian ini, saya akan menunjukkan cara mengkonfigurasi Gmail sebagai penerima Alert Manager sehingga Anda bisa mendapatkan email di akun Gmail Anda dari Alert Manager jika target Prometheus TURUN.
Untuk mengonfigurasi Gmail sebagai penerima Pengelola Lansiran, Anda harus membuat sandi Aplikasi untuk Gmail dari setelan Keamanan Akun Google Anda.
Untuk melakukannya, navigasikan ke URL https://myaccount.google.com dari browser web favorit Anda dan klikSecurity > App passwords seperti yang ditandai pada tangkapan layar di bawah ini.
Kata sandi aplikasi harus dibuat. Copy dan simpan di tempat yang aman. Anda akan membutuhkannya nanti.
Sekarang, buka file konfigurasi Alert Manager /opt/alertmanager/alertmanager.yml dengan nano editor teks sebagai berikut:
$ sudo nano /opt/alertmanager/alertmanager.yml
Untuk menambahkan penerima Gmail baru, ketik baris berikut di receivers bagian dari alertmanager.yml file seperti yang ditandai pada tangkapan layar di bawah ini.
- name: 'gmail'
email_configs:
- to: '<google-username>@gmail.com'
from: '<google-username>@gmail.com'
smarthost: smtp.gmail.com:587
auth_username: '<google-username>@gmail.com'
auth_identity: '<google-username>@gmail.com'
auth_password: '<google-app-password>'CATATAN : Pastikan untuk mengganti<google-username> dengan nama user (bagian sebelum bagian @ email Anda) Akun Google Anda dan <google-app-password> dengan password Aplikasi yang Anda buat sebelumnya.
Kemudian, atur Alert Manager receiver ke gmail (penerima yang baru saja Anda buat) seperti yang ditandai pada gambar di bawah.
Setelah selesai, tekan <Ctrl> + X diikuti oleh Y dan <Enter> untuk menyelamatkan alertmanager.yml berkas konfigurasi.
Manajer Peringatan akan menggunakan gmail penerima mulai sekarang.
repeat_interval juga merupakan opsi Pengelola Peringatan yang penting. Secara default,repeat_interval diatur ke 1h(1 jam). Jika Alert Manager telah berhasil mengirimi
Anda email di akun Gmail Anda, itu akan menunggu satu jam sebelum mengirimi Anda email lagi. Jika Anda tidak ingin menerima email terlalu sering, Anda dapat meningkatkannya.
Sekarang, mulai ulang alertmanager systemd agar perubahan diterapkan sebagai berikut:
$ sudo systemctl restart alertmanager.service
Anda akan segera mendapatkan email di akun Gmail Anda, seperti yang dapat Anda lihat pada tangkapan layar di bawah.
Anda telah berhenti node_exporter sebelumnya, ingat?
Memecahkan Masalah Pengiriman Email Manajer Peringatan:
Anda dapat memantau masalah pengiriman email Alert Manager dengan perintah berikut:
$ sudo journalctl --follow --no-pager --boot --unit alertmanager.service
Itu alertmanager log service systemd harus ditampilkan, seperti yang Anda lihat pada tangkapan layar di bawah.
Jika Alert Manager tidak dapat mengirimkan email ke alamat email Anda, Anda harus dapat menemukan mengapa gagal di sini.
Contoh pengiriman email yang gagal ditunjukkan pada tangkapan layar di bawah ini. Jika Anda membaca pesan log, Anda seharusnya dapat mengetahui bahwa pengiriman gagal karena password salah.
Kesimpulan:
Pada artikel ini, saya telah menunjukkan kepada Anda cara menginstal Alert Manager di Ubuntu 20.04 LTS. Saya juga telah menunjukkan
kepada Anda cara mengonfigurasi Alert Manager dan Prometheus untuk mengirim pemberitahuan email ke akun Gmail Anda ketika target Prometheus TURUN.Referensi: