GNU/Linux >> Znalost Linux >  >> Fedora

Monitorování serveru pomocí munin a monit na Fedoře 7

V tomto článku popíšu, jak můžete monitorovat váš server Fedora 7 pomocí munin a monit. munin vytváří šikovnou malou grafiku o téměř každém aspektu vašeho serveru (průměrné zatížení, využití paměti, využití CPU, propustnost MySQL, provoz eth0 atd.) bez velké konfigurace, zatímco monit kontroluje dostupnost služeb jako Apache, MySQL, Postfix a bere příslušná akce, jako je restart, pokud zjistí, že se služba nechová podle očekávání. Kombinace těchto dvou vám poskytuje plné monitorování:grafika, která vám umožní rozpoznat aktuální nebo nadcházející problémy (jako „Brzy potřebujeme větší server, naše průměrná zátěž se rychle zvyšuje.“) a hlídací pes, který zajišťuje dostupnost monitorovaných služeb. .

Přestože munin umožňuje monitorovat více než jeden server, zde se budeme zabývat pouze monitorováním systému tam, kde je nainstalován.

Tento tutoriál byl napsán pro Fedoru 7, ale konfigurace by se měla s malými změnami týkat i jiných distribucí.

Nejprve chci říci, že to není jediný způsob, jak nastavit takový systém. Existuje mnoho způsobů, jak tohoto cíle dosáhnout, ale já volím tento způsob. Neposkytuji žádnou záruku, že to pro vás bude fungovat!

1 předběžná poznámka

Hostname našeho systému je server1.example.com a máme na něm web www.example.com s kořenem dokumentu /var/www/www.example.com/web.

2 Instalace a konfigurace munin

Chcete-li nainstalovat munin na Fedoru 7, uděláme toto:

yum install munin munin-node

Poté vytvoříme odkazy pro spuštění systému pro munin a spustíme jej:

chkconfig --levels 235 munin-node na
/etc/init.d/munin-node start

Dále musíme upravit konfigurační soubor munin /etc/munin/munin.conf. Chceme, aby munin dal svůj výstup do adresáře /var/www/www.example.com/web/monitoring, proto změníme hodnotu htmldir a chceme, aby místo localhost používal název server1.example.com. localdomain ve výstupu HTML, proto nahradíme localhost.localdomain server1.example.com. Bez komentářů vypadá změněný soubor takto:

vi /etc/munin/munin.conf
[...]dbdir /var/lib/muninhtmldir /var/www/www.example.com/web/monitoringlogdir /var/log/ muninrundir /var/run/munin# Kde hledat HTML šablonustmpldir /etc/munin/templates[...]# jednoduchý hostitelský strom[server1.example.com] adresa 127.0.0.1 use_node_name ano[...] 

Dále vytvoříme adresář /var/www/www.example.com/web/monitoring a změníme jeho vlastnictví na uživatele a skupinu munin, jinak munin nemůže umístit svůj výstup do tohoto adresáře. Poté restartujeme munin:

mkdir -p /var/www/www.example.com/web/monitoring
chown munin:munin /var/www/www.example.com/web/monitoring
/etc/init .d/munin-node restart

Nyní počkejte několik minut, aby munin mohl vytvořit svůj první výstup, a poté přejděte ve svém prohlížeči na http://www.example.com/monitoring/ a uvidíte první statistiky. Po několika dnech by to mohlo vypadat takto:

(Toto je jen malý výňatek z mnoha grafik, které munin produkuje...)

3 Ochrana heslem Výstupní adresář munin (volitelné)

Nyní je dobré chránit heslem adresář /var/www/www.example.com/web/monitoring, pokud nechcete, aby každý mohl vidět každou malou statistiku o vašem serveru.

Za tímto účelem vytvoříme soubor .htaccess ve /var/www/www.example.com/web/monitoring:

vi /var/www/www.example.com/web/monitoring/.htaccess
AuthType BasicAuthName "Pouze členové"AuthUserFile /var/www/www.example.com/.htpasswdvyžadovat platného uživatele

