GNU/Linux >> Belajar Linux >  >> Linux

Cara Memantau Host Dengan Alat Pemantauan Linux Icinga

Pemantauan adalah salah satu aspek infrastruktur yang paling penting, dan alat pemantauan Icinga memiliki berbagai opsi untuk dipilih. Icinga memungkinkan Anda secara fleksibel memantau seluruh infrastruktur berdasarkan konfigurasi.

Dalam artikel ini, Anda akan mempelajari cara memantau server Anda dengan tumpukan pemantauan Icinga2; Anda akan menginstal tumpukan dan menyiapkan pemantauan terdistribusi.

Siap? Langsung masuk!

Prasyarat

Tutorial ini akan menjadi demonstrasi langsung. Untuk mengikuti, pastikan Anda memiliki yang berikut:

  • Dua mesin Linux – Tutorial ini menggunakan server Ubuntu 20.04 pada kedua master (master ) dan klien (klien01 ) server.
  • Pengguna dengan hak akses root di kedua perangkat.
  • MariaDB terinstal dan berjalan di server master.

Mengatur FQDN di Semua Server

Icinga2 adalah solusi pemantauan siap-perusahaan yang memungkinkan Anda memantau infrastruktur dan aplikasi server di banyak lokasi.

Anda akan menyiapkan nama domain yang sepenuhnya memenuhi syarat (FQDN) untuk semua server Anda, yang memudahkan manajemen server di lingkungan yang besar. Domain dalam tutorial ini bernama example.lan, tetapi Anda dapat menggunakan domain lokal yang ada.

Perhatikan bahwa Anda perlu menjalankan perintah berikut di kedua server. Ubah nilainya sesuai.

1. Buka terminal Anda dan sambungkan ke server.

2. Selanjutnya, jalankan setiap perintah di bawah ini untuk mengatur FQDN pada mesin master dan klien. FQDN untuk server adalah master.example.lan (tuan ) dan client01.example.lan (klien01 ).

# Set FQDN on master server
sudo hostnamectl set-hostname master.example.lan

# Set FQDN on client01 server
sudo hostnamectl set-hostname client01.example.lan

3. Edit /etc/hosts file dengan editor teks pilihan Anda dan isi entri di bawah ini. Ganti alamat IP dengan alamat server yang sebenarnya.

# /etc/hosts for master
172.16.1.10   master.example.lan   master

# /etc/hosts for client01
172.16.1.30   client01.example.lan   client01

4. Terakhir, jalankan perintah di bawah ini untuk memverifikasi FQDN.

hostname --fqdn

Menginstal Icinga2 dan Memantau Plugin

Dengan FQDN dikonfigurasi, saatnya untuk menginstal Icinga2. Anda akan menginstal paket apt untuk icinga2 dan plugin pemantauan. Paket-paket ini adalah komponen utama Icinga2 dan plugin yang menyediakan skrip untuk pemantauan sistem.

Instalasi Icinga2 dan Plugin Monitoring harus dilakukan di server master dan client01.

1. Jalankan apt install di bawah ini perintah untuk menginstal dependensi paket dengan aman melalui HTTPS (apt-transport-https ) dan verifikasi kunci GPG.

sudo apt install -y apt-transport-https wget gnupg

2. Selanjutnya, jalankan wget perintah untuk mengunduh kunci GPG Icinga2. apt-key . yang disalurkan perintah menambahkan kunci GPG untuk memverifikasi integritas paket Icinga2.

wget -O - https://packages.icinga.com/icinga.key | apt-key add -

3. Jalankan setiap perintah di bawah ini untuk menambahkan repositori apt Icinga2 di mesin Anda.

# Adding repository for icinga2
. /etc/os-release; if [ ! -z ${UBUNTU_CODENAME+x} ]; then DIST="${UBUNTU_CODENAME}"; else DIST="$(lsb_release -c| awk '{print $2}')"; fi; \
echo "deb https://packages.icinga.com/ubuntu icinga-${DIST} main" > \
/etc/apt/sources.list.d/${DIST}-icinga.list
echo "deb-src https://packages.icinga.com/ubuntu icinga-${DIST} main" >> \
/etc/apt/sources.list.d/${DIST}-icinga.list

# Verify the Icinga2 apt repository is added
cat /etc/apt/sources.list.d/focal-icinga.list

