如何為執行 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 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 執行個體上新增儲存庫

Extras 媒體櫃 (Amazon Linux 2)

Amazon Linux 2 常見問答集

EPEL 網站

FreeDesktop 網站上的 systemd.timer -- 計時器單元組態

AWS 官方
AWS 官方已更新 7 個月前