CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin
CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.
Icinga2 güçlü bir izleme sistemidir ve bir ana istemci modelinde kullanıldığında, NRPE tabanlı izleme kontrollerine olan ihtiyacın yerini alabilir. Ana istemci modeli çeşitli nedenlerle daha güvenlidir . Ayrıca, denetimlerin bir sunucuda değiştirilmesine ve diğerlerine yayılmasına izin vererek daha dağıtılmış izlemeye izin verir. Ayrıca değişiklikler için tek bir merkezi konum verir.
Örneğin: 4 farklı yük dengeli web sunucunuz olduğunu varsayalım. Yaklaşan bir yük artışına sahip olacağınızı biliyorsanız (belki de çok fazla aktivite beklediğiniz bir satış veya başka bir şey), yüksek CPU kullanımının sistem yöneticilerini uyacağı seviyeleri artırmak isteyebilirsiniz. NRPE denetimleri kullanıyorsanız, her bir sunucuya gitmeniz ve her birinin /etc/nrpe.d/common_commands.cfg
üzerindeki belgeyi değiştirmeniz gerekir. Ana istemci modelinde, /etc/icinga2/repository.d/hosts/
klasördeki ana bilgisayar tanımlarını değiştirebilir , ardından Icinga'yı yeniden yükleyebilirsiniz. Çekler her sunucuya yayılacak ve otomatik olarak alınacaktır. Ayrıca, /etc/icinga2/repository.d/services/
dosyaları değiştirerek kontrolleri çok kolay bir şekilde ekleyebilirsiniz ve eklentiler istemci sunucularda mevcut olduğu sürece otomatik olarak yayılır ve tanınır hale gelir.
icinga2master.example.com
.icinga2client.example.com
.Bu kılavuzun bazıları, yukarıda listelenen kurulum talimatlarını yansıtacaktır, ancak bu, sunucu makinesinde değil istemci makinede yapılmalıdır.
Icinga paketlerini kurmak için istemci sistemine "ICINGA" deposunu ekleyin.
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
Gerekli paketleri kurun.
# 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, MySQL yerine MariaDB kullanır, bu nedenle gerekli paketler biraz farklıdır. Hizmetleri başlatın ve önyüklemede başlayacak şekilde ayarlayın.
sudo chkconfig icinga2 on
sudo service icinga2 start
MySQL hizmetini önyüklemede başlayacak şekilde ayarlayın ve güvenli hale getirebilmemiz için şimdi başlatın.
# CentOS 6
sudo chkconfig mysqld on
sudo service mysqld start
#CentOS 7
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
MySQL / MariaDB kurulumunu güvenli hale getirin. Hem CentOS 6 hem de 7 aynı komutu kullanır.
sudo mysql_secure_installation
İşlem sırasında gösterilen soruları cevaplayın:
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
$newRootPassword
Birkaç kez ihtiyacınız olacağına dikkat edin ve sıfırlamak bir acıdır.
icinga
Kullanıcı adını oluşturmanız ve şemayı veritabanına aktarmanız gerekir. Bu hem CentOS 6 hem de 7'de aynı şekilde yapılır.
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
Ardından, şemayı yeni oluşturduğunuz veritabanına alın.
sudo mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Sen girmeniz gerekecektir $newRootPassword
Eğer sırasında kullanılan MySQL / mariadb şifresini mysql_secure_installation
yukarıdaki komuta değil$someIcingaPassword
bir sonraki kullanıldığını - sadece oluşturduk.
ido
(Veritabanı) modülünü etkinleştirin .
sudo icinga2 feature enable ido-mysql
/etc/icinga2/features-enabled/ido-mysql.conf
Veritabanı bilgilerini eklemek için dosyayı düzenlemeniz gerekir . Bunu aşağıdaki komutla yapabilirsiniz.
sudo vi /etc/icinga2/features-enabled/ido-mysql.conf
Bu dosyada, yorum yapılan satırları bulun (ile başlayın //
).
//user = "icinga"
//password = "icinga"
//host = "localhost"
//database = "icinga"
... ve yeni oluşturduğunuz kullanıcı / şifreyi kullanarak bunları düzenleyin.
user = "icinga"
password = "$someIcingaPassword"
host = "localhost"
database = "icinga"
İlk iki eğik çizgiyi kaldırarak çizgileri kaldırdığınızdan emin olun.
Ardından, değişiklikleri almak için hizmeti yeniden başlatın.
sudo service icinga2 restart
İstemci sunucusu ile önceden yapılandırılmış olan Icinga2 yöneticisi arasında bir bağlantı eklemeniz gerekir. Bunu CentOS 7'de Firewalld veya CentOS 6 veya 7'de IPTable'ları kullanarak yapmanız gerekir.
# 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
Şimdi ana bilgisayarı yerel alan adı olarak eklemek için hosts dosyasını düzenleyin.
sudo vi /etc/hosts
...
$masterIP icinga2master icinga2master.example.com
Bu adımın Icinga2 ustası üzerinde yapılması gerekir. Bunu ana olarak başlatmanız, ardından müşterinizin iletişim kurmak için kullanacağı bir sertifika imzalama isteği oluşturmanız gerekir.
sudo icinga2 node wizard
Bu, birkaç soru soracak olan düğüm sihirbazını çalıştıracaktır. Ekran aşağıdaki gibi görünecek ve vereceğiniz cevaplar listelenecektir.
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!
Ardından, değişiklikleri almak için Icinga2'yi yeniden başlatın.
sudo service icinga2 restart
Artık bir master olduğuna göre, sertifika imzalama isteği dizesini oluşturmak için bunu kullanabilirsiniz.
sudo icinga2 pki ticket --cn icinga2client.example.com
Biraz ip alacaksın $pkiString
. Bu dizeyi istemcide ihtiyacınız olduğu gibi kopyalayın.
Sertifikaları oluşturmak ve ana sunucuya bağlanmak için düğüm sihirbazını çalıştırın.
sudo icinga2 node wizard
Yukarıdakine benzer bir sayfa ortaya çıkacaktır. Bu sayfa aşağıda cevaplarla birlikte gösterilmiştir.
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!
Devam edin ve değişiklikleri almak için Icinga2'yi yeniden başlatın.
sudo icinga2 restart
Bu zaten yapılmış olabilir, ancak komut ve API özelliklerinin etkinleştirildiğinden emin olmanız gerekir.
sudo icinga2 feature enable command
sudo icinga2 feature enable api
Etkinleştirilmemişlerse, "özellik etkin" diyecektir, bu nedenle Icinga2 arka plan programını yeniden başlatmanız gerekir. Ancak önce, /etc/icinga2
bazıları düğüm sihirbazını çalıştırdıktan sonra yanlış izinlere sahip olduğu için dizindeki dosyaların sahipliğini değiştirmeniz gerekir . Hepsinin sahibi ve grubu ayarlanmalıdır icinga
. Aşağıdaki komutu kullanarak izinleri değiştirin:
sudo chown -R icinga:icinga /etc/icinga2/
Şimdi Icinga2 arka plan programını yeniden başlatabilirsiniz.
sudo service icinga2 restart
İstemci yapılandırması birkaç farklı dosyanın düzenlenmesini gerektirir.
/etc/icinga2/zones.conf
: Bitiş noktalarını (sunucular) ve bunları içeren bölgeleri içerir. Sunucular bu şekilde bölümlere ayrılır. İstemci adlarının sunucu adlarıyla eşleştiğinden emin olun./etc/icinga2/icinga2.conf
: Master'dan komutları ve yapılandırmaları kabul ediyorsunuz, bu nedenle yinelenen komut tanımlarından kaçınmak için bu dosyada küçük bir düzenleme yapmanız gerekiyor.İlk olarak, zones.conf
sunucuyu ve içinde bulunduğu bölgeyi tanımlamak için dosyayı değiştireceğiz ve her biri için benzersiz olmak yerine (sunucu kontrolleri gibi) TÜM sunucular için evrensel olan komut tanımları için "global" bir bölge oluşturacağız. .
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
}
Bilmek önemlidir, şu anda bölge başına sadece 2 düğüm olabilir. İstediğiniz kadar bölge yapabilirsiniz, ancak bölge başına 2'den fazla düğüm varsa, Icinga2 hizmetinin düzgün çalışmadığı ihtimali vardır. Bölgede zaten 2 düğümünüz olmadığı sürece, bu istemcide bir sorun değildir clientZone
, bu durumda başka bir bölge adı oluşturmanız gerekir.
Şimdi /etc/icinga2/icinga2.conf
dosyada değişiklik yapın . Çizgiyi yorumlamanız gerekiyor include_recursive "conf.d"
.
sudo vi /etc/icinga2/icinga2.conf
...
//include_recursive "conf.d"
...
Her şeyin doğru biçimlendirildiğinden emin olmak için yapılandırmayı doğrulayın.
sudo icinga2 daemon -C
İzin sorunları yaşıyorsanız, büyük olasılıkla öğenin sahibi olduğu için root:root
. icinga:icinga
Çözmek için chown .
sudo chown -R icinga:icinga /etc/icinga2/
Yapılandırmalarla ilgili başka sorunlar da var, genellikle sudo icinga2 daemon -C
komutun çıktısından verilen bilgiler, onları izleyecek kadar ayrıntılı olacaktır. Ortaya çıkan her olası sorunun ele alınması bu kılavuzun kapsamı dışındadır.
Doğrulama başarılı olursa devam edin ve hizmeti yeniden yükleyin:
sudo service icinga2 restart
icinga
Komutların çalıştırılabilmesi için kullanıcıya sudo izinleri vermeniz gerekir . Bu sudo izinleri belirli eklenti diziniyle sınırlandırılacaktır. Bu sadece dosyanın sonuna konabilir.
sudo vi /etc/sudoers
...
Defaults:icinga !requiretty
icinga ALL=(ALL) NOPASSWD: /usr/lib64/nagios/plugins/
Şimdi istemci yapılandırması resmen bitti. Daha fazla değişiklik yapmanıza gerek yoktur, servis kontrolleri master üzerinde yapılandırılır ve istemciye yayılır. Bununla birlikte, ihtiyacınız olabilecek ek eklentileri yüklemeniz gerekir. Eklentiler ayrıca python, perl, BASH, PHP ve diğer kodlanmış diller kullanılarak da yazılabilir.
İstemciyi bağlanabilmesi için yapılandırmak üzere master'a geri dönmeniz gerekir. Atılması gereken birkaç adım vardır:
repository.d
.Ana bilgisayar yapılandırması /etc/icinga2/repository.d/hosts/icinga2client.example.com.conf
dosyaya girilecektir .
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
Artık ana makine istemci yapılandırmasında var, ancak bir bölgeye konması gerekiyor. Bu bölge, /etc/icinga2/repository.d/zones
izlemeyi kolaylaştırmak için bölge adıyla aynı ada sahip klasörde olacaktır .
sudo vi /etc/icinga2/repository.d/zones/clientZone.conf
object Zone "clientZone" {
endpoints = [ "icinga2client.example.com" ]
parent = "icinga2master.example.com"
}
Ardından, global-templates
bölgeyi eklemeniz gerekir .
sudo vi /etc/icinga2/repository.d/zones/global-templates.conf
object Zone "global-templates" {
global = true
}
Son olarak, istemci bitiş noktasını ekleyin, böylece "clientZone" bitiş noktaları dizisi çalıştığında doldurulur.
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"
}
Hiçbir izin sorunu olmadığından emin olmak için devam edin ve sahibi / grubu tekrar değiştirin.
sudo chown -R icinga:icinga /etc/icinga2
Başka sorun olmadığından emin olmak için yapılandırma değişikliklerini doğrulayın.
sudo icinga2 daemon -C
Doğrulama başarılı olursa, yeniden yükleme işlemine devam edin.
sudo service icinga2 restart
Icinga2 web sitenizi ziyaret ederseniz, sunucunun erişilebilir olduğunu görürsünüz.
"Komut bulunamadı" veya "kontrol tanımlanmadı" ile ilgili hatalarla karşılaşabilirsiniz. Global şablonlar bölgesi devreye giriyor. Yapılandırmayı /etc/icinga2/conf.d/
dosyalara kopyalamanız ve dosyalara koymanız gerekir /etc/icinga2/zones.d/global-templates/
. Örneğin, bir "check_software" komutu oluşturmak için aşağıdakileri yapmanız gerekir.
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" ]
}
software_service_check.sh
Dosya var gerekecektir /usr/lib64/nagios/plugins
üzerine klasörün istemcisi .
Ardından, hizmet denetimini /etc/icinga2/repository.d/hosts/services.conf
dosyaya ekleyin .
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
}
İzinleri tekrar değiştirmeniz gerekecektir.
sudo chown -R icinga:icinga /etc/icinga2
Ardından yapılandırmayı yeniden doğrulayın.
sudo icinga2 daemon -C
Son olarak, başarılı olursa yeniden yükleyin:
sudo service icinga2 restart
Tebrikler! Şimdi Icinga2'yi bir ana istemci modelinde kullanıyorsunuz ve artık güvensiz NRPE kontrollerini kullanmaktan kaçınabilirsiniz!
CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.
Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.
OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.
Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?