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/html
kepada 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 root
pengguna 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.phar
ke /usr/local/bin
dan 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-mysql
wizard, 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 icinga
dan pengguna pangkalan data bernama icinga
dengan 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-data
pengguna ke icingacmd
kumpulan:
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 Next
butang.
8.8) Pada halaman Modul, pilih satu atau lebih modul yang ingin anda aktifkan (sekurang-kurangnya, Monitoring
modul diperlukan), dan kemudian klik Next
butang.
8.9) Pada halaman Keperluan, pastikan bahawa setiap item yang diperlukan dipenuhi, dan kemudian klik Next
butang.
8.10) Pada halaman Pengesahan, anda perlu memilih kaedah pengesahan ketika mengakses Web Icinga 2. Di sini, anda boleh memilih Database
, dan kemudian klik Next
butang.
8.11) Pada halaman Sumber Pangkalan Data, isi semua bidang yang diperlukan seperti di bawah, dan kemudian klik Next
butang.
- 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 Next
butang 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 Next
butang.
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 Next
butang 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 Next
butang.
8.16) Pada halaman Selamat Datang Konfigurasi Modul Pemantauan, klik Next
butang.
8.17) Pada halaman Pemantauan Backend, gunakan nama backend default icinga
dan jenis backend IDO
, dan kemudian klik Next
butang.
8.18) Pada halaman Pemantauan Sumber IDO, masukkan butiran pangkalan data IDO yang anda siapkan lebih awal, dan kemudian klik Next
butang.
- 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 Next
butang 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 Next
butang untuk pergi ke halaman seterusnya.
8.21) Pada halaman tinjauan, periksa semula konfigurasi anda, dan kemudian klik Finish
butang.
8.22) Tahniah! halaman, klik Login to Icinga Web 2
butang 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.