Menginstal Icinga Server 2 dengan Antarmuka Web 2 di server Debian 9.3

Icinga 2 adalah sistem pemantauan sumber terbuka yang sangat skalabel dan dapat diperluas. Itu dapat memantau lingkungan yang besar dan kompleks di berbagai lokasi. Ini memeriksa ketersediaan sumber daya jaringan Anda, memberi tahu pengguna tentang pemadaman, dan menghasilkan data kinerja untuk pelaporan. Ini adalah aplikasi pemantauan jaringan yang dapat dikonfigurasi melalui web dan fungsinya terutama didasarkan pada bahasa pemrograman sisi server PHP.
Pada dasarnya, ia memonitor status protokol jaringan seperti HTTP, FTP, SMTP, IMAP atau layanan jaringan lainnya, sumber daya host, sensor fisik, instalasi perangkat lunak, beban CPU, memori, ruang disk, dan hampir semua perangkat jaringan yang terhubung melalui ICMP. atau permintaan ping Selain itu, dapat dengan mudah dikonfigurasi untuk memberi tahu administrator sistem atau jaringan melalui surat, SMS, obrolan, atau jenis peringatan lainnya tentang jaringan, sistem, layanan, atau pemadaman jaringan terkait lainnya, serta Dapat menghasilkan grafik tentang jaringan kegagalan atau kinerja.
Pada artikel ini, saya akan menjelaskan cara menginstal server Icinga2 dengan antarmuka Web 2 di server Debian 9.3 terbaru. Mari kita lihat petunjuk langkah demi langkah tentang cara membangun sistem pengawasan Anda sendiri.
prasyarat
Sebelum melanjutkan dengan instalasi, kita perlu memastikan bahwa sistem kita memenuhi semua persyaratan perangkat lunak untuk mengkompilasi dan menginstal program. Pada langkah pertama, perbarui repositori sistem dan paket perangkat lunak Anda dengan perintah berikut.
# apt update
# apt upgrade
# apt install bash-completion
Kemudian atur nama host untuk server Anda dengan menjalankan perintah berikut. saya tambahkan icinga2
Atas nama tuan rumah saya
# hostnamectl set-hostname icinga2
# hostnamectl
Static hostname: icinga2
Icon name: computer-vm
Chassis: vm
Machine ID: 7f2b1120403449a3b27d2f40de770be2
Boot ID: 321481f419e94e6cb377ae804d9bab42
Virtualization: kvm
Operating System: Debian GNU/Linux 9 (stretch)
Kernel: Linux 4.9.0-4-amd64
Architecture: x86-64
# cat /etc/hostname
icinga2
Terakhir, kita perlu me-restart server Debian kita untuk menerapkan pembaruan kernel dan mengubah nama host dengan benar.
Instal tumpukan LAMP
Seperti disebutkan sebelumnya, Icinga 2 adalah aplikasi pemantauan jaringan yang ditulis dalam C++ dan Icinga Web 2 adalah kerangka kerja PHP yang kuat untuk aplikasi web yang hadir dengan desain yang bersih dan sederhana. Untuk menjalankan skrip filenya, server web, seperti server HTTP Apache, dan gateway pemrosesan PHP harus diinstal dan beroperasi di server. Saya telah menginstal server web Apache, MySQL dan semua modul PHP yang diperlukan oleh Icinga dengan perintah berikut:
# apt install apache2 libapache2-mod-php7.0 php7.0-xml php7.0-opcache php7.0-xml php7.0-mbstring php7.0-json php7.0-curl php7.0-ldap php7.0-cli php7.0-gd php7.0-intl php7.0-readline php7.0-pgsql
# apt install mariadb-server mariadb-client php7.0-mysql
Mulai/aktifkan layanan Apache/MySQL.
# systemctl enable apache2 mariadb
# systemctl start apache2 mariadb
# systemctl status apache2 mariadb
Setelah menginstal Apache, MySQL dan PHP, Anda dapat menguji server web naik dan turun dengan menelusuri IP server atau Anda bahkan dapat memverifikasi dengan menguji koneksi jaringan mendengarkan pada port yang relevan atau menggunakan layanan menggunakan perintah netstat dari konsol. . dengan hak akses root sebagai berikut:
# netstat -plan | grep :80
tcp6 0 0 :::80 :::* LISTEN 19097/apache2
tcp6 0 0 127.0.0.1:80 127.0.0.1:40780 TIME_WAIT -
# netstat -plan | grep mysql
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 14240/mysqld
unix 2 [ ACC ] STREAM LISTENING 52783 14240/mysqld /var/run/mysqld/mysqld.sock
Membuat database MySQL untuk Icinga2
Pertama, kita perlu masuk ke konsol MySQL dan menjalankan perintah berikut untuk mengamankan database MariaDB dan mengatur kata sandi root:
# mysql_secure_installation
Sekarang kita dapat membuat dua database untuk digunakan oleh aplikasi Icinga2 dan pengguna dengan kata sandi untuk mengelola database ini. Saya telah membuat database icingadb dan icinga_users dan memberikan hak istimewa kepada pengguna icinga_user dengan kata sandi untuk mengakses berikut ini:
~# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database icingadb;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on icingadb.* to 'icinga_user'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> create database icinga_users;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on icinga_users.* to 'icinga_user'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.01 sec)
Basis Data icingadb
Dibuat untuk aplikasi web dan database icinga2 icinga_users
Dibuat untuk menyimpan pengguna antarmuka web Icinga2, grup, dan data antarmuka web khusus lainnya.
Instal Icinga2
Setelah menyelesaikan instalasi semua sistem yang diperlukan, kita dapat menginstal aplikasi Icinga2 di sebelah modul MySQL IDO. Kami menggunakan MySQL sebagai database eksternal. Oleh karena itu, kita perlu menginstal modul MySQL IDO yang digunakan untuk antarmuka web Icinga2. Digunakan untuk mengekspor semua konfigurasi dan informasi status ke database Anda. Icinga 2 telah mengkompilasi paket biner yang disediakan oleh repositori Debian 9.3. Oleh karena itu, instalasi dapat dilakukan melalui manajer paket apt mereka sebagai berikut:
# apt install icinga2 icinga2-ido-mysql
Selama instalasi, serangkaian petunjuk akan muncul di layar Anda. Pertama-tama Anda akan ditanya apakah Anda ingin mengkonfigurasi dan mengaktifkan Icinga 2 untuk menggunakan modul MySQL. Pilih Yes
Dari notifikasi dan ketuk [enter]
Tekan tombol Lanjutkan seperti yang ditunjukkan pada gambar di bawah ini.

