Clicky

Jump to content
  • Sign Up
Sign in to follow this  
MarksEliel

Comando automático de acordo com o load

Recommended Posts

Olá, tudo bem pessoal?

Estou precisando de algo que possa funcionar da seguinte forma:
Quando o Load chegar a determinado pico ele rodar um comando no SSH que vou predefinir.

Não sei se tem isso de forma nativa ou como vou fazer isso, mais se alguém souber ficarei grato...

Share this post


Link to post
Share on other sites
27 minutos atrás, MarksEliel disse:

Olá, tudo bem pessoal?

Estou precisando de algo que possa funcionar da seguinte forma:
Quando o Load chegar a determinado pico ele rodar um comando no SSH que vou predefinir.

Não sei se tem isso de forma nativa ou como vou fazer isso, mais se alguém souber ficarei grato...

Eu já vi algo externo fazer isso, mais precisamente o Zabbix.
Ao chegar a (exemplo) 12 de load ele vai e roda um restart, um shell script, etc....

Internamente acredito que só um shellzinho script com cron (acho) para resolver.
SE achar algo bacana posta aqui para gente, com certeza ajudará muitas pessoas (eu inclusive).

 


OwnServer | Soluções Corporativas & Gerenciamento de Servidores | www.ownserver.com.br

Share this post


Link to post
Share on other sites

Talvez não seja o melhor script, mas aqui funcionou:

#!/bin/bash

# Valor limite do load. Altere p/ o seu caso. Exemplo: 2.7
vallimite=0.2

# Pega o load.
lda=$(cat /proc/loadavg | awk  '{print $2}')

# Exibe o load. Descomente p/ debug.
#echo $lda

# Faz a comparação
r=$(bc <<< "$lda > $vallimite")

# Se for verdadeiro execulta o comando.
if [ $r = 1 ] 
then
    echo "limite excedido"
fi

Basta colocar o script no crontab pra rodar de tantos em tantos minutos.

Share this post


Link to post
Share on other sites
13 minutos atrás, ricgv disse:

Talvez não seja o melhor script, mas aqui funcionou:


#!/bin/bash

# Valor limite do load. Altere p/ o seu caso. Exemplo: 2.7
vallimite=0.2

# Pega o load.
lda=$(cat /proc/loadavg | awk  '{print $2}')

# Exibe o load. Descomente p/ debug.
#echo $lda

# Faz a comparação
r=$(bc <<< "$lda > $vallimite")

# Se for verdadeiro execulta o comando.
if [ $r = 1 ] 
then
    echo "limite excedido"
fi

Basta colocar o script no crontab pra rodar de tantos em tantos minutos.

Entendi...
Rapaz não sei como inserir esse script para rodar pelo cron do servidor... poderia me explicar melhor um passo a passo?
Tem algum local onde gerencio o crontab do servidor cPanel?

Share this post


Link to post
Share on other sites
Em 12/6/2017 em 23:34, ricgv disse:

Talvez não seja o melhor script, mas aqui funcionou:


#!/bin/bash

# Valor limite do load. Altere p/ o seu caso. Exemplo: 2.7
vallimite=0.2

# Pega o load.
lda=$(cat /proc/loadavg | awk  '{print $2}')

# Exibe o load. Descomente p/ debug.
#echo $lda

# Faz a comparação
r=$(bc <<< "$lda > $vallimite")

# Se for verdadeiro execulta o comando.
if [ $r = 1 ] 
then
    echo "limite excedido"
fi

Basta colocar o script no crontab pra rodar de tantos em tantos minutos.

Aqui deu erro. Eu solucionei trocando

r=$(bc <<< "$lda > $vallimite")
por 
r=$(echo "$lda > $vallimite" | bc);
           
           


 

Em 12/6/2017 em 23:49, MarksEliel disse:

Entendi...
Rapaz não sei como inserir esse script para rodar pelo cron do servidor... poderia me explicar melhor um passo a passo?
Tem algum local onde gerencio o crontab do servidor cPanel?

Simples e rápido... crontab -e :).

cd /root
touch funcaoload.sh -- criar o arquivo
nano funcaoload.sh - abre a janela de edição. Nesta tela, cole o código que foi passado.
chmod +x funcaoload.sh - Define permissão de execução
crontab -e - Irá abrir o arquivo cron com todos os crons do sistema.
Na ultima linha add
* * * * * sh /root/funcaoload.sh 
Tempo execução | Comando execução

 


Hospedagem de sites, Streamings, Revendas, Dedicados e vps >> www.maximalhost.com | Desenvolvimento de sistemas PHP, Python, JAVA, C# e Gerenciamento de Servidores >> brunowebmaster@live.com

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.




×
×
  • Create New...