Amazon Linux, RHEL, CentOS 또는 Ubuntu를 구동하는 EC2 인스턴스를 위한 ATOP 모니터링 및 SAR 모니터링 도구를 구성하려면 어떻게 해야 하나요?

6분 분량
0

제게는 Amazon Linux, Red Hat Enterprise Linux(RHEL), CentOS 또는 Ubuntu를 실행하는 Amazon Elastic Compute Cloud (Amazon EC2) 인스턴스가 있습니다. 프로세스 사용률에 대한 세분화된 데이터를 수집하도록 ATOP 모니터링 및 AWS Serverless Application Repository 모니터링 도구를 구성하고 싶습니다.

간략한 설명

ATOP 모니터링 및 AWS Serverless Application Repository 모니터링 도구는 표준 Amazon Machine Image(AMI)에 구성되어 있지 않습니다. Amazon Linux, RHEL, CentOS 또는 Ubuntu Linux 기반 배포판에는 이러한 모니터링 도구를 설치할 수 있습니다. ATOP 모니터링 및 SAR 모니터링을 켜는 경우 30일 보존 기록을 통해 인스턴스의 프로세스 사용률을 더 자세히 볼 수 있습니다.

ATOP 모니터링 및 SAR 모니터링 도구의 기본값은 10분 간격으로 지표를 수집합니다. 간격을 기본값에서 1분 간격으로 재설정해 더 세분화된 데이터를 수집할 수 있습니다.

해결 방법

Amazon Linux 2023

  1. 모니터링 도구를 설치합니다.

    $ sudo yum -y install sysstat atop
  2. 로그 수집 간격을 변경합니다.

    $ sudo sed -i 's/^LOGINTERVAL=600.*/LOGINTERVAL=60/' /etc/sysconfig/atop
    $ sudo mkdir -v /etc/systemd/system/sysstat-collect.timer.d/
    $ sudo bash -c "sed -e 's|every 10 minutes|every 1 minute|g' -e '/^OnCalendar=/ s|/10$|/1|' /usr/lib/systemd/system/sysstat-collect.timer > /etc/systemd/system/sysstat-collect.timer.d/override.conf"
    $ sudo sed -i 's|^SADC_OPTIONS=.*|SADC_OPTIONS=" -S XALL"|' /etc/sysconfig/sysstat
  3. 서비스를 활성화 및 재시작합니다.

    $ sudo systemctl enable atop.service sysstat-collect.timer sysstat.service
    $ sudo systemctl restart atop.service sysstat-collect.timer sysstat.service

Amazon Linux 2

  1. amazon-linux-extras 명령을 사용하여 RHEL 7용 Extra Packages for Enterprise Linux(EPEL) 릴리스 패키지를 설치합니다.

    sudo amazon-linux-extras install epel
  2. 모니터링 도구를 설치합니다.

    sudo yum -y install sysstat atop --enablerepo=epel
  3. 로그 수집 간격을 변경합니다.

    sudo sed -i 's/^LOGINTERVAL=600.*/LOGINTERVAL=60/' /etc/sysconfig/atop
    sudo sed -i -e 's|*/10|*/1|' -e 's|every 10 minutes|every 1 minute|' /etc/cron.d/sysstat
  4. 서비스를 활성화 및 재시작합니다.

    sudo systemctl enable atop.service crond.service sysstat.service
    sudo systemctl restart atop.service crond.service sysstat.service

Amazon Linux AMI

  1. 모니터링 도구를 설치합니다.

    **참고:**Amazon Linux에는 이미 EPEL 리포지토리가 설치되어 있습니다.

    sudo yum -y install sysstat atop --enablerepo=epel
    sudo sed -i 's/^INTERVAL=600.*/INTERVAL=60/' /etc/sysconfig/atop
    sudo sed -i -e 's|*/10|*/1|' -e 's|every 10 minutes|every 1 minute|' /etc/cron.d/sysstat
  2. 서비스를 활성화 및 재시작합니다.

    for _service in atop crond sysstat; do sudo chkconfig ${_service} on; sudo service ${_service} start; done