Pada prompt berikutnya, Anda akan ditanya apakah Anda ingin mengkonfigurasi database untuk icinga2-ido-mysql dengan opsi dbconfig-common. Pilih No
Dari notifikasi dan tekan [enter]
Kunci untuk menyelesaikan instalasi Icinga 2.

Setelah mengaktifkan modul ini dan membuat database kita, kita perlu me-restart layanan Icinga2 kita.
# systemctl start icinga2.service
# systemctl status icinga2.service
Harap pastikan bahwa file konfigurasi MySQL IDO diatur dengan benar dengan kredensial DB yang benar.
# cat /etc/icinga2/features-enabled/ido-mysql.conf
/**
* The db_ido_mysql library implements IDO functionality
* for MySQL.
*/
library "db_ido_mysql"
object IdoMysqlConnection "ido-mysql" {
user = "icinga_user",
password = "password",
host = "localhost",
database = "icingadb"
}
Aktifkan daftar fitur
Secara default, Icinga2 mengaktifkan fitur berikut. Dengan menjalankan perintah ini, kita dapat mengaktifkan fitur tambahan apa pun dalam daftar icinga2 feature enable <feature name>
. Kami dapat mengonfirmasi pengaturan yang diaktifkan dengan menjalankan perintah berikut:
~# icinga2 feature list
Disabled features: api command compatlog debuglog gelf graphite influxdb livestatus opentsdb perfdata statusdata syslog
Enabled features: checker ido-mysql mainlog notification
The following features are enabled by default:
Checker: This feature enables the execution of checks.
Mainlog: This feature enables the logging.
Notification: This feature enables notification mechanism.
IDO-mysql: Provides IDO module for the database.
Instal plugin Icinga Web2
Langkah kita selanjutnya adalah menginstal antarmuka web Icinga 2 dan paket aplikasi baris perintah dari repositori Debian 9.3 menggunakan manajer paketnya.
#apt install icingaweb2 icingacli
Setelah instalasi, Anda dapat memulai ulang instans Icinga 2 untuk mengambil semua perubahan dan memverifikasi status aplikasi sebelum melanjutkan ke bagian konfigurasi.
# systemctl restart icinga2.service
# systemctl status icinga2.service
# systemctl restart apache2
Sekarang instal skema MySQL untuk database Icinga dengan menjalankan perintah berikut. Skema database MySQL terletak di direktori /usr/share/icinga2-ido-mysql/schema/.
mysql -u root icingadb -p < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Terakhir, kita dapat membuat token instalasi untuk menyelesaikan instalasi plugin Icinga web 2 melalui antarmuka web.
# icingacli setup token create
The newly generated setup token is: c25b22acfc9f9094
# icingacli setup token show
The current setup token is: c25b22acfc9f9094
Mengonfigurasi plugin Icinga Web 2
Setelah token dibuat, kita dapat mengkonfigurasi plugin Icinga Web 2 dengan membuka URL ini. http://IP//icingaweb2/setup
Di browser Anda, Anda dapat menggulir tangkapan layar ini untuk mendapatkan kejelasan lebih lanjut tentangnya.
Langkah 1: Luncurkan Token

