abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 17:22 | Nová verze

Node.js Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 10.0.0 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). Verze 10 se v říjnu stane novou aktivní LTS verzí. Podpora je plánována do dubna 2021.

Ladislav Hagara | Komentářů: 0
dnes 15:33 | Nová verze

Neal Cardwell ze společnosti Google oznámil zveřejnění verze 2.0 nástroje pro testování síťového stacku packetdrill. Jde o souhrnné vydání změn z interního vývoje od roku 2013.

Michal Kubeček | Komentářů: 0
dnes 13:22 | Zajímavý software

Microsoft na svém blogu oznámil, že správce knihoven pro C++ Vcpkg (VC++ Packaging Tool) lze nově používat také na Linuxu a macOS. Aktuálně je pro Linux k dispozici více než 350 knihoven [reddit].

Ladislav Hagara | Komentářů: 1
dnes 12:44 | Komunita

Byly zveřejněny exploity na Nintendo Switch a platformu Tegra X1: Fusée Gelée a ShofEL2. Jejich zneužití nelze zabránit softwarovou aktualizací. Na druhou stranu exploity umožní na Nintendo Switch snadno a rychle nainstalovat Linux, viz. ukázka na YouTube. Jenom je potřeba sáhnout na hardware.

Ladislav Hagara | Komentářů: 0
dnes 00:55 | Nová verze

Byla vydána verze 2.12.0 QEMU (Wikipedie). Přispělo 204 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn. Řešeny jsou také bezpečnostní chyby Meltdown a Spectre.

Ladislav Hagara | Komentářů: 4
dnes 00:33 | Komunita

Google zveřejnil seznam 1 264 studentů přijatých do letošního Google Summer of Code. Přehled projektů, studentů, 212 organizací a mentorů je k dispozici na stránkách GSoC.

Ladislav Hagara | Komentářů: 0
včera 23:55 | Nová verze

Oracle vydal verzi 1.0 univerzálního virtuálního stroje GraalVM, který umožňuje běh programů napsaných v jazycích založených na JVM, JavaScript, LLVM bitcode a experimentálně Ruby, R a Python.

razor | Komentářů: 1
včera 01:22 | Zajímavý článek

Julia Evans pomocí svých kreslených obrázků proniká do Linuxu a informačních technologií. Vedle ucelených zinů publikuje také jednotlivé kreslené obrázky (RSS).

Ladislav Hagara | Komentářů: 5
23.4. 13:22 | Zajímavý software

Jordi Sanfeliu vydal verzi 1.0.0 svého unixového jádra Fiwix (Wikipedie) určeného také pro výuku operačních systémů. Dle článku na OSNews na něm začal pracovat již před více než dvaceti lety. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT. Stáhnout a vyzkoušet lze živou disketu nebo CD s GNU/Fiwixem.

Ladislav Hagara | Komentářů: 5
23.4. 06:00 | Nová verze

Byla vydána nová verze 10.7 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností v příspěvku na blogu. Vývojáři GitLabu zdůrazňují Web IDE (YouTube) a SAST (Static Application Security Testing) pro Go a C/C++.

Ladislav Hagara | Komentářů: 8
Používáte na serverech port knocking?
 (2%)
 (7%)
 (46%)
 (27%)
 (17%)
