Nainstalujte Plesk na CentOS 7
Používáte jiný systém? Plesk je proprietární ovládací panel webového hostitele, který umožňuje uživatelům spravovat jejich osobní a/nebo klientské webové stránky, databáze
Icinga2 je výkonný monitorovací systém a při použití v modelu master-client může nahradit potřebu monitorovacích kontrol založených na NRPE. Model master-client je z různých důvodů bezpečnější . Umožňuje také distribuovanější monitorování tím, že umožňuje upravovat kontroly na jednom serveru a šířit je na další. Poskytuje také jedno centralizované místo pro změny.
Například: Řekněme, že máte 4 různé webové servery s vyváženou zátěží. Pokud víte, že se blíží nárůst zatížení (možná prodej nebo něco, u čeho očekáváte velkou aktivitu), možná budete chtít zvýšit úrovně, při kterých vysoké využití procesoru upozorní systémové administrátory. Pokud používáte kontroly NRPE, budete muset přejít na každý server a upravit /etc/nrpe.d/common_commands.cfg
dokument na každém z nich. V modelu master-client můžete jednoduše upravit jejich hostitelské definice ve /etc/icinga2/repository.d/hosts/
složce a poté znovu načíst Icinga. Šeky se rozšíří na každý server a budou automaticky vyzvednuty. Kontroly můžete také velmi snadno přidávat úpravou /etc/icinga2/repository.d/services/
souborů a budou se automaticky šířit a rozpoznávat, pokud na klientských serverech existují zásuvné moduly.
icinga2master.example.com
.icinga2client.example.com
.Některé z této příručky budou zrcadlit výše uvedené pokyny k instalaci, ale to musí být provedeno na klientském počítači, nikoli na serveru.
Přidejte repozitář "ICINGA" do klientského systému a nainstalujte balíčky 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
Nainstalujte požadované balíčky.
# 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 používá MariaDB místo MySQL, takže potřebné balíčky se mírně liší. Spusťte služby a nastavte je tak, aby se spouštěly při spuštění.
sudo chkconfig icinga2 on
sudo service icinga2 start
Nastavte službu MySQL tak, aby se spustila při startu a spusťte ji nyní, abychom ji mohli zabezpečit.
# CentOS 6
sudo chkconfig mysqld on
sudo service mysqld start
#CentOS 7
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
Zabezpečte instalaci MySQL/MariaDB. CentOS 6 i 7 používají stejný příkaz.
sudo mysql_secure_installation
Během procesu odpovězte na otázky, jak je uvedeno:
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
Poznamenejte si to, $newRootPassword
protože to budete potřebovat několikrát a resetování je bolestné.
Musíte vytvořit icinga
uživatelské jméno a importovat schéma do databáze. To se provádí stejným způsobem na CentOS 6 a 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
Dále importujte schéma do databáze, kterou jste právě vytvořili.
sudo mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Budete muset zadat $newRootPassword
MySQL mariadb heslo / jste použili při mysql_secure_installation
příkaz shora, nikoli$someIcingaPassword
jste právě vytvořili - který z nich je použít později.
Povolte modul ido
(databáze).
sudo icinga2 feature enable ido-mysql
Chcete- /etc/icinga2/features-enabled/ido-mysql.conf
li přidat informace o databázi, budete muset soubor upravit . Můžete tak učinit pomocí následujícího příkazu.
sudo vi /etc/icinga2/features-enabled/ido-mysql.conf
V tomto souboru najděte řádky, které jsou zakomentovány (začínají znakem //
).
//user = "icinga"
//password = "icinga"
//host = "localhost"
//database = "icinga"
...a upravte je pomocí uživatele/hesla, které jste právě vytvořili.
user = "icinga"
password = "$someIcingaPassword"
host = "localhost"
database = "icinga"
Ujistěte se, že jste odkomentovali řádky odstraněním prvních dvou lomítek.
Poté restartujte službu, aby se změny projevily.
sudo service icinga2 restart
Budete muset přidat připojení mezi klientský server a Icinga2 master, které již bylo nakonfigurováno. Budete to muset udělat pomocí brány Firewalld na CentOS 7 nebo IPTables v CentOS 6 nebo 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
Nyní upravte soubor hostitelů a přidejte hlavní server jako název místní domény.
sudo vi /etc/hosts
...
$masterIP icinga2master icinga2master.example.com
Tento krok je třeba provést na masteru Icinga2. Budete jej muset inicializovat jako hlavní a poté vygenerovat žádost o podpis certifikátu, kterou bude váš klient používat ke komunikaci.
sudo icinga2 node wizard
Tím se spustí průvodce uzlem, který položí několik otázek. Obrazovka bude vypadat následovně a odpovědi, které zadáte, jsou uvedeny.
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!
Poté restartujte Icinga2, aby se změny projevily.
sudo service icinga2 restart
Nyní, když je to hlavní, můžete jej použít ke generování řetězce žádosti o podpis certifikátu.
sudo icinga2 pki ticket --cn icinga2client.example.com
Získáte nějaký řetězec $pkiString
. Zkopírujte tento řetězec, jak jej budete potřebovat na klientovi.
Spusťte průvodce uzlem, vygenerujte certifikáty a připojte se k hlavnímu serveru.
sudo icinga2 node wizard
Přijde s podobnou stránkou jako výše. Tato stránka je zobrazena níže včetně odpovědí.
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!
Pokračujte a restartujte Icinga2, abyste získali změny.
sudo icinga2 restart
To již může být provedeno, ale musíte se ujistit, že jsou povoleny funkce příkazu a rozhraní API.
sudo icinga2 feature enable command
sudo icinga2 feature enable api
If they weren't enabled, it will say "feature enabled", so you'll need to restart the Icinga2 daemon. But first, you need to change ownership of the files in the /etc/icinga2
directory, as some of them have the wrong permissions after running the node wizard. They should all have their owner and group set to icinga
. Change the permissions by using the following command:
sudo chown -R icinga:icinga /etc/icinga2/
Now, you can restart the Icinga2 daemon.
sudo service icinga2 restart
The client configuration requires editing a few different files.
/etc/icinga2/zones.conf
: Contains the endpoints (servers) and zones that contain them. This is how the servers are partitioned. Make sure the client names match the server names./etc/icinga2/icinga2.conf
: You are accepting commands and configs from the master, so you need to do a minor edit on this file to avoid duplicate command definitions.First, we're going to modify the zones.conf
file to define the server and the zone it's in, as well as creating a "global" zone for command definitions that are universal to ALL servers, instead of unique to each (such as disk checks).
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
}
It is important to know, there can only be 2 nodes per zone at the moment. You can make as many zones as you wish, but if there are more than 2 nodes per zone there is a chance that the Icinga2 service will not work properly. This is not a problem on the client, unless you already have 2 nodes in the zone clientZone
, in which case you will need to make another zone name.
Now, make the modification in the /etc/icinga2/icinga2.conf
file. You need to comment out the line include_recursive "conf.d"
.
sudo vi /etc/icinga2/icinga2.conf
...
//include_recursive "conf.d"
...
Verify config to ensure that everything is formatted correctly.
sudo icinga2 daemon -C
Pokud máte problémy s oprávněními, je to pravděpodobně proto, že danou položku vlastní root:root
. Chown icinga:icinga
to vyřešit.
sudo chown -R icinga:icinga /etc/icinga2/
Existují další problémy s konfiguracemi, obecně budou informace poskytnuté z výstupu sudo icinga2 daemon -C
příkazu dostatečně podrobné, aby je bylo možné vystopovat. Řešení každého potenciálního problému, který se objeví, je mimo rozsah této příručky.
Pokud ověření proběhne úspěšně, pokračujte a znovu načtěte službu:
sudo service icinga2 restart
icinga
Aby bylo možné spouštět příkazy, budete muset uživateli udělit oprávnění sudo. Tato oprávnění sudo budou omezena na konkrétní adresář pluginu. To lze pouze umístit na konec souboru.
sudo vi /etc/sudoers
...
Defaults:icinga !requiretty
icinga ALL=(ALL) NOPASSWD: /usr/lib64/nagios/plugins/
Nyní je konfigurace klienta oficiálně dokončena. Neměli byste provádět žádné další úpravy, veškeré kontroly služeb se nakonfigurují na hlavním serveru a rozšíří se dolů ke klientovi. Budete však muset nainstalovat další zásuvné moduly, které budete potřebovat. Zásuvné moduly lze také psát pomocí pythonu, perlu, BASH, PHP a dalších skriptovacích jazyků.
Budete se muset vrátit k hlavnímu zařízení a nakonfigurovat klienta tak, aby jej bylo možné připojit. Je potřeba provést několik kroků:
repository.d
.Konfigurace hostitele bude vložena do /etc/icinga2/repository.d/hosts/icinga2client.example.com.conf
souboru.
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
Nyní hostitel existuje v konfiguraci klienta, ale je třeba jej umístit do zóny. Tato zóna bude ve /etc/icinga2/repository.d/zones
složce se stejným názvem jako název zóny, aby bylo snazší ji sledovat.
sudo vi /etc/icinga2/repository.d/zones/clientZone.conf
object Zone "clientZone" {
endpoints = [ "icinga2client.example.com" ]
parent = "icinga2master.example.com"
}
Dále musíte přidat global-templates
zónu.
sudo vi /etc/icinga2/repository.d/zones/global-templates.conf
object Zone "global-templates" {
global = true
}
Nakonec přidejte koncový bod klienta, aby se pole koncových bodů "clientZone" při spuštění naplnilo.
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"
}
Abyste se ujistili, že neexistují žádné problémy s oprávněními, pokračujte a znovu změňte vlastníka/skupinu.
sudo chown -R icinga:icinga /etc/icinga2
Ověřte změny konfigurace, abyste se ujistili, že neexistují žádné další problémy.
sudo icinga2 daemon -C
Pokud ověření proběhne úspěšně, pokračujte v opětovném načtení.
sudo service icinga2 restart
Pokud navštívíte svůj web Icinga2, uvidíte, že se server stane přístupným.
Můžete narazit na chyby týkající se „příkaz nenalezen“ nebo „kontrola není definována“. Zde vstupuje do hry zóna globálních šablon. Budete muset zkopírovat konfiguraci do /etc/icinga2/conf.d/
souborů a vložit je do /etc/icinga2/zones.d/global-templates/
souborů. Chcete-li například vytvořit příkaz „check_software“, musíte provést následující.
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
Souboru budou muset existovat ve /usr/lib64/nagios/plugins
složce na klientovi .
Dále do /etc/icinga2/repository.d/hosts/services.conf
souboru přidejte kontrolu služby .
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
}
Budete muset znovu změnit oprávnění.
sudo chown -R icinga:icinga /etc/icinga2
Poté znovu ověřte konfiguraci.
sudo icinga2 daemon -C
Nakonec, pokud se to podaří, načtěte znovu:
sudo service icinga2 restart
Gratulujeme! Nyní používáte Icinga2 v modelu master-client a nyní se můžete vyhnout nutnosti používat nezabezpečené kontroly NRPE!
Používáte jiný systém? Plesk je proprietární ovládací panel webového hostitele, který umožňuje uživatelům spravovat jejich osobní a/nebo klientské webové stránky, databáze
Squid je populární bezplatný linuxový program, který vám umožňuje vytvořit webový proxy pro předávání. V této příručce uvidíte, jak nainstalovat Squid na CentOS, aby vás otočil
Úvod Lighttpd je fork Apache, jehož cílem je být mnohem méně náročný na zdroje. Je lehký, odtud jeho název, a jeho použití je docela jednoduché. Installin
VULTR nedávno provedl změny na jejich konci a vše by nyní mělo fungovat dobře po vybalení s povoleným NetworkManagerem. Pokud si přejete deaktivovat
Icinga2 je výkonný monitorovací systém a při použití v modelu master-client může nahradit potřebu monitorovacích kontrol založených na NRPE. Hlavní klient
Používáte jiný systém? Apache Cassandra je bezplatný a otevřený systém pro správu databází NoSQL, který je navržen tak, aby poskytoval škálovatelnost, vysokou
Používáte jiný systém? Microweber je open source drag and drop CMS a online obchod. Zdrojový kód Microweber je hostován na GitHubu. Tento průvodce vám to ukáže
Používáte jiný systém? Vanilla forum je open source aplikace fóra napsaná v PHP. Je plně přizpůsobitelný, snadno použitelný a podporuje externí
Používáte jiný systém? Mattermost je open source alternativa k zasílání zpráv Slack SAAS s vlastním hostitelem. Jinými slovy, s Mattermostem můžete ca
Co budete potřebovat Vultr VPS s alespoň 1 GB RAM. Přístup SSH (s oprávněními root/administrátor). Krok 1: Instalace BungeeCord První věci
Ovládací panel Plesk se vyznačuje velmi pěknou integrací pro Lets Encrypt. Lets Encrypt je jedním z jediných poskytovatelů SSL, kteří rozdávají kompletní certifikáty
Lets Encrypt je certifikační autorita určená k bezplatnému poskytování certifikátů SSL. cPanel vytvořil úhlednou integraci, takže vy a váš klient
Používáte jiný systém? Concrete5 je open source CMS, který nabízí mnoho charakteristických a užitečných funkcí, které pomáhají editorům snadno vytvářet obsah
Používáte jiný systém? Review Board je bezplatný a open source nástroj pro kontrolu zdrojového kódu, dokumentace, obrázků a mnoha dalších. Je to webový software
V této příručce se dozvíte, jak nastavit HTTP ověřování pro webový server Nginx běžící na CentOS 7. Požadavky Chcete-li začít, budete potřebovat
YOURLS (Your Own URL Shortener) je open source aplikace pro zkracování adres URL a analýzu dat. V tomto článku se budeme zabývat procesem instalace
Používáte jiný systém? Úvod ArangoDB je open source databáze NoSQL s flexibilním datovým modelem pro dokumenty, grafy a páry klíč–hodnota. to je
Úvod Adresář /etc/ hraje kritickou roli ve způsobu fungování systému Linux. Důvodem je skutečnost, že téměř každá konfigurace systému
Mnoho systémových administrátorů spravuje velké množství serverů. Když je potřeba přistupovat k souborům přes různé servery, přihlaste se ke každému zvlášť ca
Tento návod pokryje proces instalace herního serveru Half Life 2 na systém CentOS 6. Krok 1: Instalace předpokladů Aby bylo možné nastavit ou
Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.
Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.
Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.
Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.
Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…
Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.
Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.
Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.
V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.
Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více