Monitorando rede com iftop

O iftop é um programa para analisar o tráfego da rede, da internet ou de alguma vpn.

Já está empacotado na maioria das distribuições.

No OpenSuse.

# zypper install iftop

Algumas opções:

-i <interface> : Especificar uma interface.
-n : Não resolver nome.
-N : Não resolver porta.
-P : Exibir portas
-h : Ver todas opções disponíveis.

Exemplo de análise:

# iftop -nNPi eth0

Você pode analisar a tela da seguinte forma:

Host local e destino da perspectiva da placa, sendo o tráfego orientado pela seta => ou <=.

Na frente da linha com os hosts você vai ver o tráfego médio nos últimos 2,10 e 40 segundos.

O somatório fica no rodapé, sendo TX de upload e TX download  da perspectiva da interface. Ainda no rodapé você pode ver o tráfego acumulado durante a análise.

Inventário de Hardware inxi

Inventário de Hardware

Algumas vezes precisamos ver a configuração de um servidor remoto, pegar a service tag de um servidor DELL, IBM ou HP por linha de comando e juntar todas as informações dos comandos lspci, lscpu e cat nos “/procs  da vida” para saber qual placa mãe, quantos slots de memoria e se é possível expandir. As vezes perdermos um precioso tempo que podemos economizar com esse super útil binário.




 inxi – uma ferramenta de informação do sistema de linha de comando

O binário  em Perl é leve, organizado e poderoso.

Baixe:

# wget -Nc https://github.com/smxi/inxi/raw/inxi-perl/pinxi

Ajuste as permissões
# chmod +x pinxi
Mova para a pasta de binários.
#mv pinxi /usr/bin
Use e abuse:
#pinxi -Fxx

Velocidade da placa de rede no linux

Por vezes precisamos verificar a velocidade estabelecida pela placa de rede, verificar se estamos fechando um link de gigabit com switch por exemplo, ou identificar a interface deixando-a piscando ( -S ), etc.

#ethtool enp5s0


Settings for enp5s0:
Supported ports: [ TP MII ]
Supported link modes:   10baseT/Half 10baseT/Full 
                        100baseT/Half 100baseT/Full 
                        1000baseT/Half 1000baseT/Full 
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full 
                        100baseT/Half 100baseT/Full 
                        1000baseT/Half 1000baseT/Full 
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                     100baseT/Half 100baseT/Full 
Link partner advertised pause frame use: Symmetric Receive-only
Link partner advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Cannot get wake-on-lan settings: Operation not permitted
Current message level: 0x00000033 (51)
       drv probe ifdown ifup

Link detected: yes

Console linux verificar RAID de Hardware

Checar raid físco/hardware com MegaCLI.

Instale o pacote RPM necessário (em CentOS).

# rpm -ivh http://mirror.cogentco.com/pub/misc/MegaCli-8.07.14-1.noarch.rpm

Verifique o status do RAID:


# /opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aAll


# MegaCli64 -PDList -aALL

Para checar o nível do RAID:

#/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -Aall 


[‘Primary-0, Secondary-0, RAID Level Qualifier-0’] = RAID-0


[‘Primary-1, Secondary-0, RAID Level Qualifier-0’] = RAID-1 


[‘Primary-5, Secondary-0, RAID Level Qualifier-3’] = RAID-5


[‘Primary-6, Secondary-0, RAID Level Qualifier-3’] = RAID-6 


[‘Primary-1, Secondary-3, RAID Level Qualifier-0’] = RAID-10

rtorrent – cliente torrent no terminal linux

Hoje precisei de um arquivo que estava disponível para download em um torrent, segue a dica.

Obrigado à LinuxTechi por esse ótimo post, quem precisar de ir mais afundo segue o link.
rtorret-LinuxTechi

Instalando um cliente torrent de terminal linux, neste exemplo usei rtorrent num centos 7 na Google Cloud.

Instalar

# yum install rtorrent

Configurar

Criar diretórios:

# mkdir -p ~/rtorrent_FullDownload_Files

# mkdir /home/eduardo/rtorrent_session -p

Criar Conf:

# vi ~/.rtorrent.rc

Conteúdo do conf:

# Location where to download temporary files
 directory = ~/rtorrent_Download_Files

# Folder to save & resume rtorrent sessions
 session = ~/rtorrent_session

# Other Settings
 upload_rate = 30
 download_rate = 200
 peer_exchange = yes

# DHT options
 dht = auto

# custom throttles settings
 throttle_up = low,10
 throttle_down = low,10
 throttle_up = med,20
 throttle_down = med,20