Sebagai langkah pertama, Anda akan diminta untuk memberikan token yang dihasilkan sebelum memulai tahap instalasi. Jika Anda belum membuat token, Anda dapat mengikuti petunjuk pada gambar di atas untuk membuat token dan melanjutkan ke langkah berikutnya.
Langkah 2: Pilih modul Icinga Web2
Setelah memberikan token, itu akan dipindahkan ke bagian berikutnya untuk memilih modul. Kita dapat memilih modul yang disukai untuk melanjutkan ke langkah berikutnya.

Langkah 3: Verifikasi pengaturan PHP
Untuk melanjutkan, kita perlu menginstal modul PHP yang hilang dan mengatur zona waktu yang sesuai. Saya telah menginstal modul PHP yang hilang menggunakan perintah ini "apt install php7.0-pgsql"
dan restart Apache agar perubahan ini diterapkan. Selain itu, Anda dapat mengatur zona waktu yang tepat di file konfigurasi PHP /etc/php/7.0/apache2/php.ini
. Setelah melakukan pengaturan yang diperlukan, Anda dapat melanjutkan ke langkah berikutnya.

Langkah 5: Metode otentikasi
Untuk melanjutkan instalasi, kita harus memilih alat otentikasi yang disukai. Seperti yang saya bahas sebelumnya, saya lebih suka memilih tipe database untuk ini.

Langkah 6: Masukkan detail basis data
Pada langkah ini, tambahkan nama database Icinga 2 Web MySQL dan kredensial akses database ini. Basis data ini akan digunakan untuk menyimpan pengguna dan grup antarmuka web Icinga 2. Gunakan informasi database untuk database kedua yang sudah dibuat. Tambahkan icingaweb_db sebagai nama untuk resource ini dan biarkan variabel Host, Port dan Character set sebagai default. Jangan centang opsi Persistent dan SSL. Seperti yang ditunjukkan pada gambar di bawah, klik tombol Validasi Konfigurasi untuk mengonfirmasi koneksi database. Setelah selesai, tekan tombol Next untuk melanjutkan ke bagian installer berikutnya.


