Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Icinga2 adalah sistem pemantauan yang kuat, dan ketika digunakan dalam model klien utama, ia dapat menggantikan kebutuhan untuk pemeriksaan pemantauan berdasarkan NRPE. Model master-client lebih selamat kerana pelbagai sebab . Ini juga memungkinkan pemantauan yang lebih diedarkan dengan membenarkan pemeriksaan diubah pada satu pelayan dan menyebarkannya ke yang lain. Ia juga memberikan satu lokasi terpusat untuk perubahan.
Contohnya: Katakan anda mempunyai 4 pelayan web seimbang yang berbeza. Sekiranya anda tahu bahawa anda akan mengalami lonjakan beban (mungkin penjualan atau sesuatu yang anda jangkakan banyak aktiviti), anda mungkin ingin meningkatkan tahap penggunaan CPU yang tinggi memberi amaran kepada pentadbir sistem. Sekiranya anda menggunakan pemeriksaan NRPE, anda perlu pergi ke setiap pelayan dan mengubah /etc/nrpe.d/common_commands.cfg
dokumen pada setiap pelayan tersebut . Dalam model master-client, anda boleh mengubah definisi host mereka dalam /etc/icinga2/repository.d/hosts/
folder, kemudian memuatkan semula Icinga. Pemeriksaan akan disebarkan ke setiap pelayan dan akan diambil secara automatik. Anda juga dapat menambahkan cek dengan mudah dengan memodifikasi /etc/icinga2/repository.d/services/
fail, dan mereka akan secara automatik menyebarkan dan dikenali, selagi pemalam ada di pelayan pelanggan.
icinga2master.example.com
.icinga2client.example.com
.Sebilangan panduan ini akan menunjukkan arahan pemasangan yang disenaraikan di atas, tetapi ini mesti dilakukan pada mesin pelanggan dan bukan mesin pelayan.
Tambahkan repo "ICINGA" ke sistem pelanggan untuk memasang pakej Icinga.
sudo cat > /etc/yum.repos.d/ICINGA-release.repo << 'EOF'
[icinga-stable-release]
name=ICINGA (stable release for epel)
baseurl=http://packages.icinga.org/epel/$releasever/release/
enabled=1
gpgcheck=1
gpgkey=http://packages.icinga.org/icinga.key
EOF
Pasang pakej yang diperlukan.
# CentOS 6
sudo yum -y install icinga2 mysql-server mysql icinga2-ido-mysql nagios-plugins-disk nagios-plugins-load nagios-plugins-procs nagios-plugins-ssh nagios-plugins-users nagios-plugins-swap nagios-plugins-ping icingacli
# CentOS 7
sudo yum -y install icinga2 mariadb-server mysql icinga2-ido-mysql nagios-plugins-disk nagios-plugins-load nagios-plugins-procs nagios-plugins-ssh nagios-plugins-users nagios-plugins-swap nagios-plugins-ping icingacli
CentOS 7 menggunakan MariaDB dan bukannya MySQL, jadi pakej yang diperlukan sedikit berbeza. Mulakan perkhidmatan, dan tetapkannya untuk memulakan boot.
sudo chkconfig icinga2 on
sudo service icinga2 start
Tetapkan perkhidmatan MySQL untuk memulakan boot dan mulakan sekarang supaya kita dapat mengamankannya.
# CentOS 6
sudo chkconfig mysqld on
sudo service mysqld start
#CentOS 7
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
Selamat pemasangan MySQL / MariaDB. Kedua-dua CentOS 6 dan 7 menggunakan arahan yang sama.
sudo mysql_secure_installation
Semasa proses, jawab soalan seperti yang ditunjukkan:
Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: $newRootPassword
Re-enter new password: $newRootPassword
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
Perhatikan bahawa $newRootPassword
anda memerlukannya beberapa kali, dan menyakitkan untuk menetapkan semula.
Anda perlu membuat icinga
nama pengguna, dan mengimport skema ke dalam pangkalan data. Ini dilakukan dengan cara yang sama pada kedua CentOS 6 dan 7.
sudo mysql -u root -p
>CREATE DATABASE icinga;
>GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY '$someIcingaPassword';
>exit
Seterusnya, import skema ke pangkalan data yang baru anda buat.
sudo mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Anda akan perlu memasukkan $newRootPassword
/ kata laluan MariaDB MySQL anda digunakan semasa mysql_secure_installation
arahan di atas, tidak yang $someIcingaPassword
anda baru sahaja diwujudkan - yang satu digunakan kemudian.
Aktifkan ido
modul (pangkalan data).
sudo icinga2 feature enable ido-mysql
Anda perlu mengedit /etc/icinga2/features-enabled/ido-mysql.conf
fail untuk menambahkan maklumat pangkalan data. Anda boleh melakukannya dengan arahan berikut.
sudo vi /etc/icinga2/features-enabled/ido-mysql.conf
Dalam fail itu, cari baris yang dikomentari (mulakan dengan //
).
//user = "icinga"
//password = "icinga"
//host = "localhost"
//database = "icinga"
... dan edit mereka menggunakan pengguna / kata laluan yang baru anda buat.
user = "icinga"
password = "$someIcingaPassword"
host = "localhost"
database = "icinga"
Pastikan bahawa anda melepaskan garis dengan membuang dua garis miring awal.
Seterusnya, mulakan semula perkhidmatan untuk mengambil perubahan.
sudo service icinga2 restart
Anda perlu menambahkan sambungan antara pelayan klien dan induk Icinga2 yang telah dikonfigurasikan. Anda perlu melakukannya dengan menggunakan Firewalld di CentOS 7, atau IPTables di CentOS 6 atau 7.
# CentOS 6
sudo vi /etc/sysconfig/iptables
...
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5665 -j ACCEPT
...
#Icinga2 Master
-A OUTPUT -p tcp -m state --state NEW -m tcp --dport 5665 -j ACCEPT
sudo iptables restart
# CentOS 7
sudo firewall-cmd --add-port=5665/tcp --permanent
sudo firewall-cmd --reload
Sekarang, edit fail host untuk menambahkan master sebagai nama domain tempatan.
sudo vi /etc/hosts
...
$masterIP icinga2master icinga2master.example.com
Langkah ini perlu dilakukan pada master Icinga2. Anda perlu menginisialisasi sebagai master, kemudian membuat permintaan penandatanganan sijil yang akan digunakan oleh pelanggan anda untuk berkomunikasi.
sudo icinga2 node wizard
Ini akan menjalankan penyihir nod, yang akan menanyakan beberapa soalan. Skrin akan kelihatan seperti berikut, dan jawapan yang akan anda berikan disenaraikan.
Welcome to the Icinga 2 Setup Wizard!
We'll guide you through all required configuration details.
Please specify if this is a satellite setup ('n' installs a master setup) [Y/n]: n
Starting the Master setup routine...
Please specify the common name (CN) [icinga2-master1.localdomain]: icinga2master.example.com
Checking for existing certificates for common name 'icinga2master.example.com'...
Certificates not yet generated. Running 'api setup' now.
information/cli: Generating new CA.
information/base: Writing private key to '/var/lib/icinga2/ca/ca.key'.
information/base: Writing X509 certificate to '/var/lib/icinga2/ca/ca.crt'.
information/cli: Generating new CSR in '/etc/icinga2/pki/icinga2master.example.com.csr'.
information/base: Writing private key to '/etc/icinga2/pki/icinga2master.example.com.key'.
information/base: Writing certificate signing request to '/etc/icinga2/pki/icinga2master.example.com.csr'.
information/cli: Signing CSR with CA and writing certificate to '/etc/icinga2/pki/icinga2master.example.com.crt'.
information/cli: Copying CA certificate to '/etc/icinga2/pki/ca.crt'.
Generating master configuration for Icinga 2.
information/cli: Adding new ApiUser 'root' in '/etc/icinga2/conf.d/api-users.conf'.
information/cli: Enabling the 'api' feature.
Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect.
information/cli: Dumping config items to file '/etc/icinga2/zones.conf'.
information/cli: Created backup file '/etc/icinga2/zones.conf.orig'.
Please specify the API bind host/port (optional):
Bind Host []: <hit enter>
Bind Port []: <hit enter>
information/cli: Created backup file '/etc/icinga2/features-available/api.conf.orig'.
information/cli: Updating constants.conf.
information/cli: Created backup file '/etc/icinga2/constants.conf.orig'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
Done.
Now restart your Icinga 2 daemon to finish the installation!
Kemudian, mulakan semula Icinga2 untuk mengambil perubahan.
sudo service icinga2 restart
Setelah menjadi master, anda boleh menggunakannya untuk menghasilkan rentetan permintaan penandatanganan sijil.
sudo icinga2 pki ticket --cn icinga2client.example.com
Anda akan mendapat sebilangan tali $pkiString
. Salin tali itu, kerana anda memerlukannya pada pelanggan.
Jalankan wizard nod untuk menghasilkan sijil dan sambungkan ke induk.
sudo icinga2 node wizard
Ini akan muncul dengan halaman yang serupa dengan perkara di atas. Halaman ini ditunjukkan di bawah dengan jawapan disertakan.
Welcome to the Icinga 2 Setup Wizard!
We'll guide you through all required configuration details.
Please specify if this is a satellite setup ('n' installs a master setup) [Y/n]: Y
Starting the Node setup routine...
Please specify the common name (CN) [icinga2client.example.com]:
Please specify the master endpoint(s) this node should connect to:
Master Common Name (CN from your master setup): icinga2master.example.com
Do you want to establish a connection to the master from this node? [Y/n]: Y
Please fill out the master connection information:
Master endpoint host (Your master's IP address or FQDN): icinga2master.example.com
Master endpoint port [5665]: 5665
Add more master endpoints? [y/N]: N
Please specify the master connection for CSR auto-signing (defaults to master endpoint host):
Host [icinga2master.example.com]: icinga2master.example.com
Port [5665]: 5665
information/cli: Created backup file '/etc/icinga2/pki/icinga2client.example.com.key.orig'.
information/cli: Created backup file '/etc/icinga2/pki/icinga2client.example.com.crt.orig'.
information/base: Writing private key to '/etc/icinga2/pki/icinga2client.example.com.key'.
information/base: Writing X509 certificate to '/etc/icinga2/pki/icinga2client.example.com.crt'.
information/cli: Fetching public certificate from master (icinga2master.example.com, 5665):
Certificate information:
Subject: CN = icinga2master.example.com
Issuer: CN = Icinga CA
Valid From: Jan 10 21:08:37 2017 GMT
Valid Until: Jan 7 21:08:37 2032 GMT
Fingerprint: FE 72 AB F3 18 A5 12 E0 0C 5D 94 8B 96 C4 57 3B 00 5C E0 04
Is this information correct? [y/N]: Y
information/cli: Received trusted master certificate.
Please specify the request ticket generated on your Icinga 2 master.
(Hint: # icinga2 pki ticket --cn 'icinga2client.example.com'): $pkiString
information/cli: Requesting certificate with ticket '$pkiString'.
warning/cli: Backup file '/etc/icinga2/pki/icinga2client.example.com.crt.orig' already exists. Skipping backup.
information/cli: Writing signed certificate to file '/etc/icinga2/pki/icinga2client.example.com.crt'.
information/cli: Writing CA certificate to file '/etc/icinga2/pki/ca.crt'.
Please specify the API bind host/port (optional):
Bind Host []: <enter key>
Bind Port []: <enter key>
Accept config from master? [y/N]: Y
Accept commands from master? [y/N]: Y
information/cli: Disabling the Notification feature.
Disabling feature notification. Make sure to restart Icinga 2 for these changes to take effect.
information/cli: Enabling the Apilistener feature.
warning/cli: Feature 'api' already enabled.
information/cli: Created backup file '/etc/icinga2/features-available/api.conf.orig'.
information/cli: Generating local zones.conf.
information/cli: Dumping config items to file '/etc/icinga2/zones.conf'.
information/cli: Created backup file '/etc/icinga2/zones.conf.orig'.
information/cli: Updating constants.conf.
information/cli: Created backup file '/etc/icinga2/constants.conf.orig'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
Done.
Now restart your Icinga 2 daemon to finish the installation!
Teruskan dan mulakan semula Icinga2 untuk mengambil perubahan.
sudo icinga2 restart
Ini mungkin sudah selesai, tetapi anda perlu memastikan bahawa ciri perintah dan API diaktifkan.
sudo icinga2 feature enable command
sudo icinga2 feature enable api
Sekiranya tidak diaktifkan, akan dinyatakan "fitur diaktifkan", jadi anda perlu menghidupkan semula daemon Icinga2. Tetapi pertama, anda perlu mengubah pemilikan fail dalam /etc/icinga2
direktori, kerana beberapa di antaranya mempunyai kebenaran yang salah setelah menjalankan penyihir simpul. Mereka semua mesti menetapkan pemilik dan kumpulan mereka icinga
. Ubah kebenaran dengan menggunakan arahan berikut:
sudo chown -R icinga:icinga /etc/icinga2/
Sekarang, anda boleh memulakan semula daemon Icinga2.
sudo service icinga2 restart
Konfigurasi pelanggan memerlukan penyuntingan beberapa fail yang berbeza.
/etc/icinga2/zones.conf
: Mengandungi titik akhir (pelayan) dan zon yang mengandunginya. Ini adalah bagaimana pelayan dibahagi. Pastikan nama pelanggan sepadan dengan nama pelayan./etc/icinga2/icinga2.conf
: Anda menerima perintah dan konfigurasi dari induk, jadi anda perlu melakukan sedikit pengeditan pada file ini untuk menghindari definisi perintah pendua.Pertama, kita akan mengubah suai zones.conf
fail untuk menentukan pelayan dan zon di dalamnya, serta membuat zon "global" untuk definisi arahan yang universal untuk SEMUA pelayan, bukannya unik untuk masing-masing (seperti pemeriksaan cakera) .
sudo vi /etc/icinga2/zones.conf
object Zone clientZone {
endpoints = [ "icinga2master.example.com" ]
}
object Zone "global-templates" { # Add global templates zone
global = true
}
object Endpoint NodeName {
host = "$icinga2clientIP"
}
object Zone ZoneName {
endpoints = [ NodeName ]
parent = clientZone
}
Penting untuk diketahui, hanya ada 2 node per zon pada masa ini. Anda boleh membuat seberapa banyak zon yang anda mahukan, tetapi jika terdapat lebih dari 2 node per zon ada kemungkinan bahawa perkhidmatan Icinga2 tidak akan berfungsi dengan baik. Ini bukan masalah pada pelanggan, kecuali jika anda sudah mempunyai 2 node di zon clientZone
, dalam hal ini anda perlu membuat nama zon yang lain.
Sekarang, buat pengubahsuaian dalam /etc/icinga2/icinga2.conf
fail. Anda perlu memberi komen include_recursive "conf.d"
.
sudo vi /etc/icinga2/icinga2.conf
...
//include_recursive "conf.d"
...
Sahkan konfigurasi untuk memastikan bahawa semuanya diformat dengan betul.
sudo icinga2 daemon -C
Sekiranya anda mendapat masalah kebenaran, kemungkinan kerana item tersebut dimiliki oleh root:root
. Chown icinga:icinga
untuk menyelesaikan.
sudo chown -R icinga:icinga /etc/icinga2/
Terdapat masalah lain dengan konfigurasi, umumnya maklumat yang diberikan dari output sudo icinga2 daemon -C
perintah akan cukup verbose untuk mengesannya. Menangani setiap potensi masalah yang timbul adalah di luar skop panduan ini.
Sekiranya pengesahan berjaya, teruskan dan muatkan semula perkhidmatan:
sudo service icinga2 restart
Anda perlu memberikan icinga
izin sudo kepada pengguna agar perintah dapat dijalankan. Kebenaran sudo ini akan dibatasi ke direktori plugin tertentu. Ini hanya boleh diletakkan di hujung fail.
sudo vi /etc/sudoers
...
Defaults:icinga !requiretty
icinga ALL=(ALL) NOPASSWD: /usr/lib64/nagios/plugins/
Kini konfigurasi pelanggan selesai secara rasmi. Anda tidak perlu melakukan pengubahsuaian lagi, setiap pemeriksaan perkhidmatan akan dikonfigurasi pada master dan akan disebarkan ke klien. Anda perlu memasang plugin tambahan yang mungkin anda perlukan. Pemalam juga boleh ditulis menggunakan python, perl, BASH, PHP, dan bahasa skrip lain.
Anda perlu kembali ke master untuk mengkonfigurasi pelanggan supaya dapat dihubungkan. Terdapat beberapa langkah yang perlu diambil:
repository.d
.Konfigurasi host akan dimasukkan ke dalam /etc/icinga2/repository.d/hosts/icinga2client.example.com.conf
fail.
sudo vi /etc/icinga2/repository.d/hosts/icinga2client.example.com.conf
object Host "icinga2client.example.com" {
import "satellite-host"
address = "$icinga2clientIP"
vars.os = "Linux"
}
sudo chown icinga:icinga /etc/icinga2/repository.d/hosts/icinga2client.example.com.conf
Sekarang host ada dalam konfigurasi klien, tetapi perlu dimasukkan ke dalam zon. Zon ini akan berada di dalam /etc/icinga2/repository.d/zones
folder, dengan nama yang sama dengan nama zon untuk menjadikannya lebih mudah untuk dijejaki.
sudo vi /etc/icinga2/repository.d/zones/clientZone.conf
object Zone "clientZone" {
endpoints = [ "icinga2client.example.com" ]
parent = "icinga2master.example.com"
}
Seterusnya, anda perlu menambah global-templates
zon.
sudo vi /etc/icinga2/repository.d/zones/global-templates.conf
object Zone "global-templates" {
global = true
}
Akhirnya, tambahkan titik akhir klien sehingga tatasusunan titik pelanggan "clientZone" diisi semasa ia dijalankan.
sudo vi /etc/icinga2/repository.d/endpoints/icinga2client.example.com.conf
#Change values to match the host you're adding
object Endpoint "icinga2client.example.com" {
host = "$icinga2clientIP"
}
Untuk memastikan tidak ada masalah kebenaran, teruskan dan ubah pemilik / kumpulan lagi.
sudo chown -R icinga:icinga /etc/icinga2
Sahkan perubahan konfigurasi untuk memastikan tidak ada masalah lagi.
sudo icinga2 daemon -C
Sekiranya pengesahan berjaya, teruskan tambah nilai.
sudo service icinga2 restart
Sekiranya anda melayari laman web Icinga2 anda, anda akan melihat pelayan dapat diakses.
Anda mungkin menghadapi kesilapan mengenai "perintah tidak dijumpai" atau "tanda tidak ditentukan". Di sinilah zon templat global dimainkan. Anda perlu menyalin konfigurasi dalam /etc/icinga2/conf.d/
fail dan memasukkannya ke dalam /etc/icinga2/zones.d/global-templates/
fail. Sebagai contoh, untuk membuat perintah "check_software", anda perlu melakukan perkara berikut.
sudo mkdir /etc/icinga2/zones.d/global-templates
sudo vi /etc/icinga2/zones.d/global-templates/commands.conf
object CheckCommand "check_software" {
import "plugin-check-command"
command = [ "/usr/bin/sudo", PluginDir + "/software_service_check.sh" ]
}
The software_service_check.sh
fail perlu wujud dalam /usr/lib64/nagios/plugins
folder pada pelanggan .
Seterusnya, tambahkan pemeriksaan perkhidmatan ke dalam /etc/icinga2/repository.d/hosts/services.conf
fail.
sudo vi /etc/icinga2/repository.d/hosts/services/services.conf
apply Service "Check Software Service" {
import "mail-service"
check_command = "check_software" # This check command is the same name as the one you defined in global-templates/commands.conf
assign where host.vars.client_endpoint # This will apply to every client server. If you need it to be more restrictive, you should look into custom variables
}
Anda perlu menukar kebenaran sekali lagi.
sudo chown -R icinga:icinga /etc/icinga2
Kemudian, sahkan semula konfigurasi.
sudo icinga2 daemon -C
Akhirnya, jika berjaya, muat semula:
sudo service icinga2 restart
Tahniah! Anda sekarang menggunakan Icinga2 dalam model pelanggan utama dan sekarang boleh mengelakkan daripada menggunakan pemeriksaan NRPE yang tidak selamat!
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut