自身の Amazon Linux・RHEL・CentOS・Ubuntu を実行している EC2 インスタンスに、どうすれば ATOP および SAR モニタリングツールを設定できるかを教えてください。

所要時間5分
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 マシンイメージ (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 を追加して、ディスクと i ノードの使用状況をレポートするよう sysstat を設定します。

    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 を追加して、ディスクと i ノードの使用状況をレポートするように sysstat を設定します。

    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. ログ収集間隔を変更し、ディスクと i ノードの使用状況をレポートするように sysstat を設定します。設定ファイルに -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 インスタンスにリポジトリを追加する

Extras library (Amazon Linux 2)

Amazon Linux 2 に関するよくある質問

EPEL ウェブサイト

FreeDesktop の Web サイトの systemd.timer -- Timer unit configuration

AWS公式
AWS公式更新しました 6ヶ月前
コメントはありません

関連するコンテンツ