Ferramentas de monitoramento do sistema para o Ubuntu

134

Estou procurando as ferramentas de Monitoramento do sistema que são GUI e Cli ou baseadas na Web que incluem Básicas Funções como

  • Uso da CPU

  • Uso de RAM

  • Uso de swap

  • Uso do disco (Espaço / E / S)

  • Monitoramento de calor

Eu sei que existem muitas ferramentas que posso usar, mas estou procurando uma única ferramenta que tenha essas funções básicas.

    
por Qasim 10.05.2013 / 11:13
fonte

15 respostas

167

Olhares no seu sistema

Glances é um software gratuito (licenciado sob LGPL) para monitorar seu sistema operacional GNU / Linux ou BSD a partir de um texto interface. Glances usa a biblioteca libstatgrab para recuperar informações do seu sistema e é desenvolvido em Python.

Instalação

Abra um terminal ( Ctrl + Alt + T ) e execute os seguintes comandos:

A partir do Ubuntu 16.04 e acima, você pode apenas digitar sudo apt install glances , mas a versão 2.3 tem esse bug . Mais:

Instalação fácil de scripts Olhares

curl -L https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash

OR

wget -O- https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash

Instalação manual

sudo apt-get install python-pip build-essential python-dev lm-sensors
sudo pip install psutil logutils bottle batinfo https://bitbucket.org/gleb_zhulik/py3sensors/get/tip.tar.gz zeroconf netifaces pymdstat influxdb elasticsearch potsdb statsd pystache docker-py pysnmp pika py-cpuinfo bernhard
sudo pip install glances

Uso básico

Para iniciar o glances , basta digitar glances no terminal.

Em um piscar de olhos você verá muitas informações sobre os recursos do seu sistema: CPU, Load, Memória, Swap Network, E / S de disco e Processos em uma única página, por padrão o código de cores significa:

GREEN : the statistic is “OK”
BLUE : the statistic is “CAREFUL” (to watch)
VIOLET : the statistic is “WARNING” (alert)
RED : the statistic is “CRITICAL” (critical)

Quando Glances estiver em execução, você pode pressionar algumas teclas especiais para dar comandos a ele:

c: Sort processes by CPU%  
m: Sort processes by MEM%  
p: Sort processes by name  
i: Sort processes by IO Rate  
d: Show/hide disk I/O stats  
f: Show/hide file system stats  
n: Show/hide network stats  
s: Show/hide sensors stats  
b: Bit/s or Byte/s for network IO  
w: Delete warning logs  
x: Delete warning and critical logs  
1: Global CPU or Per Core stats  
h: Show/hide this help message  
q: Quit (Esc and Ctrl-C also work)  
l: Show/hide log messages

Cpu, Ram, Swap Monitoring

Monitoramento de disco

Monitoramento de Calor do Sistema

Se você digitar glances --help , encontrará ( -e Ativar o módulo de sensores (somente Linux))

glances -e

Arquivo de configuração

Você pode definir seus limites no arquivo de configuração Glances, no GNU / Linux, o arquivo de configuração padrão está localizado em /etc/glances/glances.conf .

Modo cliente / servidor

Outra característica interessante desta ferramenta de monitoramento é que você pode iniciá-la no modo servidor apenas digitando glances -s , isso dará uma saída como Glances server está rodando em 0.0.0.0:61209 e agora você pode conectar-se a ela de outra computador usando glances -c @ servidor onde @ servidor é o endereço IP ou nome do host do servidor.

Glances usa um servidor XML / RPC e pode ser usado por outro software cliente. No modo de servidor, você pode definir o endereço de ligação (-B ADDRESS) e escutar a porta TCP (-p PORT), o endereço de ligação padrão é 0.0.0.0 (Glances escutará em todas as interfaces de rede) e a porta TCP é 61209. No modo cliente, você pode definir a porta TCP do servidor (porta -p). No modo cliente / servidor, os limites são definidos pelo lado do servidor. A versão 1.6 introduz uma senha opcional para acessar o servidor (-P senha) que, se definida no servidor, deve ser usada também no cliente.