Poté musíme vytvořit soubor s hesly /var/www/www.example.com/.htpasswd. Chceme se přihlásit s uživatelským jménem admin, takže uděláme toto:

htpasswd -c /var/www/www.example.com/.htpasswd správce

Zadejte heslo pro správce a máte hotovo!

4 Instalace a konfigurace monit

monit není dostupný z oficiálních repozitářů Fedory 7, ale z repozitářů RPMforge (pokyny viz http://dag.wieers.com/rpm/FAQ.php#B2). Nainstalujeme balíček RPMforge pro RHEL 5, který funguje také pro Fedoru 7:

rpm -Uhv http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

Poté nainstalujeme monit:

yum install monit

Poté vytvoříme odkazy pro spuštění systému pro monit:

chkconfig --levels 235 monit on

výchozí konfigurační soubor monitu je /etc/monit.conf, kde můžete najít příklady konfigurace (další příklady konfigurace najdete na http://www.tildeslash.com/monit/doc/examples.php), které jsou všechny zakomentovány, ale říká monitu, aby také hledal konfigurační soubory v adresáři /etc/monit.d, takže místo úpravy /etc/monit.conf vytvoříme nový konfigurační soubor /etc/monit.d/monitrc. V mém případě chci monitorovat proftpd, sshd, mysql, Apache a postfix, chci povolit webové rozhraní monit na portu 2812, chci webové rozhraní https, chci se přihlásit in do webové rozhraní s uživatelským jménem admin a testem hesla a chci, aby monit zasílal e-mailová upozornění na [email protected], takže můj soubor vypadá takto:

vi /etc/monit.d/monitrc
set daemon 60set logfile syslog facility log_daemonset mailserver localhostset mail-format { from:[email protected] }set alert [email protected]set httpd port 2812 and SSL POVOLIT PEMFILE /var/certs/monit.pem povolit proces admin:testcheck proftpd s pidfile /var/run/proftpd.pid spustit program ="/etc/init.d/proftpd start" zastavit program ="/etc/init. d/proftpd stop" pokud selže protokol ftp portu 21, potom restart, pokud se 5 restartuje během 5 cyklů, pak časový limit zkontroluj proces sshd pomocí souboru pidfile /var/run/sshd.pid spustí program "/etc/init.d/sshd start" zastaví program "/ etc/init.d/sshd stop" pokud selže protokol ssh portu 22, potom restartujte, pokud se během 5 cyklů restartuje 5, pak timeout zkontrolujte proces mysql pomocí pidfile /var/run/mysqld/mysqld.pid skupinovou databázi spusťte program ="/etc/init. d/mysqld start" stop program ="/etc/init.d/mysqld stop" pokud selže hostitel 127.0.0.1 port 3306, restartuje se, pokud se 5 restartuje během 5 cyklů, pak kontrola časového limitu p rocess apache se skupinou pidfile /var/run/httpd.pid www start program ="/etc/init.d/httpd start" stop program ="/etc/init.d/httpd stop" pokud selže hostitel www.example.com protokol http portu 80 a požadavek „/monit/token“, poté restartujte, pokud je cpu větší než 60 % po 2 cykly, poté upozorněte, pokud je cpu> 80 % po 5 cyklů, restartujte, pokud totalmem> 500 MB po 5 cyklů, restartujte, pokud děti> 250 poté restartujte, pokud je loadavg(5min) větší než 10 po dobu 8 cyklů, poté zastavte, pokud se během 5 cyklů restartují 3, poté timeout zkontrolujte proces postfixu pomocí pidfile /var/spool/postfix/pid/master.pid skupinový program spuštění pošty ="/etc/init. d/postfix start" stop program ="/etc/init.d/postfix stop" pokud selže protokol smtp portu 25, restartuje se, pokud se během 5 cyklů restartuje 5, pak vyprší časový limit

(Ujistěte se prosím, že kontrolujete pouze procesy, které skutečně existují na vašem serveru – jinak se monit nespustí. To znamená, že když řeknete monitu, aby zkontroloval Postfix, ale Postfix není v systému nainstalován, monit se nespustí.)

Konfigurační soubor je docela samovysvětlující; pokud si nejste jisti některou možností, podívejte se na dokumentaci monit:http://www.tildeslash.com/monit/doc/manual.php

V části Apache konfigurace monit najdete toto:

 pokud selhal protokol http hostitele www.example.com portu 80 a požadavek „/monit/token“, restartujte

což znamená, že monit se pokusí připojit k www.example.com na portu 80 a pokusí se získat přístup k souboru /monit/token, který je /var/www/www.example.com/web/monit/token, protože kořen dokumentu našeho webu je /var/www/www.example.com/web. Pokud monit neuspěje, znamená to, že Apache neběží a monit jej restartuje. Nyní musíme vytvořit soubor /var/www/www.example.com/web/monit/token a napsat do něj nějaký náhodný řetězec:

mkdir /var/www/www.example.com/web/monit
echo "hello"> /var/www/www.example.com/web/monit/token

Dále vytvoříme pem cert (/var/certs/monit.pem), který potřebujeme pro webové rozhraní monit šifrované SSL:

mkdir /var/certs
cd /var/certs

K vytvoření našeho certifikátu potřebujeme konfigurační soubor OpenSSL. Může to vypadat takto:

vi /var/certs/monit.cnf
# create RSA certs - ServerRANDFILE =./openssl.rnd[ req ]default_bits =1024encrypt_key =yesdistinguished_name =req_dnx509_extensions =cert_type[ req_country ] (2 písmenný kód)countryName_default =MOstateOrProvinceName =Název státu nebo provincie (celý název)stateOrProvinceName_default =MonitorialocalityName =Název lokality (např. město)locality_default =MonittownorganizationName =Název organizace (např. společnost) Název_organizační jednotky (výchozí název_organizace =Monit Inc.organization např. section)organizationalUnitName_default =Oddělení monitorovacích technologiícommonName =Běžný název (FQDN vašeho serveru)commonName_default =server.monit.moemailAddress =E-mailová adresaemailAddress_default =[e-mail chráněný][ cert_type ]nsCertType =server

Nyní vytvoříme certifikát takto:

openssl req -new -x509 -days 365 -nodes -config ./monit.cnf -out /var/certs/monit.pem -keyout /var/certs/monit.pem
openssl gendh 512>> /var/certs/monit.pem
openssl x509 -předmět -dates -otisk prstu -noout -in /var/certs/monit.pem
chmod 700 /var/certs/monit.pem

Konečně můžeme začít monit:

/etc/init.d/monit start

Nyní nasměrujte svůj prohlížeč na https://www.example.com:2812/ (ujistěte se, že port 2812 není blokován vaším firewallem), přihlaste se pomocí admin a otestujte a měli byste vidět webové rozhraní monit. Mělo by to vypadat takto:

(Hlavní obrazovka)

(Stránka stavu Apache)

V závislosti na vaší konfiguraci v /etc/monit.d/monitrc monit restartuje vaše služby, pokud selžou, a odešle e-maily s upozorněním, pokud se změní ID procesů služeb atd.

Bavte se!

  • munin:http://munin.projects.linpro.no
  • monit:http://www.tildeslash.com/monit/index.php

Fedora
  1. Vytvoření samostatného úložného serveru podobného NFS pomocí GlusterFS na Fedoře 12

  2. Vytvoření samostatného úložného serveru podobného NFS pomocí GlusterFS na Fedoře 13

  3. Instalace Fedora Server 22 – Krok za krokem se snímkem obrazovky

  1. Monitorování serveru pomocí Icinga 2 a Icingaweb 2 na CentOS 7

  2. Jak nainstalovat a nakonfigurovat Postgres 14 na Fedoře 34

  3. Monitorujte server pomocí Munina

  1. Průvodce instalací serveru Fedora 27 se snímky obrazovky

  2. Nainstalujte Fedoru s Windows 8 | Duální spouštění Windows 8 a Fedora 16

  3. Instalace Fedora Server 23 – Krok za krokem se snímkem obrazovky