Cara Instalasi Icinga 2 dan Icinga Web 2 pada Centos 7

-

Icinga 2 adalah monitoring tools open source yang dapat digunakan untuk memantau beberapa server dari satu sistem monitor. Icinga2 akan memeriksa ketersediaan sumber daya seperti jaringan, pembaruan sistem, dan service di masing-masing server yang dimonitor.

A. Instalasi

1. Perbaharui Sistem

Sebelum memulai instalasi, kami merekomendasikan untuk mengupdate system dengan versi terbaru terlebih dahulu.

# sudo yum install epel-release -y
# sudo yum update -y
# sudo shutdown -r now


2. Instal Apache

# sudo yum install httpd –y

Nonaktifkan halaman selamat datang pada Apache yang telah ditetapkan sebelumnya:

# sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

Larang Apache mengekspos file dan direktori didalam direktori root web /var/www/html kepada pengunjung:

# sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Jalankan Apache:

# sudo systemctl start httpd.service

# sudo systemctl enable httpd.service


3. Instal MariaDB

Gunakan command berikut untuk install MariaDB :

# sudo yum install mariadb mariadb-server -y

Jalankan MariaDB:

# sudo systemctl start mysql.service
# sudo systemctl enable mysql.service

Amankan instalasi MariaDB:

# sudo /usr/bin/mysql_secure_installation

Selama proses interaktif, jawab pertanyaan satu per satu seperti di bawah ini:

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>

Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y

Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y

Reload privilege tables now? [Y/n]: Y

Catatan: Ganti kata sandi Anda dengan kata sandi root MySQL Anda sendiri.


Ubah plugin otentikasi pengguna root MySQL:

# sudo mysql -u root -p

Gunakan kata sandi root MariaDB yang Anda atur sebelumnya untuk masuk.

In the MySQL shell:

UPDATE mysql.user SET authentication_string=PASSWORD('<password-anda>'), plugin='mysql_native_password' WHERE user='root';
FLUSH PRIVILEGES;
EXIT;

Catatan: Ganti kata sandi Anda dengan kata sandi root MySQL Anda sendiri.


4. Install PHP

Install PHP 7.0 dan beberapa ekstensi untuk Icinga 2 dan Icinga Web 2:

# yum -y install rh-php71-php-json rh-php71-php-pgsql rh-php71-php-xml rh-php71-php-intl rh-php71-php-common rh-php71-php-pdo rh-php71-php-mysqlnd rh-php71-php-cli rh-php71-php-mbstring rh-php71-php-fpm rh-php71-php-gd rh-php71-php-zip rh-php71-php-ldap rh-php71-php-imagick

Maka Anda perlu mengatur zona waktu yang tepat untuk server Anda, yang dapat ditentukan dari situs web resmi PHP. Pada contoh server saya, nilai zona waktu adalah "Asia / Jakarta".

Temukan baris:

;date.timezone =

Ganti menjadi:

date.timezone = Asia/Jakarta

Restart layanan Apache untuk menerapkan pengaturan baru:

# sudo systemctl restart httpd.service


5. Instal Icinga 2 dan pluginnya

Pada CentOS 7, Anda dapat menginstal Icinga 2 dan plugin-nya menggunakan icinga YUM repo:

# rpm --import https://packages.icinga.com/icinga.key
# yum install https://packages.icinga.com/epel/icinga-rpm-release-7-latest.noarch.rpm

Install Icinga 2 dan beberapa plugin menggunakan repo APT Icinga:

# yum -y install icingaweb2 icingacli httpd

Aktifkan layanan Apache untuk memulai secara otomatis pada startup sistem.

# systemctl enable httpd

Selinux

Jika Anda menjalankan Icinga Web 2 dengan SELinux diaktifkan, maka pertimbangkan untuk menginstal paket di bawah ini untuk menetapkan kebijakan untuk Icinga Web 2.

# yum -y install icingaweb2-selinux

Firewall

Jalankan perintah di bawah ini jika Anda menunggunkan firewall di dalam server untuk memungkinkan lalu lintas HTTP mengakses Icinga Web 2 dari server eksternal.

# firewall-cmd --permanent --add-service=http
# firewall-cmd –reload

6. Atur modul Icinga 2 IDO

Instal IDO (Icinga Data Output) modul untuk MySQL

# sudo yum install icinga2-ido-mysql -y

Konfigurasi icinga2-ido-mysql, ketika ditanya apakah Anda ingin mengaktifkan fitur ido-mysql Icinga 2, pilih <Tidak>. Kami akan mengaktifkan fitur ini secara manual nanti.

Ketika ditanya apakah Anda ingin mengkonfigurasi database untuk icinga2-ido-mysql, pilih <Tidak>. Sebagai gantinya, Anda dapat secara manual membuat database seperti yang dijelaskan pada langkah di bawah ini.

Buat database untuk Icinga 2

Masuk ke dalam shell MySQL sebagai root:

# sudo mysql -u root -p

