Alguém viu um programa auxiliar para criar um changelog para um servidor?

1

Estou trabalhando para obter nossa configuração de sistemas Linux (e, eventualmente, do Windows, se possível), para que possamos monitorar as alterações administrativas e ter um histórico delas para fazer referência. Atualmente, tenho uma boa configuração com o etckeeper, logwatch e mercurial.

Eu gostaria de tornar isso um pouco mais robusto, irritando qualquer administrador quando eles se desconectarem com uma mensagem que pergunta se eles gostariam de criar um changelog para o que acabaram de fazer no servidor. Uma resposta "não" continuaria o processo de logoff e uma resposta sim os levaria para qualquer editor que usassem onde pudessem inserir o que quisessem sobre o que acabaram de alterar no sistema. O ajudante changlog, em seguida, adicionaria alguma formatação padrão ao que eles colocam lá (adicione uma data / hora, nome de usuário, recuo, rewrap para 70 caracteres por linha, etc.) e coloque isso em um arquivo em algum lugar do sistema. Eu incluiria então esse changelog na configuração de monitoramento que já fiz, o que resultaria em ser controlado por versão e enviado para um local centralizado.

Estou prevendo algo que se pareça e funcione da mesma forma que o recurso de confirmação / comentário funciona com o mercurial / git / svn, exceto que o comentário é formatado de forma diferente e salvo em um arquivo localmente. Pontos de bônus por ter alguns ganchos de pré / pós-commit ou serem capazes de personalizá-lo.

Obrigado.

    
por Randy Syring 13.08.2010 / 07:52

6 respostas

1

Duas ideias simples vêm à mente:

  1. Utilize o comando "logger" para permitir que os administradores enviem one-liners para o syslog. Desde que o nome de usuário é incluído, ele facilita o envio de relatórios com script. Se você estiver registrando em um host central, também receberá essas alterações registradas em log.

  2. Simplesmente anexou todas as alterações em / etc / motd, não apenas documentando as alterações, mas também exibindo-as para todos quando elas fazem logon.

Ambos os métodos permitem que sejam feitos manualmente por administradores fiéis ou por scripts.

    
por 13.08.2010 / 23:27
0

Nunca ouvi falar de tal ferramenta.

Mas eu acho que o acompanhamento pode ser feito

  • O administrador anotará os nomes dos arquivos modificados em algum arquivo de texto com a descrição apropriada.

  • Esses arquivos são então rsynced com algum servidor remoto ou podem estar em alguma pasta no mesmo sistema com o timestamp anexado a ele. Esse backup também conterá o arquivo que o administrador usa para escrever sobre modificações.

  • O arquivo de texto no qual o admin grava as alterações terá algum formato padrão para anotar nomes de arquivos e respectiva descrição, que serão lidos por algum script bash / python / perl antes de executar o rsync.

  • Outras ferramentas de backup, como rdiff ou rsnapshot, podem ser usadas em vez do rsync.

por 13.08.2010 / 08:44
0

Se "qualquer editor que eles usam" for Emacs , então você pode fazer uso de seu altera os comandos de edição de log . No mais simples, isso poderia ser algo tão simples quanto executar o seguinte comando

emacs -f add-change-log-entry

que solicitará a localização do arquivo de log de alterações e criará automaticamente uma nova entrada com nome, endereço de e-mail e data, pronta para edição.

    
por 13.08.2010 / 13:08
0

O uso de algo como iwatch ou tripwire deve ser capaz de mostrar as diferenças nos arquivos. - depois, salve esses relatórios com comentários em algum lugar.

    
por 13.08.2010 / 14:46
0

Não sou especialista em Linux, mas me parece que você precisaria ligar o sistema para capturar qualquer maneira que o administrador pudesse fazer logoff do sistema. por exemplo. Se alguém digitar exit no console para fazer logoff, será necessário fazer com que o shell execute uma ação completamente diferente da resposta normal a exit , caso contrário, o usuário simplesmente será desconectado.

Isso é possível? Talvez, mas isso significaria personalizar o (s) shell (s). É claro que eu posso estar errado e já existe uma maneira conveniente de enganchar o bit de comandos embutido, se houver, eu não sei sobre isso.

Claro que nenhuma das opções acima ajudaria se o usuário em questão acessasse o sistema remotamente, como via SSH.

    
por 14.08.2010 / 00:23
0

Eu especificamente não documencio nada em servidores. Usamos o fantoche, que é o recurso de configuração canônica para servidores. A configuração para o fantoche está no controle de versão. Se um servidor precisa ser reconstruído, usamos o fantoche para fazer isso. Qualquer configuração que não estivesse no fantoche está perdida. Portanto, a maioria das configurações está no fantoche e o changelog está nos commits de fantoches.

    
por 15.11.2010 / 14:35