Файл конфигурации для развертывания ATOP на AWS Elastic Beanstalk

Файл конфигурации для развертывания ATOP на AWS Elastic Beanstalk

РЕШЕНО Мне нужен ATOP для установки на EC2 экземпляров, когда машины развертываются из Beanstalk. У службы поддержки AWS была только ссылка ниже, но она не показывает, как развернуть в файлах конфигурации ebextensions. Кто-нибудь уже сделал это и создал файл конфигурации? Спасибо! -->https://www.tecmint.com/how-to-install-atop-to-monitor-logging-activity-of-linux-system-processes/

{{Редактировать 23.03.18}}

Пока что работаю над этим самостоятельно, вот что имею. Работает не полностью, но все еще работаю над этим.

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

решение1

С помощью замечательного Яо из технической поддержки AWS Beanstalk мы смогли создать файл, который устанавливает ATOP на все экземпляры. Кроме того, он записывает отдельные журналы экземпляров в мой уже существующий каталог файлов EFS с символической ссылкой, чтобы журналы сохранялись при масштабировании и развертываниях машин. Это работает сейчас в моем развертывании dev. Если вы ничего не услышите, это будет означать, что это будет работать и в production примерно через неделю. Вот содержимое, измененное для моего развертывания Wordpress. Наслаждайтесь!

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

решение2

Я не уверен, но я думаю, что если бы вы запустили этот curl url из CLI экземпляра AWS, он вернет идентификатор экземпляра, из которого вы звоните. Один из способов, которым он это использует, — это создание каталогов журналов с идентификатором экземпляра в качестве имени папки, чтобы их можно было регистрировать и извлекать для каждого экземпляра, который запускает ATOP.

Связанный контент