Fontes adicionais: PyPI , Github , Linuxaria

Atualizar

Monitorando o contêiner de juju, por exemplo, como as coisas parecem Imagem grande

No terminal no 1, os Glances estão sendo executados no modo de servidor. No terminal, no 2, o contêiner de juju está executando apt-get update & amp; No terminal 3 glances -c 192.168.1.103 Glances está conectado ao container ip

Observa o uso da CPU

O próprio aspecto parece exigir picos de uso da CPU durante o período ativo, conforme evidenciado pelo gráfico de uso do monitor do sistema. Se o gráfico é preciso - então, usando os relances, um desiste de cerca de 1/4 de uma CPU em um sistema. Isso tem efeito para aqueles que estão monitorando as cargas de CPU nos servidores.

    
por Qasim 10.05.2013 / 12:00
fonte
31

indicador-SysMonitor

Indicador-SysMonitor faz um pouco, mas faz bem. Uma vez instalado e executado, ele exibe o uso da CPU e da RAM no painel superior. Simples.

Faça o download em aqui

Conky

Um dos meus favoritos pessoais

Screenlet você encontrará vários monitores de CPU e RAM de estilo diferente incluídos no pacote screenlets-all disponível no Ubuntu Software Center.

Olhares

Para instalar:

sudo apt-get install python-pip build-essential python-dev
sudo pip install Glances
sudo pip install PySensors

VMSTAT

Exibe informações sobre CPU, memória, processos, etc.

IOSTAT

Esta ferramenta de linha de comando exibirá estatísticas sobre sua CPU, informações de E / S para suas partições de disco rígido, Network File System (NFS), etc. Para instalar o iostat, execute este comando:

sudo apt-get install sysstat

Para iniciar o relatório, execute este comando:

iostat

Para verificar apenas estatísticas da CPU, use este comando:

iostat -c

Para mais parâmetros, use este comando:

iostat --help

MPSTAT

O utilitário de linha de comando mpstat exibirá o uso médio da CPU por processador. Para executá-lo, use simplesmente este comando:

mpstat

Para uso da CPU por processador, use este comando:

mpstat -P ALL

Saidar

O Saidar também permite monitorar as atividades do dispositivo do sistema por meio da linha de comando.

Você pode instalar com este comando:

sudo apt-get install saidar

Para iniciar o monitoramento, execute este comando:

saidar -c -d 1

As estatísticas serão atualizadas a cada segundo.

GKrellM

O GKrellM é um widget personalizável com vários temas que são exibidos nas informações do dispositivo do seu sistema desktop (CPU, temperatura, memória, rede, etc.).

Para instalar o GKrellM, execute este comando:

sudo apt-get install gkrellm

Monitorix

O Monitorix é outro aplicativo com uma interface de usuário baseada na web para monitorar dispositivos do sistema.

Instale-o com estes comandos:

sudo add-apt-repository ppa:upubuntu-com/ppa
sudo apt-get update
sudo apt-get install monitorix

Inicie o Monitorix por este URL:

http://localhost/monitorix/

    
por Maythux 08.03.2014 / 10:43
fonte
18

