Icinga 2 adalah sistem pemantauan sumber rangkaian sumber terbuka yang banyak digunakan, dan Icinga Web 2 adalah antara muka web rasmi untuk Icinga 2.
Dalam tutorial ini, saya akan menerangkan cara memasang kedua-duanya pada pelayan Ubuntu 16.04.
Prasyarat
- Contoh pelayan Vultr Ubuntu 16.04 yang baru digunakan.
- Pengguna sudo. Untuk mengetahui lebih lanjut mengenai cara membuat pengguna sudo di Ubuntu, lihat arahan mengenai Debian dalam tutorial Vultr lain .
Langkah 1: Kemas kini sistem
Log masuk dari terminal SSH sebagai pengguna sudo, dan kemudian kemas kini sistem ke status stabil terbaru menggunakan arahan berikut:
sudo apt-get update -y
sudo apt-get upgrade -y
sudo shutdown -r now
Selepas reboot, gunakan pengguna sudo yang sama untuk log masuk.
Langkah 2: Pasang Apache
Pasang Apache menggunakan arahan berikut:
sudo apt-get install apache2 -y
Padamkan halaman sambutan Ubuntu Apache lalai:
sudo rm /var/www/html/index.html
Untuk tujuan keselamatan, anda harus melarang Apache mendedahkan fail dan direktori dalam direktori root web /var/www/htmlkepada pengunjung:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf
Mulakan perkhidmatan Apache dan mulakannya semasa boot:
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
Secara lalai, firewall UFW dilumpuhkan pada instance pelayan Vultr Ubuntu 16.04 yang baru digunakan. Gunakan perintah berikut untuk mengaktifkan firewall UFW dan untuk membenarkan lalu lintas masuk SSH, HTTP, dan HTTPS:
sudo ufw app list
sudo ufw allow OpenSSH
sudo ufw allow in "Apache Full"
sudo ufw enable
Langkah 4: Pasang MariaDB
4.1) Gunakan arahan berikut untuk memasang MariaDB:
sudo apt-get install mariadb-client mariadb-server -y
4.2) Mulakan perkhidmatan MariaDB:
sudo systemctl start mysql.service
sudo systemctl enable mysql.service
4.3) Selamat memasang MariaDB:
sudo /usr/bin/mysql_secure_installation
Semasa proses interaktif, jawab soalan satu persatu seperti di bawah:
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 <your-password>dengan kata laluan root MySQL anda sendiri.
4.4) Ubah suai pengesahan rootpengguna MySQL :
sudo mysql -u root -p
Gunakan kata laluan root MariaDB yang anda tetapkan lebih awal untuk log masuk.
Dalam shell MySQL:
UPDATE mysql.user SET authentication_string=PASSWORD('<your-password>'), plugin='mysql_native_password' WHERE user='root';
FLUSH PRIVILEGES;
EXIT;
Catatan : Ganti <your-password>dengan kata laluan root MySQL anda sendiri.
Langkah 5: Pasang PHP
Pasang PHP 7.0 dan beberapa sambungan untuk Icinga 2 dan Icinga Web 2:
sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-gd php7.0-intl php7.0-xml php7.0-ldap php7.0-mysql php7.0-pgsql php-imagick -y
Pasang versi Komposer semasa:
cd
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Catatan : Perintah di atas mungkin sudah lama tidak berlaku, jadi anda harus selalu mendapatkan versi terbaru dari laman web rasmi Komposer .
Untuk kemudahan, pindahkan skrip Komposer composer.pharke /usr/local/bindan namakan semula composer:
sudo mv ~/composer.phar /usr/local/bin/composer
Pasang zip dan unzip:
sudo apt-get install zip unzip -y
Pasang komponen ZendFramework Db menggunakan Komposer:
composer require zendframework/zend-db
Kemudian anda perlu menyediakan zon waktu yang sesuai untuk mesin anda, yang dapat ditentukan dari laman web rasmi PHP . Contohnya, jika contoh pelayan anda berada di pusat data Vultr Los Angeles, maka nilai zon waktu untuknya adalah America/Los_Angeles.
Buka fail konfigurasi PHP dengan editor vi:
sudo vi /etc/php/7.0/apache2/php.ini
Cari baris:
;date.timezone =
Tukar kepada:
date.timezone = America/Los_Angeles
Simpan dan tutup:
:wq!
Mulakan semula perkhidmatan Apache untuk menerapkan tetapan baru:
sudo systemctl restart apache2.service
Langkah 6: Pasang Icinga 2 dan pemalamnya
Sediakan repo Icinga APT:
cd
wget -O - http://packages.icinga.org/icinga.key | sudo apt-key add -
sudo add-apt-repository 'deb http://packages.icinga.org/ubuntu icinga-xenial main'
sudo apt-get update
Pasang Icinga 2 dan beberapa pemalam menggunakan repo APT Icinga:
sudo apt-get install icinga2 nagios-plugins -y
Untuk mengetahui lebih lanjut mengenai plugin Icinga 2, sila kunjungi laman web Project Plugins Monitoring .
Mulakan perkhidmatan Icinga 2:
sudo systemctl start icinga2.service
sudo systemctl enable icinga2.service
Secara lalai, program Icinga 2 akan membolehkan tiga ciri: pemeriksa, mainlog, dan pemberitahuan. Anda boleh mengesahkan bahawa menggunakan arahan berikut:
sudo icinga2 feature list
Langkah 7: Siapkan modul IDO Icinga 2
7.1) Pasang modul IDO (Icinga Data Output) untuk MySQL
sudo apt-get install icinga2-ido-mysql
Di Configuring icinga2-ido-mysqlwizard, apabila ditanya sama ada anda mahu mengaktifkan ciri ido-mysql Icinga 2, pilih <No>. Kami akan mengaktifkan ciri ini secara manual kemudian.
Apabila ditanya sama ada anda ingin mengkonfigurasi pangkalan data untuk icinga2-ido-mysql, pilih <No>. Sebaliknya, anda boleh membuat pangkalan data secara manual seperti yang dijelaskan dalam langkah 7.2.
7.2) Buat pangkalan data untuk Icinga 2
Log masuk ke shell MySQL sebagai root:
sudo mysql -u root -p
Gunakan kata laluan root MariaDB yang anda tetapkan pada langkah 4 untuk log masuk.
Dalam shell MySQL, buat pangkalan data bernama icingadan pengguna pangkalan data bernama icingadengan kata laluan icinga, dan kemudian berikan hak istimewa pada pangkalan data ini kepada pengguna pangkalan data 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;
7.3) Import skema IDO Icinga 2
sudo mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Apabila diminta, masukkan kata laluan root MariaDB untuk menyelesaikan tugas.
7.4) Aktifkan modul IDO MySQL
sudo vi /etc/icinga2/features-available/ido-mysql.conf
Cari baris berikut:
user = "icinga2",
password = "",
host = "localhost",
database = "icinga2"
Ubahsuai seperti di bawah:
user = "icinga"
password = "icinga"
host = "localhost"
database = "icinga"
Simpan dan tutup:
:wq!
Aktifkan ciri ido-mysql:
sudo icinga2 feature enable ido-mysql
sudo systemctl restart icinga2.service
Langkah 8: Pasang Web Icinga 2
8.1) Sediakan paip arahan luaran
sudo icinga2 feature enable command
sudo systemctl restart icinga2.service
sudo icinga2 feature list
Sebelum anda dapat menghantar arahan ke Icinga 2 menggunakan antara muka web, anda perlu menambahkan www-datapengguna ke icingacmdkumpulan:
sudo groupadd icingacmd
sudo usermod -a -G icingacmd www-data
Gunakan arahan berikut untuk mengesahkan persediaan anda:
id www-data
8.2) Pasang pakej Icinga Web 2
sudo apt-get install icingaweb2 icingaweb2-module-monitoring icingaweb2-module-doc icingacli -y
Arahkan direktori root web Apache ke lokasi yang ditentukan oleh Icinga Web 2:
sudo icingacli setup config webserver apache --document-root /usr/share/icingaweb2/public
sudo systemctl restart apache2.service
8.3) Sediakan pangkalan data Icinga Web 2
sudo mysql -u root -p
CREATE DATABASE icingaweb2;
EXIT;
8.4) Muatkan skema pangkalan data Icinga Web 2
mysql -u root -p icingaweb2 < /usr/share/icingaweb2/etc/schema/mysql.schema.sql
8.5) Hasilkan token persediaan untuk digunakan kemudian di wizard pemasangan web Icinga Web 2
sudo icingacli setup token create
8.6) Mulakan wizard pemasangan Icinga 2 di antara muka web
Arahkan penyemak imbas web anda ke URL berikut:
http://<your-serve-ip>/icingaweb2/setup
8.7) Pada halaman Selamat Datang, masukkan token persediaan yang anda buat lebih awal, dan kemudian klik Nextbutang.
8.8) Pada halaman Modul, pilih satu atau lebih modul yang ingin anda aktifkan (sekurang-kurangnya, Monitoringmodul diperlukan), dan kemudian klik Nextbutang.
8.9) Pada halaman Keperluan, pastikan bahawa setiap item yang diperlukan dipenuhi, dan kemudian klik Nextbutang.
8.10) Pada halaman Pengesahan, anda perlu memilih kaedah pengesahan ketika mengakses Web Icinga 2. Di sini, anda boleh memilih Database, dan kemudian klik Nextbutang.
8.11) Pada halaman Sumber Pangkalan Data, isi semua bidang yang diperlukan seperti di bawah, dan kemudian klik Nextbutang.
- Nama Sumber *: icingaweb_db
- Jenis Pangkalan Data *: MySQL
- Tuan rumah *: localhost
- Nama Pangkalan Data *: icingaweb2
- Nama pengguna *: root
- Kata Laluan *: <MariaDB-root-password>
8.12) Pada halaman Autentikasi Backend, menggunakan nama backend lalai icingaweb2, klik Nextbutang untuk meneruskan.
8.13) Pada halaman Pentadbiran, sediakan akaun pentadbiran Icinga Web 2 pertama (katakanlah itu icingaweb2admin) dan kata laluan (katakanlah itu icingaweb2pass), dan kemudian klik Nextbutang.
8.14) Pada halaman Konfigurasi Aplikasi, anda dapat menyesuaikan pilihan konfigurasi berkaitan aplikasi dan pembalakan agar sesuai dengan keperluan anda. Buat masa ini, anda boleh menggunakan nilai lalai yang disenaraikan di bawah dan klik Nextbutang untuk meneruskan.
- Tunjukkan Stacktraces: Diperiksa
- Jenis Penyimpanan Pilihan Pengguna *: Pangkalan Data
- Jenis Pembalakan *: Syslog
- Tahap Pembalakan *: Ralat
- Awalan Aplikasi *: icingaweb2
8.15) Pada halaman Ulasan, periksa semula konfigurasi anda, dan kemudian klik Nextbutang.
8.16) Pada halaman Selamat Datang Konfigurasi Modul Pemantauan, klik Nextbutang.
8.17) Pada halaman Pemantauan Backend, gunakan nama backend default icingadan jenis backend IDO, dan kemudian klik Nextbutang.
8.18) Pada halaman Pemantauan Sumber IDO, masukkan butiran pangkalan data IDO yang anda siapkan lebih awal, dan kemudian klik Nextbutang.
- Nama Sumber *: icinga_ido
- Jenis Pangkalan Data *: MySQL
- Tuan rumah *: localhost
- Nama Pangkalan Data *: icinga
- Nama pengguna *: icinga
- Kata Laluan *: icinga
8.19) Pada halaman Command Transport, masih gunakan nilai lalai ini yang disenaraikan di bawah. Klik Nextbutang untuk meneruskan.
- Nama Pengangkutan *: icinga2
- Jenis Pengangkutan *: Fail Perintah Tempatan
- Fail Perintah *: /var/run/icinga2/cmd/icinga2.cmd
8.20) Pada halaman Pemantauan Keselamatan, masih gunakan nilai lalai:
- Pemboleh ubah Tersuai Terlindung: * pw *, * pass *, komuniti
Klik Nextbutang untuk pergi ke halaman seterusnya.
8.21) Pada halaman tinjauan, periksa semula konfigurasi anda, dan kemudian klik Finishbutang.
8.22) Tahniah! halaman, klik Login to Icinga Web 2butang untuk melompat ke halaman log masuk Icinga Web 2. Gunakan akaun pentadbiran dan kata laluan Icinga Web 2 yang anda tetapkan lebih awal untuk log masuk. Jangan ragu untuk meneroka papan pemuka Icinga Web 2.
Itu mengakhiri tutorial kami. Terima kasih kerana membaca.