如何为运行 Amazon Linux、RHEL、CentOS 或 Ubuntu 的 EC2 实例配置 ATOP 和 SAR 监控工具?
上次更新时间:2020 年 11 月 18 日
我有一个正在运行 Amazon Linux、Red Hat Enterprise Linux (RHEL)、CentOS 或 Ubuntu 的 Amazon Elastic Compute Cloud (Amazon EC2) 实例。如何配置 ATOP 和 SAR 监控工具以收集有关过程利用率的精细数据?
简短描述
在标准 Amazon 系统映像 (AMI) 上未配置 ATOP 和 SAR 监控工具。您可以在基于 Amazon Linux、RHEL、CentOS 或 Ubuntu Linux 的发行版上安装这些监控工具。启用 ATOP 和 SAR 监控可以通过 30 天的保留历史记录更精细地了解实例的进程利用率。
默认情况下,ATOP 和 SAR 监控工具每 10 分钟收集一次指标。您可以将间隔时间从默认值重新配置为 1 分钟,以收集更精细的数据。
解决方法
Amazon Linux 2
1. 使用 amazon-linux-extras 命令安装适用于 RHEL 7 的 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 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 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. 通过在配置文件中添加 -S XALL,更改日志收集间隔时间并将 sysstat 配置为报告磁盘和 inode 使用情况:
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