Coppwr, tj. GUI nástroj pro nízkoúrovňové ovládání PipeWire, byl vydán v nové verzi 1.6.0. Zdrojové kódy jsou k dispozici na GitHubu. Instalovat lze také z Flathubu.
Byla vydána dubnová aktualizace aneb nová verze 1.89 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Vypíchnout lze, že v terminálu lze nově povolit vkládání kopírovaného textu stisknutím středního tlačítka myši. Ve verzi 1.89 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-1 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.
Byla vydána verze 1.78.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.
Služba Dropbox Sign (původně HelloSign) pro elektronické podepisování smluv byla hacknuta.
Byla vydána nová major verze 8.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah. Volbou --modernbindings (-/) lze povolit "moderní" klávesové zkratky: ^C kopírování, ^V vložení, ^Z vrácení zpět, … Tato volba je aktivována také pokud binárka s nano nebo link na ni začíná písmenem "e".
Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).
Byla vydána nová verze 12.0 minimalistické linuxové distribuce (JeOS, Just enough Operating System) pro Kodi (dříve XBMC) a multimediálního centra LibreELEC (Libre Embedded Linux Entertainment Center). Jedná se o fork linuxové distribuce OpenELEC (Open Embedded Linux Entertainment Center). LibreELEC 12.0 přichází s Kodi 21.0 "Omega".
Microsoft vydal novou velkou aktualizaci 2404.23 v září 2019 pod licencí SIL Open Font License (OFL) zveřejněné rodiny písma Cascadia Code pro zobrazování textu v emulátorech terminálu a vývojových prostředích.
OpenTofu, tj. svobodný a otevřený fork Terraformu vzniknuvší jako reakce na přelicencování Terraformu z MPL na BSL (Business Source License) společností HashiCorp, bylo vydáno ve verzi 1.7.0. Přehled novinek v aktualizované dokumentaci. Vypíchnout lze State encryption.
S instalací Centreon se nám instalují i další skripty. Můžeme říci, že tato sada je celkem dostačující pro běžné monitorování. Skripty se nacházejí v adresáři
/usr/lib/nagios/plugins/
Většinou jsou skripty zkompilované do binární formy (psané např. v C), ale mohou to být skripty v Perlu, Bashi aj. Jejich výstup a nejen ten by měl být podle určitého vzoru. Pro skripty jsou rezervované následující volby, které by neměly být použity k ničemu jinému:
-V version (--version)
-h help (--help)
-t timeout (--timeout)
-w warning threshold (--warning)
-c critical threshold (--critical)
-H hostname (--hostname)
-v verbose (--verbose)
Mezi další standardní volby patří ještě tyto:
-C SNMP community (--community)
-a authentication password (--authentication)
-l login name (--logname)
-p port or password (--port or --passwd/--password)monitors operational
-u url or username (--url or --username)
Každý skript musí splňovat ještě další dvě základní věci. První a tou nejdůležitější je POSIXová návratová hodnota na výstupu STDOUT (neposílat nic na STDERR), jež by měla mít jednu z následujících hodnot:
Návratová hodnota | Stav služby | Stav zařízení |
0 | OK | UP |
1 | WARNING | UP nebo DOWN/UNREACHABLE |
2 | CRITICAL | DOWN/UNREACHABLE |
3 | UNKNOWN | DOWN/UNREACHABLE |
Stavy OK, WARNING, CRITICAL jsou jasné, stav UNKNOWN patří nečekané chybě, třeba chybě skriptu.
Klasický výstup by měl být textový, jednořádkový (Nagios 3 už umí zacházet i s víceřádkovými) a maximální počet znaků by neměl přesáhnout 80 na řádek. Formát by měl být následující:
STAV: Informační text
Critical: Plugin timed out after 10 seconds
PING Critical: Plugin timed out after 10 seconds
Nyní si ukážeme velmi jednoduchý skript v Perlu, který nebude dělat nic jiného, než předhazovat stavy podle tabulky výše. Skript vytvoříme na následující cestě a dáme mu jméno "test":
nano -w /usr/lib/nagios/plugins/test
Obsah skriptu bude následující (myslím, že komentáře mluví za vše):
#!/usr/bin/perl -w use strict; use warnings; # definování globálních proměných: my $help; my $version; my $warning; my $critical; my $ok; # definování parametrů skriptu: use Getopt::Long qw(Configure GetOptions); Configure('bundling'); GetOptions ("h" => \$help, "help" => \$help, "V" => \$version, "version" => \$version, "critical" => \$critical, "warning" => \$warning, "ok" => \$ok ); # parametr --help s návratovou hodnotou 3 = unknown if ($help) { print "-h (--help) napoveda -V (--version) verze programu --ok vse je ok --warning varovna hodnota --critical pokusny vypis chyby pro nagios\n"; exit 3; } # paramtr --version s návratovou hodnotou 3 = unknown if ($version) { print "Verze programu je pip\n"; exit 3; } # paramtr --ok s návratovou hodnotou 0 = ok if ($ok) { print "Ok: vsechno funguje\n"; exit 0; } # paramtr --warning s návratovou hodnotou 1 = warning if ($warning) { print "Warning: Franto, nejaky prusvih\n"; exit 1; } # paramtr --critical s návratovou hodnotou 2 = critical if ($critical) { print "Critical: Spadlo to\n"; } exit 2;
Neměli bychom mu také zapomenout nastavit práva pro spouštění:
chmod 755 /usr/lib/nagios/plugins/test
Nyní si ho můžeme v příkazové řádce lehce otestovat:
debian-test# /usr/lib/nagios/plugins/test --help
-h (--help) napoveda
-V (--version) verze programu
--ok vse je ok
--warning varovna hodnota
--critical pokusny vypis chyby pro nagios
Pokud se někomu zobrazuje při spuštění skriptů Centreonu nebo našeho skriptu hláška (viz /var/log/nagios2/nagios.log)
Can't locate Config/IniFiles.pm in @INC ...
tak potřebuje doinstalovat perl modul pro použití rozšíření CPAN. Na Debianu/Ubuntu by to řešil např. následující příkaz:
aptitude install libconfig-inifiles-perl
Nebo ručně, což nedoporučuji:
perl -MCPAN -e 'install Config::IniFiles'
Nyní, když máme skript vytvořen, zcela funkční a na správném místě, můžeme ho začít testovat v prostředí Centreon. Nejdříve si vytvoříme samotný příkaz, poté hosta a nakonec službu, na kterých budeme onen příkaz testovat.
V nabídce Configuration -> Commands si vytvoříme pomocí položky "add" checkovací příkaz s názvem třeba "test">
Vysvětlení příkazu:
Nyní si ukážeme příklady, které jsou naprosto totožné, jen jinak zapsané (vše se stále vztahuje ke kolonce "Command line" v Centreon):
/usr/lib/nagios/plugins/test --ok
$USER1$/test --ok
$USER1$/test $ARG1$ #argument pak musíme později definovat jako !--ok
$USER1$/test --$ARG1$ #argument pak musíme později definovat jako !ok
Další příklad, tentokrát s více argumenty (využijeme přímo hotového skriptu check_ftp). Když si vypíšete nápovědu ke skriptu check_ftp, tak zjistíte, že má mnohem více parametrů, než jen definici koncového zařízení, jak je to použito v Nagiosu:
$USER1$/check_ftp -H $HOSTADDRESS$
Tento příkaz si můžeme přepsat třeba nějak takto:
$USER1$/check_ftp -H $HOSTADDRESS$ -p $ARG1$ -$ARG2$
Když tomuto skriptu předáme parametry !2221!4, tak vlastně provedeme příkaz
$USER1$/check_ftp -H $HOSTADDRESS$ -p 2221 -4
A kde tedy předáváme ony parametry příkazu? Nu, jak už jsme řekli, přímo v nastavení daného zařízení (hosta) nebo služby. Takže si vytvoříme hosta podle tohoto vzoru:
Nyní ještě službu (nezapomeňte ji přiřadit k hostu v záložce Relations):
Dále už jen exportujete nastavení do Nagiosu a znovu ho načtete (Configuration -> Nagios atd., znáte z minula...). Nyní by se vám mělo přidat jedno zařízení a jedna služba a obě by měly být OK. Zkoušejte si pak měnit parametry z !ok na !warning, popř. !critical a uvidíte, jak se to bude pěkně projevovat. Po změně parametrů samozřejmě nezapomínejte znovu exportovat nastavení do Nagiosu.
To je otázka. Pokud potřebujete zjišťovat stavy nějaké služby nebo zařízení a nemůžete proto najít vhodný skript, tak se ještě podívejte na stránku http://www.nagiosexchange.org, kde najdete velké množství checkovacích skriptů a dalších rozšířeních.
Abychom mohli odesílat e-maily, tak potřebujeme nějaký poštovní server. Nejvíce připadají v úvahu dvě možnosti. Buď si nainstalujeme a nakonfigurujeme vlastní poštovní server, který bude nezávislý (schránky atd.), nebo se s tím nebudeme plácat a prostě nainstalujeme nějaký poštovní server a nastavíme mu přeposílání na nějaký jiný, který jsme do teď spokojeně využívali. První možnost vyžaduje větší úsilí, připojení k Internetu a vydala by na samostatný článek, kterých už stejně bylo napsáno mnoho. Druhá varianta je jednoduchá a stručná, takže ji zmíním :-).
Druhá varianta se hodí pro lidi, kteří už používají nějaký e-mailový server, mají na něm vlastní schránky atd., takže by zbytečně rozjížděli plnohodnotnou duplicitní věc. Příkladem budiž firma, která má v lokální síti vlastní server, jenž je připojen do Internetu a stará se o veškerou e-mailovou komunikaci. My nainstalujeme na server s Nagiosem jen SMTP server a nastavíme mu přeposílání na náš stávající e-mailový server (na něm by měla být nastavená IP adresa Nagiosu jako důvěryhodného serveru)
Tak jdeme instalovat a konfigurovat SMTP server Postfix (na Debian):
aptitude install postfix
a upravíme soubor /etc/postfix/main.cf:
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h myhostname = debian-nagios.debian-nagios.cz mydomain = nagios alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases # pokud chcete, aby e-mail od Nagiosu vypadal takto: # admin@nagios.cz, tak do mailname napište: nagios.cz myorigin = /etc/mailname mydestination = $myhostname, localhost.$mydomain, $mydomain # IP adresa serveru, kam se mají e-maily přeposílat: relayhost = 192.168.1.100 relay_domains = $mydomain transport_maps = hash:/etc/postfix/transport # adresy, které mají povoleno využivat tento SMTP server # (v tomto případě jen server sám o sobě) a pak server, # na který jsou e-maily posílány mynetworks = 192.168.1.100, 127.0.0.0/8 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all
Dále je třeba ještě upravit /etc/postfix/transport:
nagios smtp:[192.168.1.100]:25
Nakonec ještě restart Postfixu a je to:
/etc/init.d/postfix restart
Pokud nechcete čekat na Nagios, tak si můžete zkusit poslat e-mail z příkazové řádky:
echo "Ahoj chlape, jak se vede?" | mail maxdevaine@volny.cz
Zda se e-mail odeslal, se můžete dozvědět v logu:
cat /var/log/mail.info
Příště moduly.
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
use utils qw(usage %ERRORS); exit $ERRORS{WARNING};vracet tvrde cisla se do budoucna nemusi vyplatit
centreon (v mém článku, v návodech je ještě postaru oreon) cds (centreon data storage)Veškeré nastavení má centreon uloženo v db. S nagiosem komunikuje tak, že v centreonu jednoduše naklikáte nastavení, které potom jedním tlačítkem vyexportujede do konfiguračních souborů nagiosu a zároveň nagios reloadnete, aby si je načetl.
/usr/lib/nagios/cgi/status.cgiDále pak pro mapu :
/usr/lib/nagios/cgi/statusmap.cgiatd.