Icinga 2 adalah aplikasi monitoring open-source, salah satu dari banyak aplikasi monitoring diluar sana. Icinga bisa digunakan untuk monitoring Linux dan Windows, dengan bantuan berbagai plugin Icinga bisa mengirim notifikasi ke email, Slack, Mattermost, Telegram ataupun WhatsApp.
Karena akan digunakan sebagai monitoring, sebaiknya di install di satu server yang khusus, dan bukan bersamaan dengan web/service yang akan dimonitoring. Hal ini sangat penting untuk meminimalisir kesalahan seperti server monitoring dan server yang dimonitoring sama-sama down dan memastikan server yang dimonitoring bisa diakses dari luar.
1. Install dependency
Install dependency untuk kelancaran instalasi
apt install curl wget gnupg apt-transport-https -y
2. Tambahkan repository backports
1. Tambahkan repository backports dan icinga di Debian 10
echo "deb http://deb.debian.org/debian buster-backports main" > /etc/apt/sources.list.d/backports.list echo "deb [signed-by=/usr/share/keyrings/icinga-archive-keyring.gpg] http://packages.icinga.com/debian icinga-buster main" > /etc/apt/sources.list.d/icinga.list
2. Install GPG Key
curl https://packages.icinga.com/icinga.key | gpg --dearmor -o /usr/share/keyrings/icinga-archive-keyring.gpg
3. Update metadata apt
Update metadata terbaru dari semua repository yang sudah di konfigurasi
apt update
3. Install Icinga 2
Install paket icinga versi terbaru yang tersedia di repository Debian, saat ini versi 2.9.3
apt install icinga2 -y
4. Install Database Server
Untuk menjalankan Icinga Web UI diperlukan database, kita gunakan MariaDb sebagai database server
apt install mariadb-server mariadb-client -y
jalankan mysql
dari terminal, lalu buat user dan database untuk Icinga Web
CREATE DATABASE icingaweb2; GRANT ALL PRIVILEGES ON icingaweb2.* TO "icingaweb2"@"localhost" IDENTIFIED BY "xagyTWM3eVfpXuhRfhFY";
5. Install IDO MySQL
Install ido icinga langsung dengan apt
apt install icinga2-ido-mysql -y
saat muncul pemberitahuan “Enable Icinga 2’s ido-mysql feature”
pilih Yes
dan tekan ENTER di keyboard
Pertanyaan selanjutnya:
– Configure database for icinga2-ido-mysql with dbconfig-common? Yes
– MySQL application password for icinga2-ido-mysql [Enter]
database untuk icinga akan otomatis dibuat oleh system, konfigurasinya bisa dilihat di /etc/dbconfig-common/icinga2-ido-mysql.conf
aktifkan module ido di Icinga
icinga2 feature enable ido-mysql
restart icinga
systemctl restart icinga2
6. Install Web Server
Untuk memudahkan mengelola icinga, kita akan menginstall apache web server, sebagai web server untuk Icinga Web UI
apt install apache2 -y
default instalasi apache2 di Debian, sudah menyertakan semua dependency yang kita butuhkan.
7. Setup Icinga REST API
Beberapa hal yang akan dijalankan disini adalah, setting CA Certificatedan mengaktifkan fitur API
icinga2 api setup
REST api ini berguna untuk semua proses yang dipanggi oleh web Icinga
Buka file /etc/icinga2/conf.d/api-users.conf tambahkan dibaris paling bawah
object ApiUser "icingaweb2" { password = "VLEK3WRrdcxUxjJUhXUh" permissions = [ "status/query", "actions/*", "objects/modify/*", "objects/query/*" ] }
Restart service icinga untuk mengaplikasikan semua perubaha
systemctl restart icinga2
7. Install Icinga Web UI
Install icinga web ui dari repository Debian dengan apt
apt install icingaweb2 icingacli -y
1. Generate Setup Token
Sebelum menginstall Web UI lebih lanjut, pertama generate token untuk proses install, dari terminal jalankan
icingacli setup token create
# contoh output
The newly generated setup token is: 6340f36d3b79338d
2. Install dari browser
Sekarang buka browser IPSERVER/icingaweb2/setup
masukkan Setup Token
lalu klik Next
2.1 Modules
Dibagian wizard Modules, tidak perlu melakukan perubaha cukup klik Next
2.2 Requirements
Sama seperti Modules, tidak perlu merubah apapun disini, scroll kebawah lalu klik Next
2.3 Database
Authentication pilih Database, informasi yang diminta masukkan sesuai dengan username/database pada tahap instalasi MariaDB
Database Type : MySQL Host: localhost Database Name: icingaweb2 Username : icingaweb2 Password : xagyTWM3eVfpXuhRfhFY
klik Validate Configuration, lalu klik Next
2.4 Administration
Sampai pada tahap pembuatan user admin, saya membuat user jaranguda dengan password keongkeong
klik beberapa kali Next sampai di Monitoring IDO Resourse
2.5 Monitoring IDO Resourse
Ambil username, password dan database dari /etc/dbconfig-common/icinga2-ido-mysql.conf
klik Next
2.6 Command Transport
Berikut ini conton konfigurasi
Transport Name : icinga2 Transport Type : Icinga 2 API Host : IP SERVER/ DOMAIN Port : 5665 API Username : icingaweb2 API Password : VLEK3WRrdcxUxjJUhXUh
API username dan password diambil dari /etc/icinga2/conf.d/api-users.conf
klik Validate Configuration
dan klik Next
selanjutnya klik Next
dan Finish
8. Login Ke Icinga Web
Buka domain/ip/icingaweb2
masukkan username dan password admin