LINUX: CRIANDO ARQUIVO ISO DE UMA PASTA

Instale o pacote genisoimage:

apt install genisoimage

Execute o comando abaixo para criar um arquivo .iso com todos os arquivos de uma pasta:

genisoimage -o newfile.iso SuaPasta/

Gostou? Se tiverem algumas sugestões, dica ou se ficou com alguma dúvida sobre este tutorial, não tem problema! Basta comentar no post que iremos responder suas dúvidas assim que for possível.

Fonte: freebsd, bfnetworks

LINUX: Erro no boot (initramfs)

Em sistemas operacionais de computador baseados em Unix, init (abreviação de inicialização em inglês) é o primeiro processo iniciado durante a inicialização do sistema operacional. Init é um processo daemon (executado em segundo plano) iniciado pelo kernel (parte do código do sistema operacional que está sempre residente na memória e facilita as interações entre componentes de hardware e software) durante o processo de inicialização e que continua em execução até que o sistema seja desligado.

initramfs é um arquivo que contém um sistema de arquivos (fs = “file system”) raiz temporário usado durante o processo de inicialização. O principal objetivo de um arquivo initramfs é fornecer os módulos necessários para que o kernel possa acessar o sistema de arquivos raiz “de verdade” do sistema operacional.

BusyBox é um conjunto de software que fornece vários utilitários Unix em um único arquivo executável. Ele roda em uma variedade de ambientes POSIX (família de padrões definidos para manter a compatibilidade entre os sistemas operacionais) como Linux, Android e FreeBSD, embora muitas das ferramentas que ele fornece sejam projetadas para funcionar com interfaces fornecidas pelo kernel do Linux.

Um erro que pode ocorrer e assustar os iniciantes no mundo open source Linux é o “initramfs” na tentativa de inicialização do sistema.

Esse ocorre por problemas no sistema de arquivos e pode ser causado por:

  • Desligamento por força bruta, cortando a energia elétrica inesperadamente
  • Particionamento com defeito
  • HD com defeito. Neste caso sugiro a substituição caso o problema se torne constante

Passos para corrigir o problema

Anote/salve a partição ou disco indicado no erro;

Você deve ter um disco ou pendrive com uma distribuição Linux para rodar em “live”;

Insira/conecte e dê boot por esse dispositivo;

Após completar a inicialização em “live”, abra o Terminal;

Dê o comando abaixo para identificarmos a partição ou disco com problemas:

sudo fdisk -l

Verifique a partição/disco que foi mencionado no erro;

Agora para corrigir execute o seguinte comando (substitua /dev/sda0 pela sua partição com problemas):

sudo fsck -y /dev/sda0

Se solicitar senha, digite sua senha com acesso root;

Pronto! Finalizada a correção, poderá reiniciar com o comando:

sudo reboot

Retire a mídia “live” e inicie seu sistema normalmente.

Para saber mais a respeito do comando fsck (file system checker), visite o help dele no sistema, ou simplesmente confira abaixo:

Uso:
fsck [opções] — [opções-sis.arq.] [<sistema de arquivos> …]

Verifica e repara um sistema de arquivos do Linux.

Opções:
-A verifica todos os sistemas de arquivos
-C [<fd>] exibe uma barra de progresso; descritor de arquivo para GUIs
-l trava o dispositivo para garantir acesso exclusivo
-M não verifica sistemas de arquivos montados
-N não executa, apenas mostra o que seria feito
-P verifica sistemas de arquivos em paralelo, incluindo o raiz
-R ignora o sistema de arquivos raiz; útil apenas com “-A”
-r [<fd>] relata estatísticas para cada dispositivo verificado;
descritor de arquivos fd é para interface gráfica (GUI)
-s serializar as operações de verificação
-T não mostra o título no início
-t <tipo>especifica tipos de sistemas de arquivos a serem verificados;
pode ser uma lista separada por vírgula
-V explica o que está sendo feito

-?, –help display this help
–version display version

Gostou? Se tiverem algumas sugestões, dica ou se ficou com alguma dúvida sobre este tutorial, não tem problema! Basta comentar no post que iremos responder suas dúvidas assim que for possível.

Fonte: brunocosta, carlosfprocha, monolitonimbus

LINUX: Instalando o Zabbix-Agent

Muitas vezes termos um servidor linux, onde é necessário a monitoração dos serviços e desempenho da máquina para fins de auditória e melhora do sistema. Nesse artigo vou ensinar a como instalar o Zabbix-Agent sincronizar com o Zabbix Server.