4. Terakhir, jalankan apt perintah di bawah ini untuk menyegarkan indeks paket dan menginstal paket.

# Refresh package index
sudo apt update

# Installing package
sudo apt install icinga2 monitoring-plugins -y

Menginstal Driver IDO MySQL di Server master

Icinga2 diinstal dan hampir siap untuk bekerja. Tetapi agar Icinga2 berfungsi dengan baik, diperlukan database. Jadi, Anda akan menginstal Driver IDO MySQL dan mengatur koneksi database di server master Anda.

Repositori Icinga2 menyediakan icinga2-ido-mysql kemasan. Paket ini adalah driver database yang berfungsi untuk server MySQL dan MariaDB.

1. Jalankan perintah di bawah ini untuk menginstal icinga2-ido-mysql kemasan.

sudo apt install -y icinga2-ido-mysql

2. Pilih Ya saat diminta untuk menyiapkan driver dan membuat database, seperti yang ditunjukkan di bawah ini. Konfigurasi menetapkan icinga2 sebagai pengguna database dan menghasilkan file baru, /etc/icinga2/features-available/ido-mysql.conf .

3. Sekarang, pilih Ya untuk mengaktifkan ido-mysql fitur pada Icinga2, yang secara otomatis membuat database dan pengguna baru untuk Icinga2.

4. Berikan sandi untuk pengguna MariaDB icinga2, dan pilih OK untuk menyelesaikan instalasi icinga2-ido-mysql.

5. Selanjutnya, jalankan cat perintah di bawah ini untuk memeriksa isi /etc/icinga2/features-available/ido-mysql.conf mengajukan.

cat /etc/icinga2/features-available/ido-mysql.conf

Anda akan melihat detail di bawah untuk database MariaDB yang cocok dengan yang Anda berikan.

6. Jalankan icinga2 perintah di bawah ini untuk enable  ido-mysql fitur.

sudo icinga2 feature enable ido-mysql

7. Terakhir, jalankan perintah berikut untuk memulai ulang dan memverifikasi icinga2 layanan status .

# restart service
sudo systemctl restart icinga2

# verifying service
sudo systemctl status icinga2

Demikian pula di bawah, Anda akan melihat fitur ido-mysql diaktifkan, dan layanan icinga2 aktif (berjalan).

Mengonfigurasi Icinga2 API

Anda baru saja menginstal driver Icinga2 IDO MySQL dan mengkonfigurasi koneksi database. Namun untuk mengelola dan mengonfigurasi tumpukan pemantauan Icinga2 melalui permintaan HTTP, Anda harus mengonfigurasi API Icinga2.

Stack pemantauan Icinga2 juga merupakan sistem pemantauan terdistribusi.

1. Jalankan perintah di bawah pada server master Anda untuk mengaktifkan Icinga2 API, membuat sertifikat TLS untuk Icinga2, dan memperbarui konfigurasi Icinga2.

sudo icinga2 api setup

2. Sekarang, edit file /etc/icinga2/conf.d/api-users.conf file di editor teks Anda dan isi konfigurasi berikut. Catat kredensial pengguna API yang Anda berikan karena Anda akan membutuhkannya nanti.

Ganti kata sandi dengan kata sandi yang kuat sesuai kebutuhan.

/** api for icingaweb2 */
object ApiUser "icingaweb2" {
  password = "passwordapiicngaweb2"
  permissions = [ "status/query", "actions/*", "objects/modify/*", "objects/query/*" ]
}

3. Terakhir, jalankan perintah di bawah ini ke restart  icinga2 service dan terapkan konfigurasi baru.

sudo systemctl restart icinga2

Menginstal dan Mengkonfigurasi icingaweb2 di Server master

Anda memerlukan dasbor untuk memantau host Anda dengan lebih baik setelah mengaktifkan Icinga2 API dan mengonfigurasi pengguna API baru. Bagaimana? Anda akan menginstal dan mengkonfigurasi Icingaweb2 di server master.

Icingaweb2 adalah front-end web untuk tumpukan pemantauan Icinga2, ditulis dalam PHP, dan menyediakan dasbor pemantauan yang responsif dan dapat diperluas.

1. Jalankan perintah di bawah untuk menginstal Icingaweb2 dengan komponen yang diperlukan untuk menangani aplikasi web Icingaweb2.

