Portál AbcLinuxu, 1. května 2025 11:00

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
1.2.2008 00:35 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
Odpovědět | Sbalit | Link | Blokovat | Admin
Moc pěkné. :-) Něco takového si chci vyrobit taky, jen v jazyku postiženém parenthetitidou. A možná jen nad Xkama, Gtk je pro mazánky. :-D Maje "podivné" připojení k síti, rád bych si nějak inteligentně zobrazoval SNMP data z našich dvou bran. Chvílema mám pocit, že v tom je nějakej (ne)řád. :-/
Jak moc jsou ábíčkáři inteligentní? ;-)
Přemek Vyhnal avatar 1.2.2008 12:36 Přemek Vyhnal | skóre: 24 | blog: Toto není blog! | Dobřichovice
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
"jen nad Xkama" by me mozna taky zajimalo.. ale neumim to ;) Gtk jsem zvladnul jenom protoze jsem mel hotovej priklad ;)
NO RAPTORS!
1.2.2008 01:12 Kvakor
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
Odpovědět | Sbalit | Link | Blokovat | Admin
Pekne. Ten kombinovany tooltip je chytry napad - ja pouzivam System Monitor applet a ten ukazuje tooltipy jen ke kazdemu merici zvlast. Tohle je chytrejsi.

Mereni sitoveho provozu bych pravdepodobne udelal buddto s promenou velikosti maxima, nebo bych se uplne vykaslal na procenta a pouzil napr. logaritmickou stupnici, na ktere jsou videt male toky stejne jako velke. Bohuzel se z ni spatne odcita aktualni rychlost (ale ta je stejne v tooltipu).

Jako jedinou nevyhodu videl nutno neustaleho spousteni novych procesu pro free a amixer. To free lze celkem snadno nahradit parsovanim /proc/meminfo, bohuzel u zvuku mne nic takhle jednoducheho nenapada, leda si cist stav mixeru svepomoci (pokud vim, minimalne na urovni OSS by to mel Perl mohl).

Ja osobne mam neco podobneho, az na to, ze misto do listy (kde uz na to mam gnomacke applety) bezi na pozadi jako demon a zobrazuje udaj na dvojte segmisegmentovce a nekolika diodach. Audio a pamet neumi (mam 2GB a zvuk nastavuju 99% casu na zesilovaci), ale zase ctu teploty a otacky ventilatoru ze senzoru pres /sys. Pokud by nekdo chtel neco podobneho a bez pouzit libsensors, tak je nutne soubor pokazde znovu otevrit, seekovani na zacatek nezpusobi update obsahu (leda ze by to v novych jadrech opravili).

BTW: Nekolisa ta zatez procesru moc? Ja pouzivam zprumerovavani ze ctyr po sobe jdoucich hodnot a jeste delam potlaceni fluktuace. Pro zobrazeni v tray to mozna tak nevadi, ale u display zobrazujiciho cisla to znamena docela velky rozdil. A osobne pocitam do "idle" stavu pouze idle a iowait (tj. ctvrtou a patou hodnotu z /proc/stats).
Přemek Vyhnal avatar 1.2.2008 12:49 Přemek Vyhnal | skóre: 24 | blog: Toto není blog! | Dobřichovice
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
ten free nahradim to jo, diky

o tom zprumerovani sem taky premejslel.. no kolisa to tak trosku;).. nevadi to .. taky ze to obnovuje jenom jednou za vterinu. Kdyby se to prumerovalo za delsi dobu tak by zas nebyla hned videt zmena.

a jak mas zapojeny ty segmentovky a diody? neco takovyho taky chystam .) mam tady par LEDek na paralelni port a k nim script na binarni hodiny ;) vytizeni ram a tak... Asi bych ty ledky dal do zaslepky na pozici cd mechaniky ale nez tu zaslepku zacnu nicit tak bych radsi sehnal nakou jinou ktera tam bude pasovat ;)
NO RAPTORS!
1.2.2008 15:59 Kvakor
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
Ja zpumerovani mam, protoze to obnovuju ctyrikrat za sekundu. U jednosekundovych intervalu to ale nejspis vadit nebude. Jedina nevyhoda zprumerovani je to, ze trva jednu sekundu, nez ze po prepnuti zobrazi nejaka smyslupna hodnota.

Ty moje sedmisegmentovky jsou pripojeny pres dva BCD dekodery 74LS48 na vystupy D0-D3 a D4-D7 z paraleniho portu (piny 2 az 9), jejich ~BI vstupy jsou zapojeny na STROBE (pin 1), aby svitily az kdyz je nahodim. Neni treba ani plosnak - mam prislusne vystupy patic a sedmisegmentovky propojene draty, oba obvody jsou pro jistotu v paticich a cele je to zalite lepici pistoli do jedineho bloku, z ktereho koukaji jenom dva dekodery. Ostani LEDky jsou pripojene pres odpory (pokud si pamatuju, tak 220 Ohmu) k zbyvajicim trem vystupum, pokud tam budou jenom LEDky, tak je staci pripojit na vystupy D0 az D7 pres odpor (podle typu) k zemi.