Vou mostrar em 3 sistemas Linux, o Ubuntu/Debian e CentOS, sendo que todos os comandos que mostrar o Ubuntu também funciona no Debian, porém os do CentOS embora a semântica seja a semelhante, só muda uma palavra ou o comando todo, então atente-se na hora da instalação.

Descobrindo a versão do seu Linux

cat /etc/os-release

Adicionando o repositório

Agora conforme a versão do seu SO, acesse a pagina Zabbix Packages e adione o repositório no nosso caso será o Debian :

wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-5+debian12_all.deb

dpkg -i zabbix-release_6.0-5+debian12_all.deb

apt update

Se na após executar a linha dpkg -i zabbix-release_6.0-6+debian12_all.deb você receber a mensagem de erro abaixo, acesso o post LINUX: ERRO a PATH do root normalmente deve conter /usr/local/sbin, /usr/sbin e /sbin.

Provavelmente você deve ter executado apenas o a elevação su, basta penas executar da seguinte forma su – e repetir o processo.

Instalando o Agente Zabbix

Execute a linha de comando abaixo:

apt install zabbix-agent2 zabbix-agent2-plugin-*

Configuração

Antes de prosseguirmos, é importante a correta configuração abaixo, então atente-se a todos os campos sobretudo os que envolvem IP, nome da máquina, e diretórios.

Durante a instalação, ele vai criar o arquivo abaixo já com algumas configurações, mas recomendo deletar, ele e criar só com as opções que vai usar de fato, então seria algo como:

rm /etc/zabbix/zabbix_agentd2.conf 
vi /etc/zabbix/zabbix_agentd2.conf

Uma vez criado o arquivo acima, adicione o conteúdo, conforme abaixo e edite conforme necessidade.

