RANCID como configuração diferente para aplicações linux

2

Estou procurando uma ferramenta de gerenciamento de configuração semelhante a RANCID ( link ) - o problema é que eu quero gerenciar arquivos de configuração para aplicativos Linux como mysql, apache, memcache, verniz, php e assim por diante, não configurações de rede.

O que eu gostaria que a ferramenta fizesse é:

1) Em uma base periódica consulta uma lista predeterminada de servidores (via SFTP / SSH / SCP?)

2) Verifique se uma lista predeterminada de arquivos foi alterada (talvez por meio de checksum?)

3) Se eles mudaram, faça um diff nos arquivos novos e antigos, envie um e-mail para o endereço de e-mail das alterações.

  • Isso é para processos de controle de alterações, de modo que uma equipe de pessoas esteja ciente de que as alterações ocorrem e temos uma trilha de auditoria. Precisa ser em tempo real ou quase em tempo real (dentro de 30 minutos de uma mudança seria aceitável)

4) Comprometa o novo arquivo para um repositório de controle de origem (SVN / GIT talvez?)

Tenho certeza de que o RANCID pode fazer a maioria (tudo?) disso para dispositivos de rede como roteadores Cisco, firewalls etc, mas o problema é que ele não funciona para dispositivos que não são de rede (até onde eu sei). E eu não tenho o conhecimento perl e tempo para codificar um módulo RANCID para fazer o que precede.

Então, o que eu estou procurando é um RANCID como solução turnkey (livre seria ótimo, mas não me oponho a pagar um preço razoável por isso) que pode fazer o que precede. Alguém pode recomendar alguma coisa?

Isenção de responsabilidade: já conheço ferramentas de configuração centralizadas, como Chef e Puppet. Embora sejam ótimas soluções, neste estágio não estou procurando fazer implantações automatizadas / centralizadas de configuração, mas sim continuar a gerenciar manualmente os arquivos de configuração e simplesmente ter backups com versão e alteração de notificação.

    
por Brad 05.07.2013 / 23:31

1 resposta

2

etckeeper

A única ferramenta que usei no passado que faz a maior parte do que você está procurando é etckeeper .

O backend é configurável para que você possa escolher qual sistema de controle de versão você quer usar (git, svn, bazaar, etc.).

A página de desenvolvimento principal no github tem tudo o que você precisa para começar a usá-la.

blueprint

Outra ferramenta que pode ser útil é o blueprint . Esta ferramenta irá coletar as configurações personalizadas junto com os pacotes que você instalou usando qualquer ferramenta de gerenciamento de pacotes, como pacotes gerenciados pelo APT, Yum, RubyGems, easy_install e pip do Python, PHP's PEAR e PECL e NPM do Node.js. / p>

trecho

Blueprint is a simple configuration management tool that reverse-engineers servers. It figures out what you’ve done manually, stores it locally in a Git repository, generates code that’s able to recreate your efforts, and helps you deploy those changes to production.

    
por 06.07.2013 / 01:54