Installera Plesk på CentOS 7
Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser
Icinga2 är ett kraftfullt övervakningssystem, och när det används i en master-klient-modell kan det ersätta behovet av NRPE-baserade övervakningskontroller. Master-klient-modellen är säkrare av olika anledningar . Det möjliggör också mer distribuerad övervakning genom att tillåta kontroller att modifieras på en server och spridas till andra. Det ger också en centraliserad plats för ändringar.
Till exempel: Låt oss säga att du har 4 olika belastningsbalanserade webbservrar. Om du vet att du kommer att få en belastningspik (kanske en rea eller något som du förväntar dig mycket aktivitet för), kanske du vill öka nivåerna där hög CPU-användning varnar systemadministratörerna. Om du använder NRPE-kontroller måste du gå in på varje server och ändra /etc/nrpe.d/common_commands.cfg
dokumentet på var och en av dem. I master-client-modellen kan du helt enkelt ändra deras värddefinitioner i /etc/icinga2/repository.d/hosts/
mappen och sedan ladda om Icinga. Kontrollerna kommer att spridas till varje server och hämtas automatiskt. Du kan också lägga till kontroller mycket enkelt genom att modifiera /etc/icinga2/repository.d/services/
filerna, och de kommer automatiskt att spridas och kännas igen, så länge som plugin-programmen finns på klientservrarna.
icinga2master.example.com
.icinga2client.example.com
.En del av den här guiden kommer att spegla installationsinstruktionerna som anges ovan, men detta måste göras på klientdatorn inte serverdatorn.
Lägg till "ICINGA"-repo till klientsystemet för att installera Icinga-paketen.
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
Installera de nödvändiga paketen.
# 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 använder MariaDB istället för MySQL, så de nödvändiga paketen är något annorlunda. Starta tjänsterna och ställ in dem att starta vid uppstart.
sudo chkconfig icinga2 on
sudo service icinga2 start
Ställ in MySQL-tjänsten att starta vid uppstart och starta den nu så att vi kan säkra den.
# CentOS 6
sudo chkconfig mysqld on
sudo service mysqld start
#CentOS 7
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
Säkra MySQL/MariaDB-installationen. Både CentOS 6 och 7 använder samma kommando.
sudo mysql_secure_installation
Under processen, svara på frågorna enligt bilden:
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
Notera $newRootPassword
eftersom du kommer att behöva det flera gånger, och det är jobbigt att återställa.
Du måste skapa icinga
användarnamnet och importera schemat till databasen. Detta görs på samma sätt på både CentOS 6 och 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
Importera sedan schemat till databasen du just har skapat.
sudo mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Du måste ange $newRootPassword
MySQL/MariaDB-lösenordet som du använde under mysql_secure_installation
kommandot ovan, inte det $someIcingaPassword
du just skapade - det används senare.
Aktivera ido
modulen (databas).
sudo icinga2 feature enable ido-mysql
Du måste redigera /etc/icinga2/features-enabled/ido-mysql.conf
filen för att lägga till databasinformationen. Du kan göra det med följande kommando.
sudo vi /etc/icinga2/features-enabled/ido-mysql.conf
I den filen hittar du raderna som kommenteras ut (börja med //
).
//user = "icinga"
//password = "icinga"
//host = "localhost"
//database = "icinga"
...och redigera dem med användaren/lösenordet du just skapade.
user = "icinga"
password = "$someIcingaPassword"
host = "localhost"
database = "icinga"
Se till att du avkommenterar raderna genom att ta bort de två första snedstrecket.
Starta sedan om tjänsten för att hämta ändringarna.
sudo service icinga2 restart
Du måste lägga till en anslutning mellan klientservern och Icinga2-mastern som redan har konfigurerats. Du måste göra det med antingen Firewalld på CentOS 7 eller IPTables i antingen CentOS 6 eller 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
Redigera nu hosts-filen för att lägga till mastern som ett lokalt domännamn.
sudo vi /etc/hosts
...
$masterIP icinga2master icinga2master.example.com
Detta steg måste göras på Icinga2-mastern. Du måste initiera den som en master och sedan generera en certifikatsigneringsbegäran som din klient kommer att använda för att kommunicera.
sudo icinga2 node wizard
Detta kommer att köra nodguiden, som kommer att ställa flera frågor. Skärmen kommer att se ut som följande, och svaren du kommer att ge är listade.
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!
Starta sedan om Icinga2 för att hämta ändringarna.
sudo service icinga2 restart
Nu när det är en master kan du använda den för att generera strängen för begäran om certifikatsignering.
sudo icinga2 pki ticket --cn icinga2client.example.com
Du kommer att få lite snöre $pkiString
. Kopiera den strängen, eftersom du behöver den på klienten.
Kör nodguiden för att generera certifikaten och ansluta till mastern.
sudo icinga2 node wizard
Det kommer att komma upp med en liknande sida som ovan. Den här sidan visas nedan med svar inkluderade.
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!
Gå vidare och starta om Icinga2 för att hämta ändringarna.
sudo icinga2 restart
Detta kanske redan är gjort, men du måste se till att kommandot och API-funktionerna är aktiverade.
sudo icinga2 feature enable command
sudo icinga2 feature enable api
Om de inte var aktiverade kommer det att stå "funktion aktiverad", så du måste starta om Icinga2-demonen. Men först måste du ändra äganderätten till filerna i /etc/icinga2
katalogen, eftersom vissa av dem har fel behörigheter efter att ha kört nodguiden. De bör alla ha sin ägare och grupp inställd på icinga
. Ändra behörigheterna genom att använda följande kommando:
sudo chown -R icinga:icinga /etc/icinga2/
Nu kan du starta om Icinga2-demonen.
sudo service icinga2 restart
Klientkonfigurationen kräver redigering av några olika filer.
/etc/icinga2/zones.conf
: Innehåller slutpunkterna (servrarna) och zoner som innehåller dem. Så här är servrarna uppdelade. Se till att klientnamnen matchar servernamnen./etc/icinga2/icinga2.conf
: Du accepterar kommandon och konfigurationer från mastern, så du måste göra en mindre redigering av den här filen för att undvika dubbletter av kommandodefinitioner.Först kommer vi att modifiera zones.conf
filen för att definiera servern och zonen den är i, samt skapa en "global" zon för kommandodefinitioner som är universella för ALLA servrar, istället för unika för var och en (som diskkontroller) .
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
}
Det är viktigt att veta, det kan bara finnas 2 noder per zon för tillfället. Du kan skapa hur många zoner du vill, men om det finns fler än 2 noder per zon finns det en chans att Icinga2-tjänsten inte fungerar som den ska. Detta är inte ett problem på klienten, såvida du inte redan har 2 noder i zonen clientZone
, i vilket fall du måste skapa ett annat zonnamn.
Gör nu ändringen i /etc/icinga2/icinga2.conf
filen. Du måste kommentera raden include_recursive "conf.d"
.
sudo vi /etc/icinga2/icinga2.conf
...
//include_recursive "conf.d"
...
Verifiera konfigurationen för att säkerställa att allt är korrekt formaterat.
sudo icinga2 daemon -C
Om du får behörighetsproblem beror det troligen på att objektet ägs av root:root
. Chown till icinga:icinga
att lösa.
sudo chown -R icinga:icinga /etc/icinga2/
Det finns andra problem med konfigurationerna, i allmänhet kommer informationen som ges från sudo icinga2 daemon -C
kommandots utdata att vara tillräckligt utförlig för att spåra dem. Att ta itu med alla potentiella problem som uppstår ligger utanför ramen för denna guide.
Om verifieringen lyckas, fortsätt och ladda om tjänsten:
sudo service icinga2 restart
Du måste ge icinga
användaren sudo-behörigheter så att kommandona kan köras. Dessa sudo-behörigheter kommer att begränsas till den specifika plugin-katalogen. Detta kan bara läggas i slutet av filen.
sudo vi /etc/sudoers
...
Defaults:icinga !requiretty
icinga ALL=(ALL) NOPASSWD: /usr/lib64/nagios/plugins/
Nu är klientkonfigurationen officiellt klar. Du ska inte behöva göra några fler ändringar, alla servicekontroller kommer att konfigureras på mastern och spridas ner till klienten. Du måste dock installera eventuella ytterligare plugin-program du kan behöva. Plugin-program kan också skrivas med python, perl, BASH, PHP och andra skriptspråk.
Du måste gå tillbaka till mastern för att konfigurera klienten så att den kan anslutas. Det finns några steg som måste tas:
repository.d
.Värdkonfigurationen kommer att anges i /etc/icinga2/repository.d/hosts/icinga2client.example.com.conf
filen.
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
Nu finns värden i klientkonfigurationen, men den måste placeras i en zon. Denna zon kommer att finnas i /etc/icinga2/repository.d/zones
mappen, med samma namn som zonnamnet för att göra det lättare att hålla reda på.
sudo vi /etc/icinga2/repository.d/zones/clientZone.conf
object Zone "clientZone" {
endpoints = [ "icinga2client.example.com" ]
parent = "icinga2master.example.com"
}
Därefter måste du lägga till global-templates
zonen.
sudo vi /etc/icinga2/repository.d/zones/global-templates.conf
object Zone "global-templates" {
global = true
}
Lägg slutligen till klientändpunkten så att arrayen "clientZone" slutpunkter fylls i när den körs.
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"
}
För att se till att det inte finns några behörighetsproblem, byt ägare/grupp igen.
sudo chown -R icinga:icinga /etc/icinga2
Verifiera konfigurationsändringar för att se till att det inte finns fler problem.
sudo icinga2 daemon -C
Om verifieringen lyckas, fortsätt med omladdningen.
sudo service icinga2 restart
Om du besöker din Icinga2-webbplats kommer du att se servern bli tillgänglig.
Du kan stöta på fel om "kommandot hittades inte" eller "kontroll inte definierad". Det är här zonen globala mallar kommer in i bilden. Du måste kopiera konfigurationen i /etc/icinga2/conf.d/
filer och lägga in dem i /etc/icinga2/zones.d/global-templates/
filer. Till exempel, för att skapa ett "check_software"-kommando, skulle du behöva göra följande.
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" ]
}
Den software_service_check.sh
filen måste finnas i /usr/lib64/nagios/plugins
mappen på klienten .
Lägg sedan till servicechecken i /etc/icinga2/repository.d/hosts/services.conf
filen.
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
}
Du måste ändra behörigheterna igen.
sudo chown -R icinga:icinga /etc/icinga2
Verifiera sedan konfigurationen igen.
sudo icinga2 daemon -C
Slutligen, om det lyckas, ladda om:
sudo service icinga2 restart
Grattis! Du använder nu Icinga2 i en master-client-modell och kan nu undvika att behöva använda de osäkra NRPE-kontrollerna!
Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser
Squid är ett populärt, gratis Linux-program som låter dig skapa en webbproxy för vidarebefordran. I den här guiden ser du hur du installerar Squid på CentOS för att förvandla dig
Inledning Lighttpd är en apachegaffel som syftar till att vara mycket mindre resurskrävande. Den är lätt, därav namnet, och är ganska enkel att använda. Installera
VULTR har nyligen gjort ändringar på deras sida, och allt borde nu fungera bra direkt när NetworkManager är aktiverat. Om du vill inaktivera
Icinga2 är ett kraftfullt övervakningssystem, och när det används i en master-klient-modell kan det ersätta behovet av NRPE-baserade övervakningskontroller. Master-klienten
Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög
Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig
Använder du ett annat system? Vanilla forum är en open source forumapplikation skriven i PHP. Det är en helt anpassningsbar, enkel att använda och stöder externa
Använder du ett annat system? Mattermost är ett alternativ med öppen källkod, självvärd till meddelandetjänsten Slack SAAS. Med andra ord, med Mattermost, du ca
Vad du behöver En Vultr VPS med minst 1 GB RAM. SSH-åtkomst (med root-/administrativa privilegier). Steg 1: Installera BungeeCord Först till kvarn
Plesks kontrollpanel har en mycket trevlig integration för Lets Encrypt. Lets Encrypt är en av de enda SSL-leverantörerna som ger ut certifikat fullständigt
Lets Encrypt är en certifikatmyndighet dedikerad till att tillhandahålla SSL-certifikat gratis. cPanel har byggt en snygg integration så att du och din klient
Använder du ett annat system? Concrete5 är ett CMS med öppen källkod som erbjuder många distinkta och användbara funktioner för att hjälpa redaktörer att producera innehåll enkelt och
Använder du ett annat system? Review Board är ett gratis och öppen källkodsverktyg för att granska källkod, dokumentation, bilder och många fler. Det är webbaserad mjukvara
I den här guiden lär du dig hur du ställer in HTTP-autentisering för en Nginx-webbserver som körs på CentOS 7. Krav För att komma igång behöver du
YOURLS (Your Own URL Shortener) är ett webbadressförkortnings- och dataanalysprogram med öppen källkod. I den här artikeln kommer vi att täcka installationsprocessen
Använder du ett annat system? Inledning ArangoDB är en NoSQL-databas med öppen källkod med en flexibel datamodell för dokument, grafer och nyckel-värden. Det är
Inledning Katalogen /etc/ spelar en avgörande roll för hur ett Linux-system fungerar. Anledningen till detta är att nästan varje systemkonfiguration
Många systemadministratörer hanterar stora mängder servrar. När filer behöver nås över olika servrar, logga in på var och en individuellt ca
Denna handledning kommer att täcka processen att installera en Half Life 2-spelserver på CentOS 6 System. Steg 1: Installera förutsättningarna För att ställa in ou
Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.
Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.
Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.
Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.
Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...
När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.
Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.
Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.
I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.
Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer