O que é e como funciona PRM (Process Resource Monitor) ?
Em poucas palavras:
PRM monitora a tabela de processos ativos. Caso algum destes processos ultrapasse o recurso definido (memória, cpu ou numero de processos), um e-mail é enviado ao administrador e como opção o processo é interrompido.”Killado”.
As configurações do prm no arquivo “conf.prm” irão determinar algumas ações do PRM. Na pasta rules alguns processo são tratados separadamente com definições particulares aos mesmos.
O PRM (Process Resource Monitor) é sem duvida alguma muito util para evitar alguns tipos de abusos e principalmente sobrecargas desnecessárias ao servidor.
Vamos a instalação:
No SSH root, faça o download do PRM:
wget http://www.rfxnetworks.com/downloads/prm-current.tar.gz
Descompacte o arquivo:
tar xvfz prm-current.tar.gz
Acesse a pasta e instale:
cd prm-0.5/
./install.sh
Neste ponto o PRM já estará instalado, agora vamos configurá-lo:
Edite o arquivo de configuração:
pico /usr/local/prm/conf.prm
Na opção:
# enable kernel logging [0=disabled,1=enabled] USE_KLOG=”0″
Mude para:
# enable kernel logging [0=disabled,1=enabled] USE_KLOG=”1″
Na opção:
# enable user e-mail alerts [0=disabled,1=enabled] USR_ALERT=”0″
Mude para:
# enable user e-mail alerts [0=disabled,1=enabled] USR_ALERT=”1″
**A função USR_ALERT “1″ irá habilitar o envio de e-mails de alerta ao Administrador caso algum processo ultrapasse o recurso definido.
Em:
# e-mail address for alerts USR_ADDR="root"
Mude para:
# e-mail address for alerts USR_ADDR="seuemail@dominio.com.br"
Na maioria das situações não será necessário fazer nenhuma outra modificação, abaixo estarei apenas fazendo uma descrição das funções (apesar de algumas serem bastante óbvias)
# path to user e-mail message file USR_MSG="$INSPATH/usr.msg"
Este é o caminho do template para o “corpo do e-mail” de alerta que será enviado ao administrador.
# subject of e-mail alerts SUBJ="Process status report from $HOSTNAME"
Este será o assunto do e-mail de alerta enviado ao administrador.
(A variável $HOSTNAME irá retornar o hostname de seu servidor.)
# check 5,10,15 minute load average. [1,2,3 respective of 5,10,15] LC=”1″
Este será o tempo que o PRM irá verificar o numero de processos ativos. Sendo:
1 = 5 minutos
2 = 10 minutos
3 = 15 minutos
# min load level required to run (decimal values unsupported) MIN_LOAD="1"
Esta opção define o load mínimo para que o PRM seja ativado.
# seconds to wait before rechecking a flaged pid (pid's noted resource # intensive but not yet killed). WAIT="12"
Segundos para aguardar uma nova “rechecagem” de pids dos processos ativos.
# counter limit that a process must reach prior to kill. the counter value # increases for a process flaged resource intensive on rechecks. KILL_TRIG="3"
Limite que um processo precisa ser executado para que as regras do PRM sejam checadas.
# argument to pass onto kill commands KARG="9"
Qual o argumento para o comando kill (padrão e recomendado 9).
# Max CPU usage readout for a process - % of all cpu resources (decimal values unsupported) MAXCPU="40"
Máximo de CPU (em percentual) para iniciar a leitura das regras
# Max MEM usage readout for a process - % of system total memory (decimal values unsupported) MAXMEM="20"
Máximo de Memoria (em percentual) para iniciar a leitura das regras
# Max processes for a given command - this is not max processes for user but rather the executable MAXPS="25"
Máximo de processos para iniciar a leitura das regras.
Para finalizar , salve (ctrl+x y ) e saia do pico.
Germano P Ferreira
Administrador Linux
![[Ask]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/ask.png)
![[blinklist]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/blinklist.png)
![[Bloglines]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/bloglines.png)
![[BlogMarks]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/blogmarks.png)
![[Blogsvine]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/blogsvine.png)
![[BUMPzee!]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/bumpzee.png)
![[CiteULike]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/citeulike.png)
![[co.mments]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/comments.png)
![[del.icio.us]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/delicious.png)
![[Digg]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/digg.png)
![[dzone]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/dzone.png)
![[Facebook]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/facebook.png)
![[Faves]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/faves.png)
![[Feed Me Links]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/feedmelinks.png)
![[Friendsite]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/friendsite.png)
![[Furl]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/furl.png)
![[Hugg]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/hugg.png)
![[Mixx]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/mixx.png)
![[MyWeb]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/myweb.png)
![[Technorati]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/technorati.png)
![[Yahoo!]](http://www.servidorgerenciado.com.br/wp-content/plugins/bookmarkify/yahoo.png)