Documentando servidores [fechados]

4

Eu trabalho para uma empresa relativamente pequena de desenvolvimento de software que cresceu muito rapidamente nos últimos anos. Isso sempre causou muitas dores de crescimento, especialmente em termos de infraestrutura. Atualmente, é um crescimento desordenado de VMs em vários servidores ESX, a capacidade de manutenção e o conhecimento sobre os servidores e o que está sendo executado neles varia de servidor para servidor. A maioria dos serviços de execução da VM (web, servidores tcp personalizados, ...) desenvolvidos internamente para os clientes. Alguns estão sendo monitorados centralmente, a maioria não é, nenhuma diferença é feita entre servidores que suportam atividades internas e serviços externos para clientes. Então me foi dada a tarefa de limpar isso.

Sou muito novo no trabalho de 'sysadmin' real, mas boas práticas básicas são claras para mim. Para a maioria das coisas eu encontrei boas soluções como Puppet / Chef, Nagios / Icinga, LDAP para gerenciamento de usuários central, backup, ... que estão todos na lista "todo" no momento, mas as primeiras coisas primeiro.

Eu preciso criar algum tipo de inventário, obter uma visão geral dos servidores. Eu pensei que ferramentas para documentar algo como isso estaria prontamente disponível, mas meu bom amigo Google parece falhar comigo. A documentação atual que temos é uma bagunça, todos documentam de maneira diferente, não armazenados centralmente, layouts diferentes, informações cruciais esquecidas em quase todos os documentos que encontrei.

Então, o que estou procurando? Uma ferramenta para documentar servidores, serviços, hardware e vincular esses itens a um "projeto" ou vários projetos. Eu pensei em alguns modelos de página wiki especiais ou algo assim, mas isso perderia muita informação ou a obscureceria muito. Ter uma visão geral rápida, correta e consistente de, por exemplo, todos os serviços que executam um aplicativo específico ou vinculados a um projeto específico.

Também parece que muitas aplicações precisariam exatamente das mesmas informações repetidas vezes, duplicando muita funcionalidade. O gerenciamento / provisionamento e monitoramento da configuração central são completamente independentes no momento e acho que é estranho que não exista nada para gerenciar todas essas informações comuns e gerar configurações adequadas para isso. Eu conheço NConf para nagios, mas isso parece muito limitado.

Em um mundo ideal, eu encontraria uma ferramenta para gerenciar:

  • Hardware
    • Gerenciamento do ciclo de vida
    • Especificações de hardware
    • Localização
    • Tipo de host (ESX / Xen / KVM /...)
    • Documento no estilo Wiki
    • ...
  • Servidor (vinculado ao hardware)
    • Nome (s) do host
    • IP (s)
    • Login (s) de gerenciamento
    • Detalhes do sistema operacional (versão, fim do suporte, ...)
    • Link com hardware
    • Hardware provisionado (CPU / Memória / Disco)
    • Políticas de backup, restaurar a documentação
    • Documento no estilo Wiki
    • ...
  • Serviço
    • Nome
    • Digite
    • Nome do processo / executável
    • Como iniciar / parar
    • Portas TCP / UDP padrão usadas
    • Requer banco de dados + tipo
    • Documento no estilo Wiki
    • ...
  • Aplicativo (uma instância de um serviço)
    • Tipo de serviço
    • Servidor no qual o aplicativo é executado
    • Projeto (s) ao qual esta instância pertence.
    • Dependências (em outros aplicativos)
    • Data em serviço.
    • hostname (para vhosts etc)
    • Versão do software
    • papel: Produção / controle de qualidade / teste / desenvolvimento
    • Substituir as portas tcp / udp
    • Documento no estilo Wiki
    • ...
  • Projetos
    • Pessoas de contato (técnico, gerenciamento de projetos, contato comercial, ...)
    • Cliente
    • Links para rastreadores de edições / sistemas de tickets,
    • Documento no estilo Wiki
    • ...

Provavelmente estou esquecendo muitas outras coisas úteis / necessárias, mas acho que um sistema como esse seria extremamente útil, com plugins que poderiam, por exemplo, estender a quantidade de informações, adicionar "templates", gerar arquivos de configuração para outros serviços, como configuração básica para monitoramento, configuração para provisionamento, ...

Talvez seja uma má ideia, afinal, talvez haja melhores soluções para isso, mas ficaria feliz em apontar na direção certa. Primeiro pensei em um wiki, mas isso se torna uma bagunça e é um pesadelo de integridade quando várias pessoas têm acesso.

Alguma idéia?

    
por Bart M. 20.11.2012 / 12:27

0 respostas

Tags