RHEL 및 CentOS

구성을 위한 단계는 RHEL 및 CentOS의 각 주요 릴리스에서 동일합니다.

RHEL 9

  1. RHEL 9용 EPEL 릴리스 패키지를 설치한 다음 CodeReady Linux Builder 리포지토리를 활성화합니다.

    $ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
    $ sudo dnf config-manager --set-enabled codeready-builder-for-rhel-9-rhui-rpms
  2. 모니터링 도구를 설치합니다.

    $ sudo dnf -y install sysstat atop --enablerepo=epel
  3. 로그 수집 간격을 변경합니다.

    $sudo sed -i 's/^LOGINTERVAL=600.*/LOGINTERVAL=60/' /etc/sysconfig/atop
    $sudo mkdir -v /etc/systemd/system/sysstat-collect.timer.d/
    $sudo bash -c "sed -e 's|every 10 minutes|every 1 minute|g' -e '/^OnCalendar=/ s|/10$|/1|' /usr/lib/systemd/system/sysstat-collect.timer > /etc/systemd/system/sysstat-collect.timer.d/override.conf"
    $sudo sed -i 's|^SADC_OPTIONS=.*|SADC_OPTIONS=" -S XALL"|' /etc/sysconfig/sysstat
  4. 서비스 활성화 및 재시작하기

    $ sudo systemctl enable atop.service crond.service sysstat.service
    $ sudo systemctl restart atop.service crond.service sysstat.service

RHEL 8 및 CentOS 8:

  1. RHEL 8용 EPEL 릴리스 패키지를 설치합니다.

    sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
  2. 모니터링 도구를 설치합니다.

    sudo dnf -y install sysstat atop --enablerepo=epel
  3. 로그 수집 간격을 변경합니다.

    sudo sed -i 's/^LOGINTERVAL=600.*/LOGINTERVAL=60/' /etc/sysconfig/atop
    sudo mkdir -v /etc/systemd/system/sysstat-collect.timer.d/
    sudo bash -c "sed -e 's|every 10 minutes|every 1 minute|g' -e '/^OnCalendar=/ s|/10$|/1|' /usr/lib/systemd/system/sysstat-collect.timer > /etc/systemd/system/sysstat-collect.timer.d/override.conf"
    sudo sed -i 's|^SADC_OPTIONS=.*|SADC_OPTIONS=" -S XALL"|' /etc/sysconfig/sysstat
  4. 서비스를 활성화 및 재시작합니다.

    sudo systemctl enable atop.service crond.service sysstat.service
    sudo systemctl restart atop.service crond.service sysstat.service

RHEL 7 및 CentOS 7:

  1. RHEL 7용 EPEL 릴리스 패키지를 설치합니다.

    sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  2. 모니터링 도구를 설치합니다.

    sudo yum -y install sysstat atop --enablerepo=epel
  3. 로그 수집 간격을 변경합니다.

    sudo sed -i 's/^LOGINTERVAL=600.*/LOGINTERVAL=60/' /etc/sysconfig/atop
    sudo sed -i -e 's|*/10|*/1|' -e 's|every 10 minutes|every 1 minute|' /etc/cron.d/sysstat
  4. 서비스를 활성화 및 재시작합니다.

    sudo systemctl enable atop.service crond.service sysstat.service
    sudo systemctl restart atop.service crond.service sysstat.service

RHEL 6 및 CentOS 6:

  1. RHEL 6용 EPEL 릴리스 패키지를 설치합니다.

    sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
  2. 모니터링 도구를 설치합니다.

    sudo yum -y install sysstat atop --enablerepo=epel
  3. 로그 수집 간격을 변경합니다.

    sudo sed -i 's/^INTERVAL=600.*/INTERVAL=60/' /etc/sysconfig/atop
    sudo sed -i -e 's|*/10|*/1|' -e 's|every 10 minutes|every 1 minute|' /etc/cron.d/sysstat
  4. 서비스를 활성화 및 재시작합니다.

    for _service in atop crond sysstat; do sudo chkconfig ${_service} on; sudo service ${_service} start; done