PidFile=/var/run/zabbix/zabbix_agentd2.pid
LogFile=/var/log/zabbix/zabbix_agentd2.log
LogFileSize=0
DebugLevel=3
Server=IP DO SERVIDOR ZABBIX
StartAgents=5
ServerActive=IP DO SERVIDOR ZABBIX
Hostname=HOSTNAME DA MAQUINA MONITORADA
Timeout=30
Include=/etc/zabbix/zabbix_agentd2.d/*.conf

De maneira resumida vamos abordar o que fazem alguns dessas opções:

PidFileNome do arquivo PID.
LogFileTamanho máximo do arquivo de log em MB.
0 – desabilita rotação de log automática.
Nota: Se o limite de tamanho de arquivo de log for alcançado e a rotação do arquivo falhar, por qualquer razão, o arquivo de log existente é truncado e iniciado outra vez.
DebugLevelEspecifica nível de depuração (debug):
0 – informações básicas sobre início e parada dos processos do Zabbix
1 – informações críticas
2 – informações de erro
3 – alertas
4 – para depuração (produz bastante informação)
5 – depuração estendida (produz ainda mais informações)
ServerLista separada por vírgula de endereços IP, opcionalmente em notação CIDR, ou nomes DNS de Zabbix Servers e Zabbix Proxies.
Conexões de entrada serão aceitas apenas a partir dos hosts listados aqui.
Se o suporte a IPv6 estiver habilitado então ‘127.0.0.1’, ‘::ffff:127.0.0.1’ são tratados igualmente e ‘::/0’ permitirão qualquer endereço IPv4 ou IPv6.
‘0.0.0.0/0’ pode ser usado para permitir quaisquer endereços IPv4.
Exemplo: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
Espaços são permitidos.
ServerActiveLista separada por vírgula de pares de endereços IP ou nome DNS (endereço:porta) ou clusters (endereço:porta;endereço2:porta) de Zabbix Servers e Zabbix Proxies para verificações ativas.
Nós de cluster devem ser separados por um ponto-e-vírgula.
Múltiplos endereços separados por vírgula podem ser fornecidos para usar vários Zabbix Servers independentes em paralelo. Espaços são permitidos.
Se porta não for especificada, a porta padrão é usada.
Endereços IPv6 devem ser envoltos por colchetes se a porta para o host for especificado.
Se a porta não for especificada, os colchetes para endereços IPv6 são opcionais.
Se este parâmetro não for especificado, verificações ativas são desabilitadas.
Exemplo para múltiplos Servers:
ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
Exemplo para alta disponibilidade:
ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051
Exemplo para alta disponibilidade com dois clusters e um Server:
ServerActive=zabbix.cluster.node1;zabbix.cluster2.node2,zabbix.domain
HostnameLista separada por vírgula de nomes de host únicos, sensíveis a maiúsculas e minúsculas.
Necessário para verificações ativas e deve corresponder aos nomes de host conforme configurado no Server. O valor é adquirido de HostnameItem se não definido.
Caracteres permitidos: alfanuméricos, ‘.’, ‘ ‘, ‘_’ e ‘-‘.
Comprimento máximo: 128 caracteres por nome de host, 2048 caracteres para a linha inteira.
TimeoutLista separada por vírgula de nomes de host únicos, sensíveis a maiúsculas e minúsculas.
Necessário para verificações ativas e deve corresponder aos nomes de host conforme configurado no Server. O valor é adquirido de HostnameItem se não definido.
Caracteres permitidos: alfanuméricos, ‘.’, ‘ ‘, ‘_’ e ‘-‘.
Comprimento máximo: 128 caracteres por nome de host, 2048 caracteres para a linha inteira.
IncludeVocê pode incluir arquivos individuais ou todos os arquivos de um diretório no arquivo de configuração.
Durante a instalação o Zabbix criará o diretório de include em /usr/local/etc, a menos que modificado durante o tempo de compilação.
Para incluir apenas arquivos relevantes no diretório especificado, o caracter curinga asterisco é suportado para correspondência de padrão. Por exemplo: /absolute/path/to/config/files/*.conf.
Desde o Zabbix 6.0.0 um caminho pode ser relativo à localização do arquivo zabbix_agent2.conf.

Uma vez editado, salve o arquivo, do seu editor preferido no Linux.

Iniciando o serviço e colocando para iniciar com o Sistema

Os comandos, para iniciar ou restart podem variar dependendo da sua versão do Linux, então vou deixar aqui alguns exemplos para iniciar/reiniciar o serviço do zabbix-agente2

systemctl start zabbix-agent2

Para outras verões:

service zabbix-agent2 start
/bin/systemctl start zabbix-agent2.service

Caso precise reiniciar o serviço:

systemctl restart zabbix-agent2

Para outras verões:

/bin/systemctl restart zabbix-agent2.service
service zabbix-agent2 restart

Caso precise para o serviço

systemctl stop zabbix-agent2

Para outras verões:

/bin/systemctl stop zabbix-agent2.service
service zabbix-agent2 stop

Agora que o serviço foi iniciado, e necessário configurarmos para iniciar junto com o Sistema Operacional, nos casos que for necessário reiniciar a máquina.

systemctl enable zabbix-agent2

Para outras versões:

chkconfig zabbix-agent2 on
sudo update-rc.d zabbix-agent2 defaults
sudo update-rc.d zabbix-agent2 enable

Configurações adicionais

Em alguns casos é necessário desabilitar o firewall, ou adicionar exceção para o zabbix-agent não ser barrado, até mesmo o Selinux da máquina pode atrapalhar, nesses casos, já fica registrado abaixo os comandos para fazer de acordo com a sua necessidade.

Outra alternativa seria:

iptables -A INPUT -p tcp -s IP_DO_ZABBIX_SERVER --dport 10050 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -s IP_DO_ZABBIX_SERVER --dport 10051 -m state --state NEW,ESTABLISHED -j ACCEPT

Parar o serviço do firewall

systemctl stop firewalld.service

Desativar o serviço do firewall

systemctl disable firewalld.service

Em alguns casos é necessário algum desses pacotes abaixo

apt-get install build-essential snmp vim libssh2-1-dev libssh2-1 libopenipmi-dev libsnmp-dev wget libcurl4-gnutls-dev fping curl libcurl3-gnutls libcurl3-gnutls-dev libiksemel-dev libiksemel-utils libiksemel3

Para outros versões:

yum -y install build-essential snmp vim libssh2-1-dev libssh2-1 libopenipmi-dev libsnmp-dev wget libcurl4-gnutls-dev fping curl libcurl3-gnutls libcurl3-gnutls-dev libiksemel-dev libiksemel-utils libiksemel3

Checando se o serviço Zabbix Agente está rodando corretamente

Execute o comando abaixo:

systemctl status zabbix-agent2

Se tudo estiver certo deve voltar uma tela com essa:

Em nosso próximo artigo vamos mostrar com colocar esse agente para ser monitoramento na console do Zabbix, até a próxima!

Gostou? Se tiverem algumas sugestões, dica ou se ficou com alguma dúvida sobre este post, não tem problema! Basta comentar no que iremos responder suas dúvidas assim que for possível.

Fonte: zabbix, relatosti, wiki.ifpe, digitalocean