A seguir estão as ferramentas para monitorar um sistema linux

  1. Comandos do sistema como top , free -m , vmstat , iostat , iotop , sar , netstat etc. Nada se aproxima desses utilitários linux quando você está depurando um problema. Estes comandos fornecem uma imagem clara que está dentro do seu servidor
  2. SeaLion : O agente executa todos os comandos mencionados no nº 1 (também definidos pelo usuário) e as saídas desses comandos podem ser acessadas em uma bela interface da Web. Essa ferramenta é útil quando você está depurando em centenas de servidores, pois a instalação é simples. E é GRÁTIS
  3. Nagios : é a mãe de todas as ferramentas de monitoramento / alerta. É muito personalizável, mas muito difícil de configurar para iniciantes. Existem conjuntos de ferramentas chamadas plug-ins nagios que cobrem praticamente todas as importantes métricas do Linux
  4. Munin
  5. Densidade do servidor: Um serviço pago baseado na nuvem que coleta métricas importantes do Linux e oferece aos usuários a capacidade de escrever próprios plug-ins.
  6. New Relic: Outro bem conhecido serviço de monitoramento hospedado.
  7. Zabbix
por stylusbrook 20.11.2013 / 14:30
fonte
9

Nos últimos anos, usei:

Indicador de carga do sistema

disponível em Centro de Software

    
por david6 22.02.2014 / 22:50
fonte
7

topo

top está monitorando o software, listando todos os processos com uso de CPU / RAM, uso geral de CPU / RAM e mais Também é principalmente instalado por padrão

htop

o htop é como uma versão estendida do topo. Ele tem todos os recursos acima, mas você pode ver processos filho e personalizar a exibição de tudo. Também tem cores.

iotop

O iotop é especificamente para monitoramento de E / S do Hard Rive Ele lista todos os processos e mostra o uso do disco rígido para leitura e gravação.

    
por BeryJu 10.05.2013 / 12:43
fonte
4

Você pode querer tentar sysmon . Embora não seja tão elegante como Glances, é muito simples e fácil de usar.

Se você quiser se sujar e fazer um pequeno script em python, aqui estão alguns princípios básicos de monitoramento do sistema com o Python para você começar.

Você precisará de um módulo externo chamado psutil para monitorar a maioria das coisas. É mais fácil usar um instalador de módulo externo em vez de construir a partir da fonte.

Nota: Estes exemplos são escritos em Python 2.7

sudo apt-get install pip
sudo pip install psutil

Agora que temos os módulos instalados, podemos começar a codificação.

Primeiro, crie um arquivo chamado usage.py .

gedit ~/usage.py

Comece importando psutil

import psutil

Em seguida, crie uma função para monitorar a porcentagem em que seus núcleos de CPU estão sendo executados.

def cpu_perc(): 

    cpu_perc = psutil.cpu_percent(interval=1, percpu=True) 
    for i in range(len(cpu_perc)):
        print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"

Vamos quebrar um pouco, vamos?

A primeira linha, cpu_num = psutil.cpu_percent(interval=1, percpu=True) , localiza a porcentagem em que os núcleos em sua CPU estão sendo executados e a atribui a uma lista chamada cpu_perc .

Esse loop aqui

for i in range(len(cpu_num)):
    print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"

é um loop for que imprime a porcentagem atual de cada um dos seus núcleos de CPU.

Vamos adicionar o uso de RAM.

Crie uma função chamada ram_perc .

def ram_perc():
    mem = psutil.virtual_memory()
    mem_perc = mem.percent
    print "RAM: ", mem_perc, "%"

psutil.virtual_memory fornece um conjunto de dados contendo diferentes fatos sobre a RAM no seu computador.

Em seguida, você pode adicionar alguns fatos sobre sua rede.

def net():
    net = psutil.net_io_counters()
    mbytes_sent = float(net.bytes_sent) / 1048576
    mbytes_recv = float(net.bytes_recv) / 1048576
    print "MB sent: ", mbytes_sent
    print "MB received: ", mbytes_recv

Como psutil.net_io_counters() nos fornece apenas informações sobre pacotes enviados e recebidos em bytes, algumas conversões são necessárias.

Para obter algumas informações sobre o espaço de troca, adicione esta função.

def swap_perc():
    swap = psutil.swap_memory()
    swap_perc = swap.percent

Este é bastante simples.

A temperatura é um pouco difícil de fazer, portanto, talvez você precise fazer algumas pesquisas para descobrir o que funcionará com seu hardware. Você terá que exibir o conteúdo de um determinado arquivo.