# rtorrent_Watch is a folder for new torrents
 schedule = watch_directory,0,10,load_start=~/rtorrent_Watch/*.torrent
 schedule = tied_directory,10,10,start_tied=
 schedule = untied_directory,10,10,close_untied=

# Enable the default ratio group
 ratio.enable=

# Modify the limits, the defaults is optimal.
 ratio.min.set=50
 ratio.max.set=150
 ratio.upload.set=20M

# Modify the command triggered when the ratio is reached.
 system.method.set = group.seeding.ratio.command, d.close=, d.erase=

# Transfer the finished torrents to rtorrent_FullDownload_Files folder
 system.method.set_key = event.download.finished,rm_torrent,"execute=rm,$d.get_tied_to_file="
 system.method.set_key = event.download.finished,move_complete,"execute=mv,-u,$d.get_base_path=,~/rtorrent_FullDownload_Files/ ;d.set_directory=~/rtorrent_FullDownload_Files/"Criar os arquivosd

Criar os diretórios:

[email protected]:~$ mkdir ~/rtorrent_Download_Files
[email protected]:~$ mkdir ~/rtorrent_session
[email protected]:~$ mkdir ~/rtorrent_Watch
[email protected]:~$ mkdir ~/rtorrent_FullDownload_Files
Executar

Eu tinha que usar o link magnético do torrent, com isso segui os seguintes passos: 


1º Executei o binário:
#rtorrent

2º Dentro do sistema apertei enter para ficar disponível o espaço de digitação do link.
Colei o link e dei enter.

3º Setas para baixo para selecionar o item com ” * ” (asterisco)
4º Apertei Ctrl + S para iniciar o download.

Segue outros atalhos conforme rtorrent -h:
Usage: rtorrent [OPTIONS]… [FILE]… [URL]…
  -h                Display this very helpful text
  -n                Don’t try to load ~/.rtorrent.rc on startup
  -b <a.b.c.d>      Bind the listening socket to this IP
  -i <a.b.c.d>      Change the IP that is sent to the tracker
  -p <int>-<int>    Set port range for incoming connections
  -d <directory>    Save torrents to this directory by default
  -s <directory>    Set the session directory
  -o key=opt,…    Set options, see ‘rtorrent.rc’ file

Main view keys:
  backspace         Add a torrent url or path
  ^s                Start torrent
  ^d                Stop torrent or delete a stopped torrent
  ^r                Manually initiate hash checking
  ^q                Initiate shutdown or skip shutdown process
  a,s,d,z,x,c       Adjust upload throttle
  A,S,D,Z,X,C       Adjust download throttle
  I                 Toggle whether torrent ignores ratio settings
  right             View torrent

Download view keys:
  spacebar          Depends on the current view
  1,2               Adjust max uploads
  3,4,5,6           Adjust min/max connected peers
  t/T               Query tracker for more peers / Force query
  *                 Snub peer
  right             View files
  p                 View peer information
  o                 View trackers

Objetivos LPIC 2 – Exame 201 v4 400-201

Objetivos: Exame 201

Tópico 200: Planejamento de Capacidade

200.1 Medir e solucionar problemas de uso de recursos (peso: 6)

Peso
6
Descrição
Os candidatos devem ser capazes de medir recursos de hardware e largura de banda de rede, identificar e solucionar problemas de recursos.
Principais Áreas de Conhecimento:
  • Meça o uso da CPU.
  • Meça o uso da memória.
  • Medir disco I / O.
  • Medir rede I / O.
  • Medir firewalling e throughput de roteamento.
  • Mapear o uso da largura de banda do cliente.
  • Corresponder / correlacionar os sintomas do sistema com problemas prováveis.
  • Estime o rendimento e identifique gargalos em um sistema, incluindo redes.
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • iostat
  • vmstat
  • netstat
  • pstree, ps
  • w
  • lsof
  • top
  • uptime
  • sar
  • swap
  • processes blocked on I/O
  • blocks in
  • blocks out



200.2 Prever futuras necessidades de recursos (peso: 2)

Peso
2
Descrição
Os candidatos devem ser capazes de monitorar o uso de recursos para prever futuras necessidades de recursos.
Principais Áreas de Conhecimento:
  • Use collectd para monitorar o uso da infra-estrutura de TI.
  • Prever o ponto de interrupção da capacidade de uma configuração.
  • Observe a taxa de crescimento da utilização da capacidade.
  • Grafique a tendência de uso da capacidade.
  • Conhecimento de soluções de monitoramento como Nagios, MRTG e Cacti
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • diagnosticar
  • Prever o crescimento
  • Exaustão de recursos


Tópico 201: Linux Kernel

201.1 Componentes do kernel (peso: 2)

Peso
2
Descrição
Os candidatos devem ser capazes de utilizar os componentes do kernel que são necessários para hardware específico, drivers de hardware, recursos do sistema e requisitos. Este objetivo inclui a implementação de diferentes tipos de imagens do kernel, entendendo kernels e patches estáveis ​​e de longo prazo, bem como usando módulos kernel.
Principais Áreas de Conhecimento:
  • Documentação do Kernel 2.6.x
  • Documentação do Kernel 3.x
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • /usr/src/linux/
  • /usr/src/linux/Documentation/
  • zImage
  • bzImage



201.2 Compilando um kernel Linux (peso: 3)

Peso
3
Descrição
Os candidatos devem ser capazes de configurar corretamente um kernel para incluir ou desativar recursos específicos do kernel Linux conforme necessário. Este objetivo inclui compilação e recompilação do kernel Linux conforme necessário, atualizando e anotando mudanças em um novo kernel, criando uma imagem initrd e instalando novos kernels.
Principais Áreas de Conhecimento:
  • /usr/src/linux/
  • Kernel Makefiles
  • Kernel 2.6.x / 3.x fazer alvos
  • Personalize a configuração atual do kernel.
  • Crie um novo kernel e módulos de kernel apropriados.
  • Instale um novo kernel e quaisquer módulos.
  • Certifique-se de que o gestor de arranque pode localizar o novo kernel e os ficheiros associados.
  • Arquivos de configuração do módulo
  • Consciência de dracut
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • mkinitrd
  • mkinitramfs
  • make
  • make targets (all, config, xconfig, menuconfig, gconfig, oldconfig, mrproper, zImage, bzImage, modules, modules_install, rpm-pkg, binrpm-pkg, deb-pkg)
  • gzip
  • bzip2
  • module tools
  • /usr/src/linux/.config
  • /lib/modules/kernel-version/
  • depmod



201.3 Gerenciamento do tempo de execução do kernel e solução de problemas (peso: 4)

Peso
4
Descrição
Os candidatos devem ser capazes de gerenciar e / ou consultar um kernel 2.6.x ou 3.x e seus módulos carregáveis. Os candidatos devem ser capazes de identificar e corrigir problemas comuns de inicialização e tempo de execução. Os candidatos devem entender a detecção e o gerenciamento de dispositivos usando udev. Esse objetivo inclui a solução de problemas de regras udev.
Principais Áreas de Conhecimento:
  • Utilize utilitários de linha de comando para obter informações sobre os módulos do kernel e do kernel atualmente em execução.
  • Carregar e descarregar manualmente os módulos do kernel.
  • Determine quando os módulos podem ser descarregados.
  • Determine quais parâmetros um módulo aceita.
  • Configure o sistema para carregar módulos por nomes que não sejam seu nome de arquivo.
  • / Proc filesystem
  • Conteúdo de /, / boot /, e / lib / modules /
  • Ferramentas e utilitários para analisar informações sobre o hardware disponível
  • Regras udev
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • /lib/modules/kernel-version/modules.dep
  • module configuration files in /etc/
  • /proc/sys/kernel/
  • /sbin/depmod
  • /sbin/rmmod
  • /sbin/modinfo
  • /bin/dmesg
  • /sbin/lspci
  • /usr/bin/lsdev
  • /sbin/lsmod
  • /sbin/modprobe
  • /sbin/insmod
  • /bin/uname
  • /usr/bin/lsusb
  • /etc/sysctl.conf, /etc/sysctl.d/
  • /sbin/sysctl
  • udevmonitor
  • udevadm monitor
  • /etc/udev/



Tópico 202: Inicialização do sistema

202.1 Personalização da inicialização do sistema SysV-init (peso: 3)

Peso
3
Descrição
Os candidatos devem ser capazes de consultar e modificar o comportamento dos serviços do sistema em vários níveis de execução. É necessária uma compreensão completa da estrutura do init e do processo de inicialização. Esse objetivo inclui interagir com níveis de execução.
Principais Áreas de Conhecimento:
  • Especificação básica padrão do Linux (LSB)
  • Ambiente de inicialização do SysV
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • /etc/inittab
  • /etc/init.d/
  • /etc/rc.d/
  • chkconfig
  • update-rc.d
  • init and telinit
202.2 Recuperação do sistema (peso: 4)
Peso
4
Descrição
Os candidatos devem ser capazes de manipular corretamente um sistema Linux durante o processo de inicialização e durante o modo de recuperação. Esse objetivo inclui o uso do utilitário init e das opções do kernel relacionadas ao init. Os candidatos devem ser capazes de determinar a causa dos erros no carregamento e uso de bootloaders. GRUB versão 2 e GRUB Legacy são os bootloaders de interesse.
Principais Áreas de Conhecimento:
  • GRUB versão 2 e Legacy
  • Shell grub
  • Início do carregador de inicialização e entrega ao kernel
  • Carregamento do kernel
  • Inicialização e configuração do hardware
  • Inicialização e configuração do daemon / service
  • Conhecer os diferentes locais de instalação do carregador de inicialização em um disco rígido ou dispositivo removível
  • Substituindo opções padrão do carregador de inicialização e usando os shells do carregador de inicialização
  • Conscientização da UEFI
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:



  • mount
  • fsck
  • inittab, telinit and init with SysV init
  • The contents of /boot/ and /boot/grub/
  • GRUB
  • grub-install
  • initrd, initramfs
  • Master boot record



202.3 Bootloaders alternativos (peso: 2)

Peso
2
Descrição
Os candidatos devem estar cientes de outros bootloaders e seus principais recursos.
Principais Áreas de Conhecimento:
  • LILO
  • SYSLINUX, ISOLINUX, PXELINUX
  • Compreensão do PXE
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:



  •  lilo, /etc/lilo.conf
  • syslinux
  • extlinux
  • isolinux.bin
  • isolinux.cfg
  • pxelinux.0
  • pxelinux.cfg/



Tópico 203: Sistema de arquivos e dispositivos

203.1 Operando o sistema de arquivos Linux (peso: 4)

Peso
4
Descrição
Os candidatos devem ser capazes de configurar e navegar adequadamente o sistema de arquivos padrão do Linux. Este objectivo inclui configurar e montar vários tipos de sistema de ficheiros.
Principais Áreas de Conhecimento:
  • O conceito da configuração fstab
  • Ferramentas e utilitários para manipulação de partições e arquivos SWAP
  • Uso de UUIDs para identificar e montar sistemas de arquivos
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:



  • /etc/fstab
  • /etc/mtab
  • /proc/mounts
  • mount and umount
  • blkid
  • sync
  • swapon
  • swapoff



203.2 Manutenção de um sistema de arquivos Linux (peso: 3)

Peso
3
Descrição
Os candidatos devem ser capazes de manter corretamente um sistema de arquivos Linux usando utilitários do sistema. Este objetivo inclui a manipulação de sistemas de arquivos padrão e o monitoramento de dispositivos SMART.
Principais Áreas de Conhecimento:
  • Ferramentas e utilitários para manipular e ext2, ext3 e ext4
  • Ferramentas e utilitários para manipular xfs
  • Consciência de Btrfs
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • fsck (fsck.*)
  • mkfs (mkfs.*)
  • dumpe2fs, xfsdump, xfsrestore
  • debugfs
  • tune2fs
  • mkswap
  • xfs_info, xfs_check and xfs_repair
  • smartd, smartctl



203.3 Criando e configurando opções de sistema de arquivos (peso: 2)

Peso
2
Descrição
Os candidatos devem ser capazes de configurar sistemas de arquivos automount usando AutoFS. Esse objetivo inclui a configuração do automount para sistemas de arquivos de rede e dispositivos. Também está incluído a criação de sistemas de arquivos para dispositivos como CD-ROMs e um conhecimento básico de recursos de sistemas de arquivos criptografados.
Principais Áreas de Conhecimento:
  • Arquivos de configuração autofs
  • UDF e ISO9660 ferramentas e utilitários
  • Conhecimento dos sistemas de arquivos de CD-ROM (UDF, ISO9660, HFS)
  • Conscientização de extensões de sistema de arquivos de CD-ROM (Joliet, Rock Ridge, El Torito)
  • Conhecimento básico de recursos de sistemas de arquivos criptografados
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • /etc/auto.master
  • /etc/auto.[dir]
  • mkisofs



Tópico 204: Administração Avançada de Dispositivos de Armazenamento

204.1 Configurando RAID (peso: 3)

Peso
3
Descrição
Os candidatos devem ser capazes de configurar e implementar software RAID. Este objetivo inclui o uso e configuração de RAID 0, 1 e 5.
Principais Áreas de Conhecimento:
  • Arquivos e utilitários de configuração RAID de software
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • mdadm.conf
  • mdadm
  • /proc/mdstat
  • partition type 0xFD



204.2 Ajustando o acesso ao dispositivo de armazenamento (peso: 2)

Peso
2
Descrição
Os candidatos devem ser capazes de configurar opções do kernel para suportar várias unidades. Este objetivo inclui ferramentas de software para exibir e modificar configurações de disco rígido, incluindo dispositivos iSCSI.
Principais Áreas de Conhecimento:
  • Ferramentas e utilitários para configurar o DMA para dispositivos IDE, incluindo ATAPI e SATA
  • Ferramentas e utilitários para manipular ou analisar recursos do sistema (por exemplo, interrupções)
  • Conscientização do comando sdparm e seus usos
  • Ferramentas e utilitários para iSCSI
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • hdparm, sdparm
  • tune2fs
  • sysctl
  • /dev/hd*, /dev/sd*
  • iscsiadm, scsi_id, iscsid and iscsid.conf
  • WWID, WWN, LUN numbers



204.3 Gerenciador de Volume Lógico (peso: 3)

Peso
3
Descrição
Os candidatos devem ser capazes de criar e remover volumes lógicos, grupos de volumes e volumes físicos. Esse objetivo inclui instantâneos e redimensionamento de volumes lógicos.
Principais Áreas de Conhecimento:
  • Ferramentas na suite LVM
  • Redimensionamento, renomeação, criação e remoção de volumes lógicos, grupos de volumes e volumes físicos
  • Criando e mantendo instantâneos
  • Ativando grupos de volume
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • /sbin/pv*
  • /sbin/lv*
  • /sbin/vg*
  • mount
  • /dev/mapper/



Tópico 205: Configuração de rede

205.1 Configuração básica de rede (peso: 3)

Peso
3
Descrição
Os candidatos devem ser capazes de configurar um dispositivo de rede para poder se conectar a uma rede local, com fio ou sem fio e uma rede de área ampla. Este objectivo inclui ser capaz de comunicar entre várias sub-redes dentro de uma única rede, incluindo redes IPv4 e IPv6.
Principais Áreas de Conhecimento:
  • Utilitários para configurar e manipular interfaces de rede ethernet
  • Configurando acesso básico a redes sem fio com iw, iwconfig e iwlist
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • /sbin/route
  • /sbin/ifconfig
  • /sbin/ip
  • /usr/sbin/arp
  • /sbin/iwconfig
  • /sbin/iwlist



205.2 Configuração Avançada de Rede (peso: 4)

Peso
4
Descrição
Os candidatos devem ser capazes de configurar um dispositivo de rede para implementar vários esquemas de autenticação de rede. Este objectivo inclui a configuração de um dispositivo de rede multi-homed ea resolução de problemas de comunicação.
Principais Áreas de Conhecimento:
  • Utilitários para manipular tabelas de roteamento
  • Utilitários para configurar e manipular interfaces de rede ethernet
  • Utilitários para analisar o status dos dispositivos de rede
  • Utilitários para monitorar e analisar o tráfego TCP / IP
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • /sbin/route
  • /sbin/ifconfig
  • /bin/netstat
  • /bin/ping
  • /usr/sbin/arp
  • /usr/sbin/tcpdump
  • /usr/sbin/lsof
  • /usr/bin/nc
  • /sbin/ip
  • nmap



205.3 Resolução de problemas de rede (peso: 4)

Peso
4
Descrição
Os candidatos devem ser capazes de identificar e corrigir problemas comuns de configuração de rede, para incluir o conhecimento de locais para arquivos de configuração básica e comandos.
Principais Áreas de Conhecimento:
  • Localização e conteúdo dos arquivos de restrição de acesso
  • Utilitários para configurar e manipular interfaces de rede ethernet
  • Utilitários para gerenciar tabelas de roteamento
  • Utilitários para listar estados de rede.
  • Utilitários para obter informações sobre a configuração da rede
  • Métodos de informação sobre os dispositivos de hardware reconhecidos e usados
  • Arquivos de inicialização do sistema e seu conteúdo (processo SysV init)
  • Conscientização do NetworkManager e seu impacto na configuração da rede
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • /sbin/ifconfig
  • /sbin/route
  • /bin/netstat
  • /etc/network/, /etc/sysconfig/network-scripts/
  • System log files such as /var/log/syslog & /var/log/messages
  • /bin/ping
  • /etc/resolv.conf
  • /etc/hosts
  • /etc/hostname, /etc/HOSTNAME
  • /bin/hostname
  • /usr/sbin/traceroute
  • /bin/dmesg
  • /etc/hosts.allow, /etc/hosts.deny



Tópico 206: Manutenção do sistema

206.1 Criar e instalar programas a partir da fonte (peso: 2)

Peso
2
Descrição
Os candidatos devem ser capazes de construir e instalar um programa executável a partir da fonte. Esse objetivo inclui a possibilidade de descompactar um arquivo de fontes.
Principais Áreas de Conhecimento:
  • Descompacte o código-fonte usando utilitários comuns de compactação e arquivamento.
  • Compreender os conceitos básicos de invocar make para compilar programas.
  • Aplicar parâmetros a um script de configuração.
  • Saiba onde as fontes são armazenadas por padrão.
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • /usr/src/
  • gunzip
  • gzip
  • bzip2
  • tar
  • configure
  • make
  • uname
  • install
  • patch
  • instalar
  • Remendo



206.2 Operações de backup (peso: 3)

Peso
3
Descrição
Os candidatos devem ser capazes de usar ferramentas do sistema para fazer backup de dados importantes do sistema.
Principais Áreas de Conhecimento:
  • Conhecimento sobre diretórios que devem ser incluídos em backups
  • Conhecimento de soluções de backup de rede como Amanda, Bacula e BackupPC
  • Conhecimento dos benefícios e desvantagens de fitas, CDR, disco ou outros meios de backup
  • Executar backups parciais e manuais.
  • Verifique a integridade dos arquivos de backup.
  • Restaurar parcialmente ou totalmente os backups.
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • /etc/issue
  • /etc/issue.net
  • /etc/motd
  • wall
  • /sbin/shutdown



206.3 Notificar os usuários sobre problemas relacionados ao sistema (peso: 1)

Peso
1
Descrição
Os candidatos devem ser capazes de notificar os usuários sobre questões atuais relacionadas ao sistema.
Principais Áreas de Conhecimento:
  • Automatizar a comunicação com os usuários através de mensagens de logon.
  • Informar usuários ativos da manutenção do sistema
O seguinte é uma lista parcial dos arquivos usados, termos e utilitários:
  • / Etc / issue
  • /etc/issue.net
  • / Etc / motd
  • parede
  • / Sbin / shutdown

LPI-2: LPIC 201 – Tópico 201.1


LPI-2: LPIC 201 
Segue a descrição da lpi.org para esse tópico da prova.
http://www.lpi.org/our-certifications/exam-201-objectives
201.1 O kernel Linux

Peso 2

Descrição:  O candidato deverá ser capaz de utilizar os componentes do kernel que são necessários para um hardware específico, drivers de hardware, recursos do sistema e requisitos. Este objetivo inclui a implementação de diferentes tipos de imagens do kernel, identificando kernels estáveis ​​e de desenvolvimento e patches, assim como manusear módulos do kernel.
Principais Áreas de Conhecimento:
  • Documentação do Kernel 2.6.x
  • Documentação do Kernel 3.x
Termos e Utilidades:
  • / Usr / src / linux /
  • ZImage
  • / Usr / src / linux / Documentação /
  • BzImage
Fonte de estudos.

http://www.ibm.com/developerworks/br/library/l-linux-kernel/index.html?ca=drs-br-0606


Vamos falar um pouco do kernel.


Kernel Linux

O Linux na verdade é o kernel dos sistemas operacionais GNU/Linux, ele é responsável por tratar informações entre o hardware e as aplicações. Desenvolvido por Linus Torvald em 1990, o Linux tomou proporções mundiais rapidamente ao aderir o licenciamento GNU GPL, que ao mesmo tempo que o torna público e acessível por milhares de programadores o protege de ser usado comercialmente.

Criador do Linux, Torvalds.
Linus Torvalds

Breve Histórico dos Principais Releases do Kernel Linux

Breve Histórico dos Principais Releases do Kernel Linux
Fonte da Imagem: https://www.ibm.com/developerworks/br/library/l-linux-kernel/
Para entender melhor o assunto recomendo esse artigo:

https://www.vivaolinux.com.br/artigo/O-Kernel-Linux


Tipos de Kernel


O kernel do Linux é monolítico, existem também o micro-kernel e o kernel hibrido. No kernel monolítico todas funções nascem de um único processo, sendo mais rápido e fácil o desenvolvimento e o monitoramento de erros. No micro-kernel uma função pode ser controlada por um processo alheio a uma rotina primária. Os híbridos podem ter as duas características, basicamente ter um processo cuidando de tudo mas com exceções onde ele cria um processo a parte para tratar aquela entrada.

Um kernel monolítico pode carregar tudo que está copilado no kernel para subir na memória, o que seria terrível em algumas situações, isso não ocorre porquê o Linux é modular, significa que embora um processo único esteja cuidando dos demais, só vai para a memória aquilo que será usado pelo sistema operacional, por exemplo ao plugar uma dispositivo USB somente o módulo que contém as instruções e drivers para processar o dispositivo será levado para memória, o que confere ao Linux um uso de memória bem pequeno em comparação por exemplo ao Windows, que sobe quase todos os drivers na inicialização.

Padronização e nomenclatura do kernel

Basicamente a versão do Linux é separada por quatro itens:
Vejamos pelo exemplo abaixo:

3.16.0-4-amd64
A.B.C.D
A – Versão principal: Versão do kernel, muda apenas quando existem mudanças radicais, a exceção da versão 2 para 3 que foi realizado pela vigezimo ano de aniversario.
B – Número de revisão principal: Número da revisão. Até a versão 2.4 o número quando par era uma versão estável e quando ímpar um beta.
c – Número de revisão secundário: Versões antigas identificava correções de segurança, hoje indica adição de drivers e recursos.
D Correções Urgentes: Não aparece no exemplo acima e indica uma correção urgente de segurança que altere algum aspecto da revisão secundária.

Localização do Kernel no Sistema

A localização do kernel geralmente fica em /usr/src/ numa subpasta como por exemplo /usr/src/linux-2.6.32, é bom lembrar que podemos usar mais de um kernel e para isso deixamos um link simbolico para /usr/scr/linux, desta forma os aplicativos não terão problema de achar algum arquivo do kernel em execução.

Documentação Oficial

A documentação pode ser consultada em /usr/src/linux/Documentation, em destaque para kernel-parameters.txt que aponta os parâmetros possíveis de se habilitar.

Imagem

A imagem do kernel copilado fica em /usr/src/linux/arch/[arquitetura]/boot, tem tamanho variável e como formato padrão o zImagem (até 512Kb) e bzImagem (imagens maiores que 512Kb).

201.2 Compilando um kernel Linux
Peso 3

Na maioria das distribuições a copilação acontece ou vem pré-copiladas para acontecer durante a instalação, mas algumas vezes para buscar suporte ao hardware ou mesmo suportar um dado recurso ou otimizar outros é preciso realizar a copilação do kernel.

Podemos sintetizar a copilação em três etapas: Configuração, Copilação e por fim instalação.

Configuração

Com o objetivo de gerar o arquivo .config invocamos primeiramente o comando make no diretório do código-fonte, existem várias formas de se gerar o arquivo .config sendo a mais comum o método ncurses com o comando make menuconfig. Nada mais é que um menu para acessar todas as configurações. Existem ainda pelo menos duas interfeaces alternativas no ambiente gráfico X, o Qt e Gtk, mas que funcionam basicamente como a interface ncurses.

Pré-requisitos:
Ter o compilador da linguagem C e alguns acessórios.
No Debian #apt-get install build-essential, no Fedora com yum groupinstall “Development Tools”.

Outra opções:
Para usar uma interface alternativa ao ncurses e orientada a perguntas e respostas temos o #make config e para aproveitar o .config pré-existente podemos chamar #make oldconfig para perguntar apenas por novos recursos.


Comandos:
make

make menuconfig
make config
make oldconfig
Arquivos:
.config

Importante:
Interface ncurses
Compilador C
Compilação

Caso não seja a primeira copilação de kernel podemos invocar o #make mrproper, para limpar as configurações da compilação anterior, isso evitar dependências desencontradas. 

LPI-2: LPIC 201 – Tópico 200

Tópico 200 – Peso 8

Conteúdo sintetizado do livro Certificação LPI-2 do Lucioano Antonio Siqueira e de vários links da internet. Embora seja completo os itens foram tratados de forma objetiva. Ficou errado? Comente.



200.1 Avaliar e Resolver Problemas no Uso de Recursos – Peso 6
Peso 6



O Pacote Systat



Usado para monitorar a performance do sistema monitorando o processador e a comunicação entre dispositivos, podendo obter dados mediante a execução ou agendamento. Já se encontra disponível na maioria das distribuições mas pode ser instalado também.



#apt-get install sysstat
ou
#yum install sysstat



Destacam-se dois comandos, iostat e sar:



iostat : CPU e de E/S de dispositivos e partições.
– Sem argumentos retorna uso de CPU, E/S e partições de forma resumida.
-d Para marcar o tempo de atualização. Sendo que apenas a parte dos dispositivos e partições se atualiza. (na versão testada)
-x Forma detalhada. Sendo que apenas os dispositivos entram na forma detalhada.



#iostat
avg-cpu:   %user %nice %system %iowait %steal %idle
          11,21 0,04 1,98 7,82 0,00 78,96



Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 23,81 372,66 375,56 1691530 1704708
%user: Uso de CPU no nível usuário, aplicações.
%nice: Processos com prioridade modificada.
%system: Sistema, kernel.
%iowait: Ociosa aguardando retorno de E/S.
%steal: Ociosidade devido o hipervisor estar servido outra CPU virtual.
%idle: CPU Ocioso.



sar : CPU, IO, RAM.
Requisitos para funcionar, editar /etc/default/systat ENABLED=true ou systemctl enable sysstat.service e iniciar o processo. /etc/init.d/systat start.
– Sem argumentos retorna uso de CPU.
-b : Resumo das entradas/saídas.
-d : Entrada e saida de dados por dispositivos.
-B : Informações sobre paginação.
-r : Utilização de memória RAM.
-S : Utilização do swap.
-n DEV : Tráfego de dados das interfaces de rede. Semelhante ao netstat -i.



netstat – Mostra as conexões estabelecidas, roteamentos, mascaramentos e multicasts.
-i : Interface.
-r : Roteamento.
-v : Verbose.
-s : Estatística.
-M : Mascarados.[
-c : contínuos



vmstat – Relatório de memória, disco, IO, CPU.
vmstat -[option] [delaynumber [countnumber]]
-a : Mostra o que está ativo e inativo na memória, mantendo as outras informações padrão.
-p : Informações sobre as partições.
-d : Informações sobre o disco.



ps – Snapshot dos processos atuais.
-ely : Informações detalhadas com o primeiro campo indicando o estado do processo.
-aux : Informações detalhadas dos processos.



top – Informações em tempo real de carga de cpu e memória dos processos.



pstree – Árvore de processos.



w – Quais usuários estão conectados.



lsof – Verificar todos arquivos e pseudo-arquivos que um processo está atingindo.
-p PID : Listar arquivos atingidos por um processo.
-u : Todos arquivos por processo por usuário.
[caminho do arquivo] : Lista todos os processos do arquivo.



uptime : Mostra o tempo em que o sistema está ligado, número de usuários, cpu de 1,5,15 minutos.



200.2 Prever necessidades futuras e recursos
rrdtool – collectd – cacti – MRTG – nagios



Todas as ferramentas contam com tutoriais na internet, sendo assim e visto a forma superficial que se é cobrado no exame tratarei cada tópico com exemplos de links e referências.



rrdtool





RRDTool – você sabe trabalhar com ele?
Esta é uma ferramenta que acredito eu ser uma das mais utilizadas em todo o mundo! Vemos sua utilização em muitos aplicativos open-source como Cacti, Munin, Zenoss, Torrus, Smokeping entre muitos outros. Você pode ver uma lista deles aqui! RRDTools foi desenvolvido por Tobias Oetiker.



Basicamente é possível criar uma base de dados onde serão armazenadas informações como temperatura ou os bytes trafegados por uma interface ao longo do tempo. Qualquer coisa que possui um valor numérico você pode guardar aqui. Primeiramente é necessário instalar esta ferramenta, caso ela já não esteja. Atualmente eu tenho servidores baseado em Debian, então minha instalação é feita com a ferramenta aptitude. Consulte a ferramenta de sua distribuição (yast, emerge, rpm) por este pacote!
aptitude install rrdtool
Com este comando será instalado o aplicativo e suas dependências serão satisfeitas. Depois da instalação você verá que ele possui algumas funções. Aqui iremos falar de algumas somente que são:



create: cria uma nova base de dados rrd
update: atualiza com novos valores uma base de dados rrd
graph: cria um grafico apartir de uma base de dados rrd
fetch: possibilita extrair informação de uma base de dados rrd
info: mostra informações sobre uma base de dados rrd



Existem outras funções e elas estão descritas (em inglês) neste site. Uma característica muito importante deste tipo de base de dados é que possui um comportamento cíclico, isso faz com que ela mantenha seu tamanho fixo e permite um planejamento de espaço em disco. Claro que com isso se faz necessário a definição de quanto tempo se deseja guardar uma informação, pois quando não existir mais espaço disponível, automaticamente as informações mais antigas serão sobrescritas. Em minha opnião acredito ser uma forma bastante escalonável de se manter dados armazenados por um período.



A forma que você utilizará para “alimentar” esta base de dados de informações (Data Sources) depende do que você possui e da forma que você julgar mais prático. O mais comum creio eu é por consultas SNMP (Simple Network Management Protocol) onde é possível verificar a memória utilizada por um sistema, quantos usuários estão conectados em um sistema operacional, e muitas outras possibilidades. Para isso pode-se usar um Script Shell, Perl, PHP. O fato é você conseguir passar valores para esta ferramenta, a forma você decide! 😀



Tudo muito simples e muito bonito, porém as diversas informações que você possui em geral podem representar tipos de dados distintos, como por exemplo, temperatura de uma cpu e os bytes trafegados em uma interface! Isso é muito importante no momento de criar uma base de dados rrd pois definirá o comportamento de como esses dados serão interpretados e consolidados dentro dela. Com isso em mente, temos disponível para trabalhar os seguintes tipos de dados com características específicas:



COUNTER – Este tipo espera que o valor sempre aumente, ou seja, a diferença do valor atual e o anterior é maior que zero, e salva a variação deste sobre o tempo.
DERIVE – Este é muito similar ao comportamento do COUNTER porém ele permite valores negativos.
ABSOLUTE – Este tambem salva a variação de valores porém ele sempre considera que o anterior é zero.
GAUGE – Este possui um comportamento diferente e não faz nenhum tipo de matematica com o valor recebido, ele simplesmente insere o valor como ele chega!
COMPUTE – Este armazena um valor oriundo de uma fórmula que usa valores de outros dados definidos dentro de um arquivo rrd.



As informações dentro de um arquivo rrd são armazenadas efetivamente em arquivos RRA (Round Robing Archive). São estas estruturas que terão os espaços para armazenar dados. Antes de avançarmos um pouco mais é necessário entender duas definições utilizadas pelo RRDTools que são os PDPs (Primary Data Point) e CDPs (Consolidated Data Point). Quando um novo valor é inserido ele recebe a classificação de PDP, ou seja, enviamos um determinado valor para essa base de dados e se cria um PDP, porém um CDP é composto por um número pré determinado de PDPs. Uma nova informação só é inserida quando se torna um CDP!



Com estas informações que temos até agora podemos entender um pouco sobre essa poderosa ferramenta de armazenamento de dados, porém, existem alguns detalhes importantes que são utilizados antes de inserir definitivamente uma nova informação dentro de um arquivo rrd que são as funções de consolidação, o fator xff, steps e rows:



step: aqui é definido quantos PDPs são necessários para formar um CDP.
função de consolidação: é uma função aplicada nos valores quando atingir o número necessário de PDPs para criar um CDP. Ela pode ser AVERAGE, MIN, MAX, LAST.
fator xff: é a razão entre a quantidade de informação desconhecida (UNKN) e a de conhecida em um determinado intervalo (step), ou seja, quantos PDPs podem ser desconhecidos para formar um CDP.
rows: aqui é informado quantos CDPs serão armazenados.



Passando por tudo isso, uma informação consegue ser armazenada em um RRA e posteriormente plotada em um gráfico. Com isto entendido podemos passar dois novos conceitos usados nesta ferramenta que é o step (não é o mesmo que o anterior) e o heart beat. Como explicamos acima, esta é uma base de dados que guarda informação ao longo do tempo e ela recebe informações em intervalos de tempo pré determinados, o mais comum são 300 segundos (5min). Este step é utilizado na hora da criação da base de dados e é definido em segundos. O heart beat é utilizado no momento de se definir um DS (Data Source) e ele representa o tempo máximo que se esperará por um valor antes de inserir um valor desconhecido (UNKN) e geralmente esta configurado para 600 segundos (10min). Abaixo esta um exemplo para criar uma base de dados rrd que irá armazenar valores das variáveis SNMP ifInOctets e ifOutOctets:



rrdtool create interface.rrd
–step 300
DS:in:COUNTER:600:0:U
DS:out:COUNTER:600:0:U
RRA:AVERAGE:0.5:12:24
RRA:MAX:0.5:12:24



Com este comando estamos dizendo algumas coisas:
Crie (rrdtool create) um arquivo chamado interface.rrd
Receberá informações a cada 300 segundos (–step 300)
Com um Data Source chamado in, de tipo COUNTER, receberá informações com no máximo 600 segundos (se não UNKN), com valor mínimo em 0 e o valor máximo é desconhecido (U). O mesmo ocorrerá com o Data Source chamado out.
Crie um RRA com função de consolidação AVERAGE, com um xff de 0.5%, forme um CDP quando acumular 12 PDPs e armazene 24 vezes.
Crie um RRA com função de consolidação MAX com um xff de 0.5%, forme um CDP quando acumular 12 PDPs e armazene 24 vezes.



Ok!!!! Vamos traduzir um pouco isso ai, criaremos um arquivo com aquele nome, irá receber novos valores a cada 5 minutos e esperará no máximo até 10 minutos. Não recebendo nenhum valor novo irá colocar um valor especial chamado UNKN. Estamos criando dois arquivos RRA com funções de consolidação diferentes. Com o xff configurado para 0.5 e o step em 12, estamos dizendo que até 6 valores (12*0.5) podem conter UNKN. Com estes 12 valores aplicaremos uma função de média (AVERAGE) e armazenarei o resultado e com outra aplicarei a função de máxima (MAX) e também armazenarei o resultado. Os dois armazenarão 24 valores. Fazendo as contas 300*12*24 chegamos ao valor 86400 segundos ou 1 dia. Será necessário um dia completo para encher este arquivo rrd. Se você criar uma base de dados com esta configuração levará uma hora (300*12) para que seja possível ter alguma informação dentro da base de dados e que apareça em um gráfico.



Bom já temos bastante informação sobre as base de dados rrd até agora, porém ainda não vimos como inserir informações nela. É um procedimento bem simples e iremos usar a segunda função que apresentamos acima que é a update. Com esta função iremos inserir novos dados a cada 5 minutos (nossa base de dados espera isso, mas pode ser diferente). O comando para fazer isso é o seguinte:
update:



rrdtool update interface.rrd N:32378634:U



O que isto fará é o seguinte, atualizará o arquivo interface.rrd com um valor conhecido e outro desconhecido (fiz assim só para dar um exemplo) e a hora de atualização será a atual (N). Com isso teremos um novo PDP dentro desta base de dados. Cada RRA irá receber estes valores e acumulará até alcançar o número de steps configurado, aplicando então sua função de consolidação.



Se você quiser criar uma base de dados para armazenar um tempo específico são necessários alguns passos e cálculos. Vamos simular aqui que precisamos de uma base de dados que guarde informação por um ano completo e que antes de criar uma entrada nova (CDP) dentro do nosso RRA serão necessários 4 PDPs (steps) e a coleta será a cada 300 segundos ou 5 minutos.



Vamos primeiro descobrir quantos segundos possui um ano:
1 ano -> 365 dias -> 8760 horas -> 525600 segundos



Um ano é isso ai, 525600 segundos, então podemos chegar na seguinte fórmula:
((525600)/(4*300)) = 438



O resultado desta fórmula nos permite criar uma base de dados para nossa necessidade:



rrdtool create interface2.rrd
–step 300
DS:in:COUNTER:600:0:U
DS:out:COUNTER:600:0:U
RRA:AVERAGE:0.5:4:438



Este é um assunto bastante comprido e só estamos no começo de sua abordagem porém acredito que o básico e o início teórico são muito importantes para se avançar. Espero estar mostrando mais desta ferramenta pois é muito poderosa e útil para o dia a dia de um administrador de sistemas.



Como sempre, se existir qualquer sugestão, crítica, dúvida ou ainda uma correção, podem entrar em contato comigo!



Fonte: http://andrezenun.blogspot.com.br/2008/09/rrdtool-voc-sabe-trabalhar-com-ele.html



Cacti



Fonte: https://openmaniak.com/pt/cacti.php



Classicamente, Ele pode gerar gráficos de banda usando o SNMP. De fato, uma série de diferentes gráficos podem ser feitos com o scripts shell ou perl. Nas screenshots, você pode ver quais tipos de gráficos podem ser feitos com o Cacti. A força do Cacti reside no fato de que pode ser instalado e utilizado de forma incrivelmente fácil. Você não precisa ser um guru ou gastar toneladas de horas sobre a ferramenta para configurá-la. Mesmo um iniciante pode usá-lo muito rapidamente.
No muito ativo fórum do Cacti, você pode compartilhar “Modelos do Cacti” com outros usuários que podem poupar muito tempo. Você pode facilmente também adicionar plugins no Cacti, habilitando a possibilidade de integrar outras ferramentas free como o ntop ou o php Mapa do tempo. Na nossa opinião,este é, de longe, o melhor RRDtool frontend. Para detalhes de como usar o Cacti, veja o muito bom Cacti Manual.
RRDtool é um programa desenvolvido por Tobi Oeticker que havia criado o famoso MRTG. RRDtool é desenvolvido usando a linguagem de programção “C” e ele guarda os dados coletados em aquivos “.rrd”. O número de registros em um arquivo “.rrd” nunca aumenta, significando que antigos registros são frequentementes removidos. Isto implica que ele obtem figuras precisas para dados recentemente logados, onde as figuras baseadas em dados muito antigos possuem valores aproximados. Por padrão, você pode obter gráficos diários, semanais, mensais e anuais. Algumas das vantagens do RRDtool sobre o MRTG são as seguintes:



  • Ele é muito mais rápido.
  • Ele pode usar valores negativos.
  • Ele pode usar mais de uma fonte de dados em um gráfico.
  • Os gráficos gerados são muito customizáveis.
  • Ele pode ser usado por uma grande variedade de front-ends, como o Cacti.
  • Os registros do RRDtool armazenados nos arquivos “.rrd” mantem o mesmo tamanho e não aumentam.



MRTG



O Multi Router Traffic Grapher (MRTG) é uma ferramenta de monitoração que gera páginas HTML com gráficos de dados coletados a partir de SNMP ou scripts externos. É conhecido principalmente pelo seu uso na monitoração de tráfego de rede, mas pode monitorar qualquer coisa desde que o host forneça os dados via SNMP ou script.
Foi desenvolvido por Tobias Oetiker e Dave Rand. Foi escrito em Perl mas utiliza um módulo em C para gerar os gráficos.
Características:
  • Mede sempre 2 valores, no caso de tráfego, pode ser Entrada e Saída.
  • Faz as leituras via SNMP ou através de script que retorna um formato padrão.
  • Coleta dados a cada 5 minutos por padrão, mas este tempo pode ser aumentado ou diminuído.
  • Cria uma página HTML com 4 gráficos (diário, semanal, mensal e anual). Se algum deles não for necessário pode ser suprimido.
  • O MRTG pode avisar caso o valor do gráfico atinja um valor pré-estabelecido. Por exemplo: se determinado servidor atinge 95% do espaço do disco, o MRTG pode mandar um e-mail para o administrador informando o ocorrido.
  • Possui uma ferramenta para gerar os arquivos de configuração: o CFGMAKER.
  • Possui uma ferramenta para gerar um página de índice para os casos em que muitos itens são monitorados: o INDEXMAKER.
O MRTG é software livre distribuído nos termos da GNU General Public License.



Após a instalação, com a ferramenta CFGMAKER gera-se os arquivos de configuração. Caso existam muitos itens sendo monitorados, com a ferramenta INDEXMAKER gera uma página com índice para os casos em que muitos itens são monitorados.  



#cfgmaker
#indexmaker



Nagios



O Nagios pode monitorar tanto serviços quanto hosts, por ser modular pode-se adicionar várias funções através de plugins. Pode enviar email, mensagens SMS, até mesmo mensagens por Whatsapp a comunidade conseguiu adicionar.



Segue um tutorial bem prático da comunidade de exemplo:
https://www.vivaolinux.com.br/script/Instalacao-do-Nagios-por-script