Script / programa que ouve a entrada do usuário, lê logs para saída e envia transmissão

1

Durante as implantações de código, há um risco de falhas de serviço / sistema. O Network Operations Center monitora alertas de servidores. Se o alerta vier como resultado de uma implantação de código, talvez não seja nada para se preocupar. Se, no entanto, ninguém estiver trabalhando no servidor, é claro que o alerta é motivo de preocupação.

Atualmente, informamos o NOC quando estamos trabalhando em um servidor. Eu queria saber se já existe um script / programa que pode ouvir entradas em um determinado servidor e quando uma determinada entrada é recebida para transmitir a entrada que foi recebida junto com o servidor que foi recebido em um servidor especificado.

Digamos que eu esteja trabalhando no servidor 'x' e execute um agente fantoche

Um processo rodando em segundo plano foi configurado para escutar uma entrada do usuário no terminal com 'agente fantoche' e depois transmitir uma mensagem para um determinado servidor quando essa entrada está presente?

A idéia seria adicionar uma lista de comandos comuns usados pela equipe de implantação que esse processo iria escutar e enviar transmissões para todos eles.

Também seria útil se ele pudesse pesquisar um local predefinido, como um log desse comando (neste caso, agente fantoche), para uma mensagem de saída, como 'puppet successfully completed ..' e, no caso de descobrir que , envie uma transmissão adicional para o servidor fornecido.

Tenho certeza de que poderia ser criado com esforço suficiente, apenas curioso para saber se algo como esse já existe e que pode ser configurado para as nossas necessidades.

Obrigado

    
por ARL 24.06.2015 / 14:39

1 resposta

0

Provavelmente não existe uma ferramenta real que faça o que você está procurando, porque o paradigma de ter flocos de neve especiais nos quais você está ssh / rdp está desaparecendo porque não escala. Você deve pensar em seus servidores como gado, não como animais de estimação.

Em vez de ssh-ing em sua máquina e executando puppet apply ; é melhor usar um servidor de fantoches e aproveitar as classes parametrizadas para definir qual compilação deve ser liberada.

Puppet Master
Classificador de Nó Externo

Idealmente, você deve ter de dois a quatro servidores quase idênticos, cada um com configurações idênticas. (produção + estágio + qa + dev). Dessa forma, você pode testar se sua implantação funciona corretamente em uma máquina antes de enviar sua implementação para produção.

Se suas implantações exigirem várias etapas que não podem ser encapsuladas em seu módulo (como remover do balanceador de carga, modificar banco de dados, ect ...). Então você vai querer aumentar seus fantoches com uma ferramenta que pode fazer esses passos em ordem.

CloudSlang Gestão de Orquestra Capistrano Capistrano Capistrano a> Automação de Implantação
RunDeck Gui que define trabalhos / Tarefas

Outras ferramentas que podem ajudar com o procedimento de implantação.

Cônsul Descoberta de serviços + Relatórios

Por último, parece que você deseja um loop de feedback que informa se uma implantação foi bem-sucedida. O mestre das marionetes e o capataz podem fazer isso. Você também pode relatar o status para um banco de dados base REST.

InflxDB
Iron.io

Em seguida, use uma ferramenta de estilo de painel para mostrar o último x número de resultados.

arrojado painel de controle

Ou, você pode ir direto para uma sala de bate-papo, como folga .

Você mencionou a visualização de registros para encontrar a saída de comandos. Você pode configurar o monitoramento de log, que pode mostrar mensagens em um painel ou até mesmo enviar alertas se uma determinada linha for registrada.

Aqui está a documentação sobre a criação de uma pilha ELK (Elasticsearch, Logstash, Kibana)

Outros recursos

link

link

    
por 28.06.2015 / 04:13