O uso de disco é muito mais fácil que a temperatura. Tudo o que você precisa fazer é passar o disco que deseja monitorar (por exemplo, / ) por meio de uma determinada função.

def disks():
    if len(sys.argv) > 1:
        for disk in range(1, len(sys.argv)):
            tmp = psutil.disk_usage(sys.argv[disk])
            print sys.argv[disk], "\n"
            print "Megabytes total: ",
            print str(float(tmp.total) / 1048576)
            print "Megabytes used: ",
            print str(float(tmp.used) / 1048576)
            print "Megabytes free: ",
            print str(float(tmp.free) / 1048576)
            print "Percentage used: ",
            print tmp.percent, "\n"

A saída original de psutil.disk_usage é essa,

>>>psutil.disk_usage('/')
sdiskusage(total=21378641920, used=4809781248, free=15482871808, percent=22.5)

mas você também pode receber apenas total , used , free ou percent .

O programa completo: (as funções acima mencionadas foram combinadas)

import psutil, os, sys
mem_perc = 0 #init var
swap_perc = 0 #init var
mbytes_sent = 0 #init var
mbytes_recv = 0 #init var
cpu_perc = 0 #init var
swap = 0 #init var
mem = 0 #init var
net = 0 #init var



def disp(degree):
    global cpu_perc
    global swap
    global swap_perc
    global mem
    global mem_perc
    global net
    global mbytes_sent
    global mbytes_recv

    cpu_perc = psutil.cpu_percent(interval=1, percpu=True)
    swap = psutil.swap_memory()
    swap_perc = swap.percent
    mem = psutil.virtual_memory()
    mem_perc = mem.percent
    net = psutil.net_io_counters()
    mbytes_sent = float(net.bytes_sent) / 1048576
    mbytes_recv = float(net.bytes_recv) / 1048576

    os.system('clear') #clear the screen

    print "-"*30
    print "CPU"
    print "-"*30
    print "CPU Temperature: " , degree, "'C"
    for i in range(len(cpu_perc)):
        print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"

    print "-"*30
    print "MEMORY"
    print "-"*30
    print "RAM: ", mem_perc, "%"
    print "Swap: ", swap_perc, "%"
    print "-"*30
    print "NETWORK"
    print "-"*30
    print "MB sent: ", mbytes_sent
    print "MB received: ", mbytes_recv
    print "-"*30
    print "DISKS"
    print "-"*30

    if len(sys.argv) > 1:
        for disk in range(1, len(sys.argv)):
            tmp = psutil.disk_usage(sys.argv[disk])
            print sys.argv[disk], "\n"
            print "Megabytes total: ",
            print str(float(tmp.total) / 1048576)
            print "Megabytes used: ",
            print str(float(tmp.used) / 1048576)
            print "Megabytes free: ",
            print str(float(tmp.free) / 1048576)
            print "Percentage used: ",
            print tmp.percent, "\n"

def main():
    print("Press Ctrl+C to exit")
    while True:
        temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C')
        temp = float(temp) / 1000
        disp(temp)

main()

A linha temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C') pode não funcionar com sua configuração de hardware.

Execute este programa a partir da linha de comando. Passe os discos que você deseja monitorar como argumentos na linha de comando.

$ python usage.py /

Press Ctrl+C to exit

------------------------------
CPU
------------------------------
CPU Temperature:  39.0 'C
CPU Core 1 : 4.8 %
CPU Core 2 : 1.0 %
CPU Core 3 : 0.0 %
CPU Core 4 : 4.9 %
------------------------------
MEMORY
------------------------------
RAM:  33.6 %
Swap:  6.4 %
------------------------------
NETWORK
------------------------------
MB sent:  2.93382358551
MB received:  17.2131490707
------------------------------
DISKS
------------------------------
/ 