Celkem 372 hlasů
 Komentářů: 29, poslední 5.4. 12:25
    Rozcestník

    Dotaz: Monitorovanie kratkych procesov

    Tombik avatar 16.5.2012 09:52 Tombik | skóre: 12
    Monitorovanie kratkych procesov
    Přečteno: 161×
    Potrebujem monitorovat php-cgi procesy, ktore sa spustaju pod jednotlivym uzivatelom vzdy ked niekto nacitava jeho web. Tieto procesy vacsinov rychlo vzniknu vytvoria nejaky kratkodoby CPU load (samozrejme zoberu aj RAM...) a potom zaniknu.

    Potrebujem, aby napriklad kazdych 10 minut mi skript spravil report o tom kolko php-cgi procesov, ktorych uzivatelov bolo behom tychto 10 minut spustane a aky vytvorili CPU load. Da sa nejako spravit, ze vzdy ked vznikne novy php-cgi proces tak to zaroven spusti nejaky moj skript? Alebo ako inac by som mohol postupovat?

    Za kazdy napad budem velmi vdacny. Skusal som hladat rozne monitorovacie nastroje, ale na moj ucel som nic nenasiel. Mam naprogramovane nieco vlastne, ale to len kontroluje aktualny CPU load vzdy ked sa skript spusti z cronu. Jednoducho parsuje data z ps. Toto samozrejme nestaci.

    Dakujem

    Řešení dotazu:


    Odpovědi

    16.5.2012 10:03 jkhkjhkhj
    Rozbalit Rozbalit vše Re: Monitorovanie kratkych procesov
    http://www.gnu.org/software/acct/
    Řešení 1× (Tombik (tazatel))
    16.5.2012 10:41 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: Monitorovanie kratkych procesov
    Na to asi byl nejvhodnejsi SystemTap. Inspirovat se lze napr v prikladech. Pro zacatek napr process/forktracker.stp, process/pstrace_exec.stp. Pak lze nastavit dalsi skript ktery se povesi na vystup SystemTapu a reaguje na udalosti.
    Pri konci procesu pak nejak zjistit kolik zabral casu (neco jako je v /proc/[pid]/stat - to by SystemTap mohl taky umet, ale je to na delsi zkoumani. Highlevel bych to videl takhle - v kprocess.exec_complete si vyfiltrovat a zapamatovat potrebne procesy (vcetene casu startu); v kprocess.exit zjistit zda konci zapamatovany proces, zjistit jeho utime a vypsat ho spolecne s rozdilem od casu kprocess.exec_complete - tim se pak da toho dost zjistit.
    Jelikoz to je povesene na vytvareni / ruseni procesu tak by to snad ani nemuselo brat tolik vykonu.
    Docela zajimave vypada tohle http://people.redhat.com/berrange/systemtap/process-files/process-files.stap
    Tombik avatar 16.5.2012 11:56 Tombik | skóre: 12
    Rozbalit Rozbalit vše Re: Monitorovanie kratkych procesov
    Diky za odpoved idem sa na to pozriet a vyskusat to.
    Řešení 1× (Tombik (tazatel))
    16.5.2012 12:05 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: Monitorovanie kratkych procesov
    Coz takhle: process-files.stap:
    global pids
    
    function get_usertime:long() %{
      THIS->__retvalue = current->utime + current->signal->utime;
    %}
    
    function proc:string() {
      return sprintf("%d (%s)", pid(), execname())
    }
    
    probe syscall.fork.return {
      printf("%s fork   : %d\n", proc(), $return)
    }
    
    probe syscall.execve {
      printf("%s execve :%s\n",proc(), kernel_string($filename))
      pids[pid()] = gettimeofday_ms()
    }
    
    
    probe syscall.exit {
      if (pids[pid()] != 0) {
        printf("%s exit  : utime=%d rtime=%d\n", proc(), get_usertime(), gettimeofday_ms() - pids[pid()])
        pids[pid()] = 0
      } else {
        printf("%s exit  : utime=%d rtime=unknown\n", proc(), get_usertime())
      }
    }
    
    Spusteni: stap process-files.stap -g Priklad vystupu:
    14 (kthread) fork   : 7686
    7686 (kstopmachine) exit  : utime=0 rtime=unknown
    14 (kthread) fork   : 7687
    7687 (kstopmachine) exit  : utime=0 rtime=unknown
    14 (kthread) fork   : 7688
    7688 (kstopmachine) exit  : utime=0 rtime=unknown
    7668 (bash) exit  : utime=4919 rtime=unknown
    6426 (bash) fork   : 7689
    7689 (bash) execve :/bin/cat
    7689 (cat) exit  : utime=0 rtime=1912
    6426 (bash) fork   : 7690
    7690 (bash) execve :/bin/bash
    7690 (bash) exit  : utime=3680 rtime=3341
    7680 (stapio) exit  : utime=0 rtime=unknown
    
    Kde utime je klasicky user time a rtime je real-time (celkovy cas behu programu). Neni problem pridelat system-time. Procesy s rtime=unknown byl spusteni pred zacatkem behu skriptu.
    Napr cat bezel 1912ms a spotreboval 0ms, tudiz prumerne vytezoval procesor na 0% po dobu 1912ms; bash bezel 3341ms a spotreboval 3680ms, tudiz prumerne vytezoval procesor na 100% po dobu 3341ms (tady netusim proc rtime < utime, ale tech par ms pujde snad zanedbat)
    Tombik avatar 16.5.2012 13:26 Tombik | skóre: 12
    Rozbalit Rozbalit vše Re: Monitorovanie kratkych procesov
    Diky toto presne vyzera ako to co potrebujem. Idem s tym dalej experimentovat :)

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.