sudo apt install icingaweb2 libapache2-mod-php icingacli -y

2. Selanjutnya, jalankan icingacli perintah di bawah ini untuk menghasilkan token untuk menyiapkan Icingaweb2. Instalasi Icingaweb2 akan membutuhkan token ini nanti, jadi tuliskan.

sudo icingacli setup token create

3. Jalankan mysql perintah di bawah ini untuk masuk ke shell MySQL dan membuat pengguna baru (root ) untuk Icingaweb2.

mysql -u root -p

4. Sekarang, jalankan kueri berikut untuk membuat database baru dan pengguna icingaweb2 dengan kata sandi. Anda dapat mengatur nama pengguna dan kata sandi sesuai keinginan Anda.

CREATE DATABASE icingaweb2;
GRANT ALL ON icingaweb2.* TO [email protected] IDENTIFIED BY 'strongpasswordicingaweb2';
FLUSH PRIVILEGES;

5. Terakhir, jalankan exit untuk keluar dari shell MySQL.

exit

Menyiapkan Instalasi Icingaweb2

Anda telah menginstal Icingaweb2 di server master dan membuat token penyiapan untuk pengguna baru. Namun untuk mengakses dasbor icingaweb2, Anda harus menyiapkan instalasi icingaweb2 melalui browser web Anda.

