Arquivo de configuração para a implementação do ATOP no AWS Elastic Beanstalk

1

RESOLVIDO Eu preciso que o ATOP instale no EC2 as instâncias quando as máquinas são implantadas no Beanstalk. O suporte da AWS só tinha o link abaixo para seguir, mas não mostra como implantar nos arquivos de configuração ebextensions. Alguém já fez isso e tem um arquivo de configuração já feito? Obrigado! - > link

{{Editar 3/23/18}}

Trabalhando por conta própria até agora, é isso que tenho. Não funciona totalmente, mas continua trabalhando.

packages:
  rpm:
    epel: https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

container_commands:
  1_rpm_atop:
    command: "sudo /bin/rpm -i --replacepkgs 
https://www.atoptool.nl/download/atop-2.3.0-1.el6.x86_64.rpm"
  2_add_atop:
    command: "/sbin/chkconfig --add atop"
    leader_only: true
  3_add_atop:
    command: "/sbin/chkconfig atop on --level 235"
    leader_only: true
  4_config_atop:
    command: "/bin/sed 's/600/60/' /usr/share/atop/atop.daily -i"
    leader_only: true
  5_link:
    command: "/bin/ln -sfn /var/log/atop /var/app/current/wp-content/uploads/atop"
    leader_only: true
  6_start:
    command: "/etc/init.d/atop start"
    leader_only: true
    
por Kliqks 19.03.2018 / 20:00

2 respostas

1

Com a ajuda do incrível suporte técnico da AWS Beanstalk, Yao, conseguimos criar um arquivo que instala o ATOP em todas as instâncias. Além disso, ele grava logs de instâncias individuais em meu diretório de arquivos EFS já existente com sym vinculado, de forma que os logs persistam por meio de escalonamento e implantações de máquinas. Isso está funcionando agora na minha implantação de desenvolvimento. Se você não ouvir mais nada, isso significará que ela está trabalhando na produção em cerca de uma semana. Aqui está o conteúdo ajustado para a minha implantação do Wordpress. Aproveite!

container_commands:
  1_install_config_atop:
    command: /tmp/installatop.sh

files:
  "/tmp/installatop.sh":
      mode: "000755"
      content : |
        #!/bin/bash

    #############################################


    ATOPLOGDEST=/var/app/current/wp-content/uploads/atop/   #where to persist the atop log
    LOGFILE=/tmp/atopinstall.log #installaton log

    ##############################################
    INSTANCEID=$(curl http://169.254.169.254/latest/meta-data/instance-id/)

    exec 1>&- # close stdout
    exec 2>&- # close stderr

    echo "========" >> $LOGFILE
    date >> $LOGFILE
    echo "starting" >> $LOGFILE

    echo "---- Step 1, install atop" >> $LOGFILE
    echo "check if atop is installed" >> $LOGFILE
    rpm -q atop >> $LOGFILE
    if [ $? -ne 0 ]
    then
      echo "atop not installed yet" >> $LOGFILE
      rpm -i https://www.atoptool.nl/download/atop-2.3.0-1.el6.x86_64.rpm
      rpm -q atop >> $LOGFILE
      echo "now installed" >> $LOGFILE
    fi

    echo "---- step 2, config atop in chkconfig" >> $LOGFILE
    /sbin/chkconfig --add atop
    /sbin/chkconfig atop on --level 235
    echo "this is the output of chkconfig"  >> $LOGFILE
    /sbin/chkconfig | grep atop >> $LOGFILE

    echo "---- setp 3, config atop's schedule to 60 seconds" >> $LOGFILE
    /bin/sed 's/600/60/' /usr/share/atop/atop.daily -i
    cat /usr/share/atop/atop.daily | grep "INTERVAL=" >> $LOGFILE

    echo "---- step 4, presistent it in EFS" >> $LOGFILE
    mkdir -p $ATOPLOGDEST$INSTANCEID
    /bin/sed "s|/var/log/atop|$ATOPLOGDEST$INSTANCEID|" /usr/share/atop/atop.daily -i
    cat /usr/share/atop/atop.daily | grep "LOGPATH=" >> $LOGFILE
    stat $ATOPLOGDEST$INSTANCEID >> $LOGFILE

    echo "---- step 5, restart atop" >> $LOGFILE
    /etc/init.d/atop restart
    sleep 5
    ps aux | grep atop >> $LOGFILE

    echo "---- finished!" >> $LOGFILE
    date >> $LOGFILE
    echo "========" >> $LOGFILE
    
por 27.03.2018 / 20:32
0

Não estou certo, mas acho que, se você executasse esse URL curl a partir de uma CLI de instância do AWS, ele retornará o ID da instância da qual você está chamando. Uma das maneiras de usar isso é criar diretórios de log com o ID da instância como o nome da pasta, para que possam ser registrados e recuperados por instância que executa o ATOP.

    
por 18.06.2018 / 03:24