Ovladaci demon je v Ccku, rezidnente ma obsazeno asi 470KB (na 64bitech) a pouziva dve vlakna (jedno na heartbeat, druhe na senzorove udaje). Pouziva jen libc a libpthread, veskera aritmetika je celociselna (pozustatek z doby, kdy to jeste melo vyznam). Tlacitka se ctou pollingem, takze se musi chvilku podrzet. Hearbeat je nastaveny na realtime prioritu, abych vedel, ze stroj opravdu bezi (kdyz neblika, je stroj na 99.9% tvrde rizly). Demona startuju v okamziku, kdy se namountuje /proc. Kdysi jsem mel na jedno tlacitko nastaveny i restart a vypnuti, ale od nove desky, kde mi funguji ACPI tlacitka, to nechavam na ACPI.
1.2.2008 16:01 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
To je moc složitý. Kamarád má na tohle k počítači připojený starý dobrý analogový budíky. Není nad klasiku! :-D
1.2.2008 09:08 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
Odpovědět | Sbalit | Link | Blokovat | Admin
návrhy: cmd-line argumenty: Getopt::Long
vnútorná štruktúra: rozdeľ si každý zdroj dát do samostatného package už teraz (v rámci jednoho súboru). Neskôr ti to umožní implementovať zdroj dát pluginom :-)
Přemek Vyhnal avatar 1.2.2008 12:53 Přemek Vyhnal | skóre: 24 | blog: Toto není blog! | Dobřichovice
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
Getopt::Long: no ja skoro ani ty parametry nepotrebuju.. mozna jestli zacnou nejaky casem pribejvat ;)

a ohledne "package" se budu muset teprve vzdelat ;) takze "casem" ;) Mam tu takovou strasne tlustou knizku o perlu ;)
NO RAPTORS!
1.2.2008 13:14 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
:-) príklad ...
package main;

use Getopt::Long;

# pouzitie:
# $0 -d mem -D mix-path=/dev/mixer -D mem-size=64G

GetOptions (
  my $args = {},
  'enable-module|e=@s',
  'disable-module|d=@s',
  'define|D=%s',
);

$args->{define}{'cpu-path'} ||= '/...';

my $modules = {
  cpu => 'Plugin::CPU',
  mem => 'Plugin::MEM',
  mix => 'Plugin::Mixer',
};

for my $module (values %$modules) {
  $module = $module->new ($args->{define});
}

...

package Plugin::CPU;

use IO::File;

sub new {
  my ($proto, $param) = @_;
  bless {
    fh => new IO::File ($param->{'cpu-path'}, 'r'),
  };
}

sub process {
  my $self = shift;
  $self->{fh}->seek (0, 0);
  $self->{fh}->getline =~ ...
  # obsah terajsej sub cpu
}

package Plugin::MEM;
...
Přemek Vyhnal avatar 1.2.2008 13:50 Přemek Vyhnal | skóre: 24 | blog: Toto není blog! | Dobřichovice
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
cool ;) moc dik!
NO RAPTORS!
1.2.2008 13:56 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
niet zač, kľudne skritizujem aj ďaľšiu verziu :-)
1.2.2008 09:13 CET
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
Odpovědět | Sbalit | Link | Blokovat | Admin
No, vypada to zajimave, prinejmensim bych to chtel zkusit. Ale ten pastebin.com je nejakej mrtvej. Nemuzes to dat na nejakej normalni funkci server?

Jeste jsem to nevyzkousel, takze nevim, jak "hezky" to funguje, ale momentalne pouzivam na jednoduchy monitorovani (TRUE/FALSE) xbiff.

Xbiff je primarne pro onamovani emailu v lokalnim mailboxu a zobrazuje pouze dva stavy "zadny novy email" nebo "novy email ve schrance". Protoze umoznuje zmenit ikonu, velikost a testovaci prikaz, tak jsem si udelal ikonky velikost 8x32 a 8x16 na monitorovani dostupnosti nejakyho serveru (ping) a stav pripojeni USB disku k PC a zvlast mount stav pasrtisny. Funguje to dobre, ale je to takovy neslany-nemastny reseni - ty grafy, tooltipy a moznosti definice akce na ikone by se hodily. Bohuzel jsem nenasel nic jineho nez xbiff, co by splnovalo moje pozadavky Existuje neco takovyho? Diky.
1.2.2008 09:40 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
A nejdulezitejsi!
subset, pche :-) osobne som zástanca superset-u
1.2.2008 10:23 CET
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
A nejdulezitejsi!
subset, pche :-) osobne som zástanca superset-u
Hehe, nechapu:-) Muzes tu tvoji reakci nejak rozvest?:-) Diky
1.2.2008 10:58 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
subset = podmnožina (vlastností) ... žiadne gnome, žiadne kde