Ubuntu

Ubuntu 22.04 및 20.04:

  1. 모니터링 도구를 설치합니다.

    sudo apt-get update
    sudo apt-get -y install atop sysstat
  2. 로그 수집 간격을 변경하고 설정 파일에 -S XALL을 추가해서 sysstat이 디스크 및 inode 사용량을 보고하도록 설정합니다.

    sudo sed -i 's/^LOGINTERVAL=600.*/LOGINTERVAL=60/' /usr/share/atop/atop.daily
    sudo sed -i -e 's|5-55/10|*/1|' -e 's|every 10 minutes|every 1 minute|' -e 's|debian-sa1|debian-sa1 -S XALL|g' /etc/cron.d/sysstat
    sudo bash -c "echo 'SA1_OPTIONS=\"-S XALL\"' >> /etc/default/sysstat"
  3. 서비스를 활성화 및 재시작합니다.

    sudo sed -i 's|ENABLED="false"|ENABLED="true"|' /etc/default/sysstat
    sudo systemctl enable atop.service cron.service sysstat.service
    sudo systemctl restart atop.service cron.service sysstat.service

Ubuntu 18.04:

  1. 모니터링 도구를 설치합니다.

    sudo apt-get update
    sudo apt-get -y install atop sysstat
  2. 로그 수집 간격을 변경하고 설정 파일에 -S XALL을 추가해서 sysstat이 디스크 및 inode 사용량을 보고하도록 설정합니다.

    sudo sed -i 's/^INTERVAL=600.*/INTERVAL=60/' /usr/share/atop/atop.daily
    sudo sed -i -e 's|5-55/10|*/1|' -e 's|every 10 minutes|every 1 minute|' -e 's|debian-sa1|debian-sa1 -S XALL|g' /etc/cron.d/sysstat
    sudo bash -c "echo 'SA1_OPTIONS=\"-S XALL\"' >> /etc/default/sysstat"
  3. 서비스를 활성화 및 재시작합니다.

    sudo sed -i 's|ENABLED="false"|ENABLED="true"|' /etc/default/sysstat
    sudo systemctl enable atop.service cron.service sysstat.service
    sudo systemctl restart atop.service cron.service sysstat.service

Ubuntu 16.04:

  1. 모니터링 도구를 설치합니다.

    sudo apt-get update
    sudo apt-get -y install atop sysstat
  2. 로그 수집 간격을 변경하고 sysstat이 디스크 및 inode 사용량을 보고하도록 설정합니다. 구성 파일에 -S XALL을 추가합니다.

    sudo sed -i 's/^INTERVAL=600.*/INTERVAL=60/' /etc/default/atop
    sudo sed -i -e 's|5-55/10|*/1|' -e 's|every 10 minutes|every 1 minute|' -e 's|debian-sa1|debian-sa1 -S XALL|g' /etc/cron.d/sysstat
    sudo bash -c "echo 'SA1_OPTIONS=\"-S XALL\"' >> /etc/default/sysstat"
  3. 서비스를 활성화 및 재시작합니다.

    sudo sed -i 's|ENABLED="false"|ENABLED="true"|' /etc/default/sysstat
    sudo systemctl enable atop.service cron.service sysstat.service
    sudo systemctl restart atop.service cron.service sysstat.service

관련 정보

Amazon Linux 인스턴스에 리포지토리 추가하기

추가 라이브러리(Amazon Linux 2)

Amazon Linux 2 FAQ

EPEL 웹사이트

systemd.timer -- 타이머 유닛 구성, FreeDesktop 웹사이트

AWS 공식
AWS 공식업데이트됨 6달 전
댓글 없음

관련 콘텐츠