1. Buka browser web Anda dan navigasikan ke alamat IP server master, diikuti dengan jalur URL /icingaweb2/setup (yaitu, http://172.16.1.10/icingaweb2/setup) .

2. Selanjutnya, masukkan token penyiapan Icingaweb2 yang Anda buat di bagian “Menginstal dan Mengonfigurasi icingaweb2 di Server Master” (langkah kedua), dan klik Berikutnya .

3. Terima default (Pemantauan ) di Modul halaman dan klik Berikutnya .

4. Pilih Database di Jenis Otentikasi kotak tarik-turun, dan klik Berikutnya . Jenis otentikasi ini mengamankan dasbor administrasi Icingaweb2.

Pada titik ini, Icingaweb2 mulai memeriksa persyaratan sistem untuk penginstalan.

5. Pastikan semua persyaratan status berwarna hijau, kecuali yang PostgreSQL, dan klik Berikutnya .

Abaikan pesan kesalahan PostgreSQL. Anda menggunakan MariaDB sebagai backend database.

6. Sekarang, berikan nilai yang sama yang Anda tetapkan di bagian “Menginstal dan Mengonfigurasi icingaweb2 di Server Master” (langkah empat) ke Sumber Daya Basis Data bentuk di bawah.

Klik Validasi Konfigurasi untuk memastikan konfigurasi berfungsi, lalu klik Berikutnya setelah melihat pesan Konfigurasi telah berhasil divalidasi.

7. Keluar dari Backend Autentikasi dengan nilai default (icingaweb2) sebagai nama backend, dan klik Berikutnya.

8. Berikan kredensial untuk akun administratif pertama Icingaweb2 dan klik Berikutnya . Catat kredensialnya, karena Anda akan memerlukannya untuk masuk ke dasbor Icingaweb2 nanti.

9. Biarkan nilai logging default di Application Configuration untuk Icingaweb2, dan klik Berikutnya .

10. Selanjutnya, tinjau pengaturan konfigurasi, dan klik Berikutnya untuk mengkonfirmasi instalasi icingaweb2.

11. Sekarang, klik Berikutnya untuk melanjutkan pengaturan modul pemantauan untuk Icingaweb2.

12. Berikan nama database dan pengguna untuk Icinga2 yang sesuai, seperti yang ditunjukkan di bawah ini. Detail database untuk Icinga2 tersedia di /etc/icinga2/features-available/ido-mysql.conf berkas.

Klik Validasi Konfigurasi, pastikan koneksi database berhasil, lalu klik Berikutnya.

13. Masukkan pengguna Icinga2 API dan sandi yang disimpan di /etc/icinga2/conf.d/api-users.conf file ke kolom di bawah ini.

Klik tombol Validasi Konfigurasi, pastikan Anda mendapatkan pesan yang mengatakan Konfigurasi telah berhasil divalidasi, dan klik Berikutnya.

14. Terima variabel khusus default di Keamanan Pemantauan pengaturan dan klik Berikutnya . Variabel-variabel ini membantu mengamankan lingkungan pemantauan Anda dari pengintaian.

15. Periksa konfigurasi modul pemantauan, dan klik Selesai untuk menyelesaikan instalasi.

16. Saat instalasi icingaweb2 selesai, Anda akan melihat pesan Selamat! Icinga Web 2 telah berhasil disiapkan pesan, seperti yang ditunjukkan di bawah ini.

Klik Login to Icinga Web 2, dan browser Anda akan dialihkan ke halaman login icingaweb2 (langkah 17).

17. Masukkan user admin dan password untuk icingaweb2 dan klik Login untuk mengakses dasbor Icinga.

18. Terakhir, klik Ringkasan —> Layanan , dan Anda akan melihat status master your Anda server seperti di bawah ini.

Menginisialisasi Server Master Icinga2

Anda telah berhasil menginstal tumpukan pemantauan Icinga2 untuk memantau status server master Anda. Sekarang Anda akan menginisialisasi server master sebagai node master untuk tumpukan pemantauan Icinga2. Node master adalah pengontrol utama dari tumpukan pemantauan terdistribusi Icinga2.

1. Jalankan perintah di bawah ini pada terminal server master Anda untuk menginisialisasi icinga2 master node .

sudo icinga2 node wizard

2. Tekan n untuk mengatur node agen/satelit (node ​​master Icinga2).

3. Tekan ENTER pada nama umum (CN) konfigurasi. Icinga2 akan secara otomatis mendeteksi FQDN server.

4. Selanjutnya, tentukan nama zona master sebagai master.example.lan , dan tekan N untuk melewati penambahan zona global. Zona global default menyinkronkan semua objek konfigurasi di icinga2.

5. Biarkan host dan port pengikatan API sebagai default dan tekan ENTER. API akan berkomunikasi antara node Icinga2 dengan koneksi terenkripsi TLS.

6. Ketik Y untuk menonaktifkan semua konfigurasi di dalam /etc/icinga2/conf.d/ direktori karena Anda akan menggunakan konfigurasi zona Icinga2 yang akan Anda buat nanti.

7. Sekarang, jalankan systemctl perintah di bawah ini untuk memulai ulang layanan icinga2 dan menerapkan konfigurasi.

sudo systemctl restart icinga2

8. Terakhir, jalankan perintah di bawah ini untuk menghasilkan tiket pendaftaran client01 dengan Icinga2.

sudo icinga2 pki ticket --cn 'client01.example.lan'

Salin tiket yang dihasilkan yang akan Anda gunakan untuk mendaftarkan client01 sebagai agen Icinga2 nanti.

Menginisialisasi Agen Icinga2 di Server Klien

Setelah Anda menginisialisasi server master sebagai node master, Anda juga akan menyiapkan agen Icinga2 di klien01 untuk memantau mesin client01 menggunakan Icinga2.

1. Masuk ke client01, dan ikuti langkah-langkah yang Anda lakukan di bagian “Menginisialisasi Server Master Icinga2” (langkah satu hingga tiga) untuk menginisialisasi agen Icinga2.

2. Selanjutnya, tentukan titik akhir induk sebagai master.example.lan , dan masukkan Y untuk membuat koneksi dengan node induk/master.

3. Masukkan alamat IP server master (172.16.1.10 ), dan biarkan port titik akhir sebagai default.

4. Sekarang, ketik N ketika diminta untuk menambahkan lebih banyak titik akhir.

5. Ketik Y untuk mengonfirmasi informasi dan menambahkan sertifikat untuk server master Icinga2.

6. Masukkan tiket yang Anda buat pada langkah terakhir dari bagian “Menginisialisasi Server Master Icinga2” untuk mendaftarkan node agen (client01.example.lan).

7. Tekan ENTER untuk menerima nilai default untuk host dan port pengikatan API.

8. Selanjutnya, masukkan Y dua kali untuk menerima konfigurasi dan perintah dari node induk/master.

9. Tekan ENTER untuk menerima default nama zona lokal, tetapi masukkan nama zona induk, yang harus cocok dengan nama zona (master.example.lan ) di server master.

10. Sekarang, ketik N untuk melewati penambahan zona global, dan ketik Y untuk menonaktifkan konfigurasi pada /etc/icinga2/conf.d direktori.

11. Terakhir, jalankan perintah berikut untuk me-restart layanan Icinga2 dan menerapkan perubahan konfigurasi. sudo systemctl restart icinga2

sudo systemctl restart icinga2

Membuat Konfigurasi Zona di Server master

Dengan dihentikannya pemantauan terdistribusi, Anda akan membuat direktori zona baru dan menentukan konfigurasi pemantauan untuk agen klien.

1. Jalankan mkdir perintah di bawah ini untuk membuat direktori baru sebagai zona default (master.example.lan ) di Icinga2.

sudo mkdir -p /etc/icinga2/zones.d/master.example.lan/

2. Selanjutnya, buat file konfigurasi (client01.example.lan.conf ) di /etc/icinga2/zones.d/master.example.lan/ direktori. Isi file dengan konfigurasi berikut.

Kode di bawah ini mendefinisikan titik akhir, zona, dan objek host untuk memantau server.

// Endpoints
object Endpoint "client01.example.lan" {
}
// Zones
object Zone "client01.example.lan" {
    endpoints = [ "client01.example.lan" ]
    parent = "master.example.lan"
}
// Host Objects
object Host "client01.example.lan" {
    check_command = "hostalive"
    address = "172.16.1.30"
    vars.client_endpoint = name
}

3. Buat file konfigurasi lain, salin/tempel kode di bawah ini ke file, dan simpan sebagai /etc/icinga2/zones.d/master.example.lan/services.conf.

Konfigurasi di bawah ini memantau beberapa layanan dasar pada mesin client01.

 // Ping
 apply Service "Ping" {
 check_command = "ping4"
 assign where host.address // check executed on master
 }
 // System Load
 apply Service "System Load" {
 check_command = "load"
 command_endpoint = host.vars.client_endpoint // Check executed on client01
 assign where host.vars.client_endpoint
 }
 // SSH Service
 apply Service "SSH Service" {
 check_command = "ssh"
 command_endpoint = host.vars.client_endpoint
 assign where host.vars.client_endpoint
 }
 // Icinga 2 Service
 apply Service "Icinga2 Service" {
 check_command = "icinga"
 command_endpoint = host.vars.client_endpoint
 assign where host.vars.client_endpoint
 }

4. Sekarang jalankan icinga2 perintah di bawah ini untuk memverifikasi konfigurasi Icinga2.

sudo icinga2 daemon -C

Jika semuanya berjalan dengan baik, Anda akan melihat output seperti di bawah ini.

5. Terakhir, jalankan perintah di bawah ini untuk memulai ulang layanan Icinga2 dan menerapkan perubahan konfigurasi.

sudo systemctl restart icinga2

Memverifikasi di Dasbor Icinga2

Anda telah mengonfigurasi semua sumber daya, tetapi Anda masih perlu menguji apakah semuanya berfungsi. Anda akan memverifikasi hasil pekerjaan Anda dengan memeriksa dasbor Icinga2.

Kembali ke dasbor Icinga2 dan klik Ringkasan —> Host , seperti yang ditunjukkan di bawah, dan Anda akan melihat bahwa klien01 sedang NAIK .

Sekarang, klik Layanan menu untuk melihat semua layanan yang dipantau dengan tumpukan pemantauan Icinga2 di client01.

Kesimpulan

Tutorial ini bertujuan untuk membantu Anda melalui proses pengaturan tumpukan pemantauan Icinga2 di server Ubuntu. Anda juga telah mempelajari cara menyiapkan Pemantauan Terdistribusi menggunakan agen Icinga2 untuk memantau infrastruktur yang luas.

Sekarang, apa selanjutnya? Mungkin belajar mengatur Direktur Icinga untuk menyederhanakan pemantauan Anda?


Linux
  1. 3 hal berguna yang dapat Anda lakukan dengan alat IP di Linux

  2. Cara Memantau Keamanan Server Linux dengan Osquery

  3. Memantau level mikrofon dengan alat baris perintah di Linux

  1. Pantau server Linux Anda dengan Checkmk

  2. Memantau host Linux dan Windows dengan Glances

  3. Cara Menemukan File di Linux Dengan Perintah Temukan

  1. Cara Menggunakan Perintah sleep Linux dengan Contoh

  2. Cara Menggunakan Perintah who di Linux dengan Contoh

  3. Bagaimana menambahkan Linux dan Windows Host jarak jauh ke Icinga 2 untuk Pemantauan