Langkah 7: Buat login admin web Icinga
Setelah berhasil mengautentikasi sumber daya basis data kami, kami perlu membuat akun Administratif untuk mengelola antarmuka web Icinga2. Pilih kata sandi yang kuat untuk akun ini. Setelah selesai, tekan tombol Next untuk pergi ke halaman instalasi berikutnya.

Langkah 8: Pilih opsi konfigurasi program
Selanjutnya, kita perlu mengkonfigurasi aplikasi Icinga dan login dengan pengaturan berikut persis seperti yang ditunjukkan pada gambar.
- Periksa Tampilkan Stacktraces
- jenis penyimpanan = basis data
- Jenis rekaman = file
- Tingkat pendaftaran = kesalahan
- Jalur file = /var/log/icingaweb2/icingaweb2.log
Kita perlu membuat file log ini dari backend server dan mengatur izin/kepemilikan yang sesuai untuk memastikan bahwa log Icinga Web 2 berfungsi dengan baik.

Langkah 9: Periksa semua pengaturan yang dipilih.
Halaman ini memberitahu Anda bahwa Icinga Web2 telah berhasil dikonfigurasi dan menunjukkan laporan rinci dari semua pengaturan yang dibuat. Tinjau laporan dan klik tombol Berikutnya untuk melanjutkan ke bagian instalasi berikutnya.

Langkah 10: Konfigurasikan modul pemantauan
Sekarang kita telah menyelesaikan bagian otentikasi dan mengikuti konfigurasi modul pemantauan.

Seperti yang telah kita bahas sebelumnya, modul Icinga IDO mengekspor semua informasi status dan bidang konfigurasi ke database Icinga utama. Oleh karena itu, kita perlu memilih modul ini dan mengkonfigurasinya dengan benar untuk memperbarui database dengan informasi.

Di sini kita perlu memberikan informasi database utama untuk melanjutkan. Isi detail database di sini. Pastikan Anda mengatur hak istimewa yang sesuai untuk pengguna database untuk setiap perubahan.

Konfigurasikan Icinga Command Transport dengan pengaturan berikut dan klik Next untuk melanjutkan.
- nama transportasi = icinga2
- jenis transfer = file perintah lokal
- file perintah = /var/run/icinga2/cmd/icinga2.cmd

Kami tidak perlu mengubah langkah keamanan ini. Kami hanya dapat melanjutkan pengaturan default dengan mengklik 'Next".

Langkah 11: Memeriksa opsi konfigurasi modul pemantauan
Langkah ini akan membiasakan Anda dengan semua konfigurasi modul pemantauan yang telah Anda pilih. Anda hanya dapat mengkonfirmasi pengaturan dan melanjutkan untuk menyelesaikan pengaturan.

Langkah terakhir: Masuk ke antarmuka web
Setelah proses instalasi berhasil diselesaikan, pesan ucapan selamat akan menginformasikan bahwa Icinga Web 2 telah berhasil diinstal. Ketuk Login link
Untuk mengarahkan ulang ke halaman login Icinga2.

Masuk ke Icinga Web 2 dengan profil yang dikonfigurasi selama proses instalasi dan Anda akan diarahkan ke dasbor Icinga Web 2.

Node utama kami ditambahkan ke sistem ini secara default. Kita bisa melihat notifikasi layanan server Icinga utama di sini. Atau Anda bisa menelusuri URL ini http://IP/icingaweb2/
Untuk mengakses antarmuka web

Kami dapat menambahkan sejumlah node ke sistem pemantauan ini.
Penutupan
Kami telah berhasil menginstal dan mengonfigurasi aplikasi pemantauan jaringan Icinga 2 di server Debian 9.3. Untuk detail lebih lanjut tentang konfigurasi khusus, Anda dapat merujuk ke dokumentasi Icinga ini. Saya harap artikel ini bermanfaat untuk Anda. Silakan kirim komentar dan saran Anda yang berharga tentang ini.