Di shell MySQL, buat database bernama icinga dan pengguna database bernama icinga dengan kata sandi icinga, dan kemudian berikan hak istimewa pada database ini kepada pengguna database ini.

CREATE DATABASE icinga;
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga';
FLUSH PRIVILEGES;

EXIT;

Import skema IDO Icinga 2

# sudo mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql

Saat diminta, masukkan kata sandi root MariaDB.

Aktifkan IDO MySQL modul

# sudo nano /etc/icinga2/features-available/ido-mysql.conf

Cari baris berikut:

//user = "icinga",
//password = "",
//host = "localhost",

//database = "icinga"

Hilangkan comment menjadi seperti berikut:

user = "icinga"
password = "icinga"
host = "localhost"

database = "icinga"

Aktifkan fitur ido-mysql:

# sudo icinga2 feature enable ido-mysql
# sudo systemctl restart icinga2.service


7. Instal Icinga Web 2

Icinga CLI digunakan untuk melakukan tugas-tugas administrasi di baris perintah. Baik Icinga Web 2 dan CLI harus memiliki akses ke log dan konfigurasi. Tambahkan pengguna server web (apache ke grup sistem (icingaweb2)

# groupadd -r icingaweb2
# usermod -a -G icingaweb2 apache

Buat direktori konfigurasi Icinga Web 2.

# icingacli setup config directory --group icingaweb2

Restart service Apache dan PHP-FPM.

# systemctl restart httpd
# systemctl restart rh-php71-php-fpm

Buat token pengaturan untuk digunakan nanti di wizard instalasi web Icinga Web 2

# sudo icingacli setup token create

Token pengaturan yang baru dibuat adalah: ……………………..

Mulai wizard penginstalan Icinga 2 di antarmuka web

Arahkan browser web Anda ke URL berikut:

http://<your-serve-ip>/icingaweb2/setup

Salin dan tempel token yang dihasilkan pada halaman pengaturan dan klik Next.



Di layar berikutnya, Anda dapat memilih untuk mengaktifkan modul yang dipasang selama instalasi Icinga 2. Klik Selanjutnya



Halaman berikut menunjukkan informasi tentang ekstensi sistem, zona waktu, dan PHP.



Anda mungkin mendapatkan pesan peringatan jika ada ekstensi PHP Image Magic yang hilang di RHEL 7/Centos 7.

# yum -y install http://mirror.centos.org/centos/7/sclo/x86_64/sclo/sclo-php71/sclo-php71-php-pecl-imagick-3.4.3-2.el7.x86_64.rpm
# systemctl restart httpd
# systemctl restart rh-php71-php-fpm

Jika ada peringatan atau kesalahan untuk ekstensi PHP lainnya, maka instal ekstensi yang diperlukan dan kemudian klik tombol Refresh. Jika tidak, klik Berikutnya.

Di halaman berikutnya, Anda perlu memberi tahu bagaimana Anda ingin mengautentikasi ketika mengakses Icinga Web 2. Icinga Web 2 mendukung Active Directory, LDAP, dan Local sebagai mekanisme otentikasi.

Disini, kami akan membuat akun pengguna Icinga Web 2 lokal. Jadi, pilih jenis otentikasi sebagai Database dan klik Next.



Masuk ke dalam MySQL server.

# mysql -u root -p

Buat database untuk Icinga Web 2 untuk menyimpan informasi otentikasi.

CREATE DATABASE icingawebdb;
grant all privileges on icingawebdb.* to icingaweb@localhost identified by 'icinga123';
quit

Masukkan detail database di jendela berikut dan klik Next.



Atur nama backend otentikasi dan kemudian klik Next.



Masukkan detail akun admin di layar berikutnya. Catat informasi akun ini karena Anda memerlukan ini untuk mengakses Icinga Web 2 nanti.



Pilih tempat untuk menyimpan aplikasi dan konfigurasi terkait logging. Klik Selanjutnya.



Tinjau pengaturan Anda di layar berikutnya.



Klik Selanjutnya.

Klik Berikutnya pada konfigurasi modul pemantauan untuk Icinga Web 2.



Konfigurasikan ujung belakang pemantauan yang memberi tahu cara Icinga Web 2 mengambil informasi pemantauan. Disini kami menggunakan IDO.



Masukkan detail basis data IDO pada layar berikut ini dan kemudian klik Berikutnya.



8. Icinga 2 API

Jalankan command berikut untuk setup Icinga 2 API.

#icinga2 api setup

Keluaran:

Dapatkan detail pengguna API dari file /etc/icinga2/conf.d/api-users.conf.



Restart Icinga2.

# systemctl restart icinga2

Gunakan nama pengguna dan kata sandi di atas pada halaman transport perintah di bawah ini.




Halaman berikut memberi tahu Anda bahwa Icinga Web 2 telah berhasil disiapkan.

Klik Login untuk Icinga Web 2.



Anda harus mendapatkan dashboard Icinga Web 2. Di sini tempat Icinga Web melaporkan masalah.