如何为运行 Amazon Linux、RHEL、CentOS 或 Ubuntu 的 EC2 实例配置 ATOP 和 SAR 监控工具?
我有一个运行 Amazon Linux、Red Hat Enterprise Linux(RHEL)、CentOS 或 Ubuntu 的 Amazon Elastic Compute Cloud(Amazon EC2)实例。我想配置 ATOP 监控和 AWS Serverless Application Repository 监控工具,以收集有关进程使用情况的详细数据。
简述
标准亚马逊机器映像(AMI)上没有配置 ATOP 监控和 AWS Serverless Application Repository 监控工具。您可以在 Amazon Linux、RHEL、CentOS 或 Ubuntu Linux 发行版上安装这些监控工具。启用 ATOP 监控和 SAR 监控,就能详细查看实例的进程使用情况,并保留 30 天的历史记录。
默认情况下,ATOP 监控和 SAR 监控工具以 10 分钟为间隔收集指标。您可以将间隔从默认值重新配置为 1 分钟间隔,以收集更详细的数据。
解决方案
Amazon Linux 2023
-
安装监控工具:
$ sudo yum -y install sysstat atop
-
更改日志收集间隔:
$ 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
-
激活并重启服务:
$ sudo systemctl enable atop.service sysstat-collect.timer sysstat.service
$ sudo systemctl restart atop.service sysstat-collect.timer sysstat.service
Amazon Linux 2
-
使用 amazon-linux-extras 命令安装适用于 RHEL 7 的 Extra Packages for Enterprise Linux(EPEL)发行包:
sudo amazon-linux-extras install epel
-
安装监控工具:
sudo yum -y install sysstat atop --enablerepo=epel
-
更改日志收集间隔:
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
-
激活并重启服务:
sudo systemctl enable atop.service crond.service sysstat.service sudo systemctl restart atop.service crond.service sysstat.service
Amazon Linux AMI
-
安装监控工具。
**注意:**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
-
激活并重启服务:
for _service in atop crond sysstat; do sudo chkconfig ${_service} on; sudo service ${_service} start; done
RHEL 和 CentOS
对于 RHEL 和 CentOS 的每个主要版本,这些配置步骤都是一样的。
RHEL 9
-
安装适用于 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
-
安装监控工具:
$ sudo dnf -y install sysstat atop --enablerepo=epel
-
更改日志收集间隔:
$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
-
激活和重启服务
$ sudo systemctl enable atop.service crond.service sysstat.service
$ sudo systemctl restart atop.service crond.service sysstat.service
RHEL 8 和 CentOS 8:
-
安装适用于 RHEL 8 的 EPEL 发行包:
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
-
安装监控工具:
sudo dnf -y install sysstat atop --enablerepo=epel
-
更改日志收集间隔:
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
-
激活并重启服务:
sudo systemctl enable atop.service crond.service sysstat.service sudo systemctl restart atop.service crond.service sysstat.service
RHEL 7 和 CentOS 7:
-
安装适用于 RHEL 7 的 EPEL 发行包:
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
-
安装监控工具:
sudo yum -y install sysstat atop --enablerepo=epel
-
更改日志收集间隔:
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
-
激活并重启服务:
sudo systemctl enable atop.service crond.service sysstat.service sudo systemctl restart atop.service crond.service sysstat.service
RHEL 6 和 CentOS 6:
-
安装适用于 RHEL 6 的 EPEL 发行包:
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
-
安装监控工具:
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
-
激活并重启服务:
for _service in atop crond sysstat; do sudo chkconfig ${_service} on; sudo service ${_service} start; done
Ubuntu
Ubuntu 22.04 和 20.04:
-
安装监控工具:
sudo apt-get update sudo apt-get -y install atop sysstat
-
更改日志收集间隔,通过在配置文件中添加 -S XALL 来配置 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"
-
激活并重启服务:
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:
-
安装监控工具:
sudo apt-get update sudo apt-get -y install atop sysstat
-
更改日志收集间隔,通过在配置文件中添加 -S XALL 来配置 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"
-
激活并重启服务:
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:
-
安装监控工具:
sudo apt-get update sudo apt-get -y install atop sysstat
-
更改日志收集间隔并配置 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"
-
激活并重启服务:
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
相关信息
EPEL 网站
FreeDesktop 网站上的 systemd.timer -- Timer unit configuration
相关内容
- AWS 官方已更新 6 个月前
- AWS 官方已更新 5 个月前