superset = nadmnožina ... aj gnome, aj kde (nech si user dokódi svoj vlastný plugin, ak nemá, čo práve chce)

1.2.2008 13:06 CET
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
No, spis mi slo o to, aby to bylo neco univerzalniho. Bude mi trosku nahouby neco, co se bude snazit nacpat do nejakyho KDE/Gnome traye, kterej ja ve Window Makeru nemam - to jsem zazil u PSI, kterej se po minimalizaci zadokoval buh-vi-kam a ja ho pak musel killnout a rucne zmenit konfiguraci (vypnout dockovani). Takze takhle ne. No a pak na jednoduchy okno s textem myslim neni potreba ani super-featurky Qt nebo Gtk. A prestoze mam nainstalovany i Gtk, Gnome veci, Qt a KDE veci, tak spis hledam neco, co nebude mit tisice zavislosti, nemluve o nejakych silenych zavislostech na skoro-nepouzivanych knihovnach nebo baliccich.
1.2.2008 13:19 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
pri súčastnom stave knižníc to univerzálne nebude.

ono, je také ťažké niečo naprogramovať? pár knižiek, pár príkladov, trocha dobrej vôle, a môžeme sa baviť aj o vašom výtvore :-)

1.2.2008 13:39 CET
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
pri súčastnom stave knižníc to univerzálne nebude.

Ale jo. Jde to i univerzalne. Ale dneska kazdej chytne python+qt a uz to tam masti. Ale pak to neni pro kazdyho. Viz napr. xbiff nebo i ten gkrellm (kdyz koukam na jeho zavislosti v gentoo s vypnutyma vsema flagama, tak tam nevidim kde, gnome, gtk+ ani qt).
ono, je také ťažké niečo naprogramovať? pár knižiek, pár príkladov, trocha dobrej vôle, a môžeme sa baviť aj o vašom výtvore :-)
Na tuhle otazku existuji dve odpovedi. Odpoved "Ne, neni to tezke" odpovi programator. Odpoved "Ano, je to tezsi" odpovi admin. Ja jsem spis admin, takze prevazne bashuju na cmdline a ke grafice se nedostanu. Pokud uz bych neco delal v grafice, tak to bude taky v nejakym perlu nebo tak a bude to klasicky okno (ktery bude urcite taky navazany, kvuli ruznym modulum, na dalsi knihovny). Tady bych ale potreboval nejakou light verzi okna, kde se zobrazi jenom jeden nebo dva prvky (text+bar, etc). Mozna nejlip v C/C++ nebo tak za pouziti standardnich C knihoven a X knihoven. A tohle uz bohuzel nezvladnu. Jak jsem psal, vzal jsem si xbiff a ten jsem si doupravil pomoci check-commandu, ikon a zmenou velikosti. Jeste bych mozna dokazal nejak lehce upravit zdrojak xbiffu. Ale pripsat tam neco dalsiho, to asi sotva. Ale neslo mi o to tady nekoho nutit, aby to pro me napsal. Spis me zajimalo, jestli nekdo neco takovyho uz nema nebo jestli to nezna. Zkousel jsem ruzne wm* dockapps, ale velikosti ikony me zklamaly. Taky se tam nedaly napasovat vlastni hlaseni a testy. Tak jsem znasilnil xbiff.
1.2.2008 13:27 CET
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
Jo, takze presne tenhle skript je ukazka toho, co nechci. Pustim ten skript a nevidim nic - proste nemam trey, ikdyz si myslim, ze mam light WM, snad teda WMaker je light (aspon oproti KDE/Gnome). Tak skoda.
Přemek Vyhnal avatar 1.2.2008 13:40 Přemek Vyhnal | skóre: 24 | blog: Toto není blog! | Dobřichovice
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
nemas tray? tak to nemuze fungovat, je to udelany kvuli tomu aby se to zobrazovalo v tray ;) jestli to chces jako normalni okno tak by se to mozna dalo zmenit nekde jak je ř.100: $tray = Gtk2::TrayIcon->new("allintray"); prepsat na okno.. a jestli to chces doleva svisle tak asi HBox vymenit za VBox

jinak funguje to a otestovano to je v programu "trayer" To je myslim vykuchana "oznamovaci oblast" z panelu pro fluxbox nebo tak neco
NO RAPTORS!
Přemek Vyhnal avatar 1.2.2008 11:57 Přemek Vyhnal | skóre: 24 | blog: Toto není blog! | Dobřichovice
Rozbalit Rozbalit vše Re: Perl: monitoring systému v trayi
Odpovědět | Sbalit | Link | Blokovat | Admin
Příloha:
V příloze to je ještě jednou. Kdyby někomu nejel pastebin.
NO RAPTORS!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.