Megabytes total:  13952.484375
Megabytes used:  8542.6640625
Megabytes free:  4678.5703125
Percentage used:  61.2 

/media/calvin/Data 

Megabytes total:  326810.996094
Megabytes used:  57536.953125
Megabytes free:  269274.042969
Percentage used:  17.6 

Espero que isso ajude! Comente se você tiver alguma dúvida.

link

    
por calthecoder 13.06.2015 / 22:43
fonte
2

O pacote systat tem uma ferramenta chamada sar que faz tudo o que você deseja. Ele também pode coletar dados históricos para que você possa ver o que aconteceu há algum tempo.

    
por Grzegorz Żur 10.05.2013 / 15:22
fonte
2

O SeaLion pode ser uma ferramenta útil, pois possui comandos internos para monitorar o desempenho de seu servidor, além de poder adicionar seus próprios comandos personalizados , scirpts e log de saída. É muito fácil de configurar e descobrir o que deu errado em um momento específico.

    
por Adam Johnson 08.07.2014 / 09:48
fonte
1

Eu recomendo link

Muito fácil de configurar e uso mínimo de recursos.

    
por Ronny 27.05.2013 / 14:30
fonte
1

Existe uma ferramenta interna chamada gnome-system-monitor . Ele pode fazer tudo o que você mencionou, exceto o monitoramento de calor.

    
por menixator 08.03.2014 / 11:18
fonte
1

O Nagios parece ser o mais popular e mais personalizável, mas eu não o escolho para GUI.

A solução de código aberto da Zabbix monitora tudo o que você mencionou, além de fornecer gráficos baseados em tempo para monitoramento de desempenho.

Se você estiver procurando por uma GUI ainda mais limpa, confira o Zenoss. O Zenoss é uma ferramenta baseada na web de código aberto, mas oferece análise de serviços e análise de causa raiz com sua ferramenta de propriedade.

    
por ShaneCar 03.12.2015 / 11:33
fonte
1
  1. O comando free é o comando mais simples e fácil de usar para verificar o uso da memória no linux / ubuntu.

    free -m
    
  2. Para verificar o uso da memória, leia o arquivo /proc/meminfo .

    cat /proc/meminfo
    
  3. O comando vmstat com a opção s .

    vmstat -s
    
  4. O comando top é geralmente usado para verificar a memória e o uso da CPU por processo.

    top
    
  5. O comando htop também mostra o uso da memória junto com vários outros detalhes.

    htop
    
  6. Para descobrir informações de hardware sobre a RAM instalada.

    sudo dmidecode -t 17
    
por hennamusick 30.01.2017 / 13:23
fonte
0

verifique a ferramenta de monitoramento Linux do eginnovations - link

baseado na web, simples de instalar e até mesmo compatível com a virtualização do Linux.

    
por Mark Smith 27.12.2013 / 02:00
fonte
0

Acho que você deveria dar uma olhada no Monitor sem Agente da AppPerfect, que abrange vários aspectos do monitoramento como monitoramento de aplicativo JAVA / J2EE, monitoramento de servidor, monitoramento de banco de dados, monitoramento de transação, monitoramento de rede, monitoramento de log e monitoramento do sistema. É grátis e fácil de usar.

    
por Steve Young 03.03.2017 / 13:17
fonte
0

Eu gosto de usar o conky , que pode ser configurado da maneira que você quiser:

Você pode google conky e encontrar 787.000 acessos. Existe algo para todos.

Na parte superior do aviso de exibição "Tela de bloqueio: 4 minutos de brilho: 2074". Estes são gerados por "Indicator-Sysmonitor", que permite exibir no indicador systray / application usando um script bash.

Para um tutorial sobre como configurar o "Indicator-Sysmonitor", consulte: O BASH pode exibir no systray como indicador de aplicação?

    
por WinEunuuchs2Unix 08.05.2018 / 04:27
fonte