Difference between revisions of "Sar"
Line 114: | Line 114: | ||
* <code>[[collectl]]</code> | * <code>[[collectl]]</code> | ||
* [[Prometheus Node exporter]] | * [[Prometheus Node exporter]] | ||
+ | * [[Grafana agent]] | ||
* [[Metricbeat]] | * [[Metricbeat]] | ||
* [[Zabbix agent]] | * [[Zabbix agent]] |
Revision as of 14:13, 2 January 2024
sar
(System Activity Report) is a system utility command used to collect and report different metrics such us system load, CPU activity, memory (sar -r
), paging (sar -B
), swap (sar -S
), disk (sar -d), device load and network. It is extremely useful in analyzing current and recent recorded system performance. Most Linux distributions provide sar utility binary in the sysstat
package. You will also find sar in Solaris, AIX, HP-UX but not in MacOs or FreeBSD.
Contents
Sar installation
Binaries
/usr/bin/sadc
- System Activity Data Collector, a backend to the sar command. Writes binary log of kernel data to the/var/log/sa/saXX
file, where the XX parameter indicates the current day/usr/bin/sadf
- System Activity Data Formatter. Display data collected by sar in multiple formats./usr/bin/sar.sysstat
-- (sar is a symbolink link to this binary)
Configuration files
/etc/default/sysstat
/etc/cron.d/sysstat
(Collection interval defined in cron configuration)/etc/sysstat/sysstat
(SADC_OPTIONS)/etc/sysstat/sysstat.ioconf
- Data directory:
/var/log/sysstat/
- Data directory:
Activation in Debian
- To start collection data modify file
/etc/default/sysstat
, changing textdisabled
byenabled
:vi /etc/default/sysstat
service sysstat restart
(sysstat written with two "ss" do not misspell with systat with just one "s")
Modifying number of days to keep and some other options are done in /etc/sysstat/sysstat
file. By default Debian collect files for HISTORY=7
7 days.
Configuration in Debian/Ubuntu
Main Configuration file: /etc/sysstat/sysstat
/etc/sysstat/sysstat
Everything configured in this file, including data collection (sadc) options, except collection interval configured in crontab: /etc/cron.d/sysstat
/etc/sysstat/sysstat HISTORY=7 COMPRESSAFTER=10 SADC_OPTIONS="-S XALL" SA_DIR=/var/log/sysstat ZIP="bzip2"
By default configuration SADC_OPTIONs is configure to SADC_OPTIONS="-S DISK"
you can change SADC_OPTIONS default option to collect all data:
SADC_OPTIONS from -S DISK to -S XALL
. See man sadc
for more options: { DISK | INT | IPV6 | POWER | SNMP | XDISK | ALL | XALL [,...] }.
Collection interval configuration
To change for every 10 minutes to every 2 minutes or every minute, modify cron job in file: /etc/cron.d/sysstat
5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
Every minute * * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
Every 5 minutes */5 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
Every 2 minutes */2 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
Usage
System activity collection is provided by 4 programs, two binaries sar
,sadc
and two shell scriptssa1
sa2
.
Binaries
/usr/bin/sar
-- reporting utility -- it is a link to /usr/bin/sar.sysstat/usr/lib64/sa/sadc
-- System activity data collector binary, a backend to the sar command. Writes binary log of kernel data to the /var/log/sa/sadd file, where the dd parameter indicates the current day
Shell scripts
/usr/lib64/sa/sa1
or/usr/lib/sysstat/sa1
Collect and store binary data/usr/lib64/sa/sa2
Create a report
Basic Usage
- Displays collected system activity, execute
sar
, you will have to wait some time, depending on your configuration, for getting collected information:
Disk, filesystems
sar -d
To report disk activity. See alsoiostat -x
.sar -F
To report filesystems statistics, disk and inodes usage. Requires sadc option in/etc/sysstat/sysstat
-S XDISK
or-S XALL
activated.
sar -n ALL
To show network data collected
power management
sar -m ALL
To show power management data collected including cpu temperature (Requiressensors/lm-sensors
utility to be installed)
sar -I ALL
systemctl status sysstat
systemctl restart sysstat
Activities
- Install and configure sar to record system activity every 5 minutes
- Read sysstat changelog: https://github.com/sysstat/sysstat/blob/master/CHANGES
- Read data from day 07 to day 11:
echo /var/log/sysstat/sa{07..11} | xargs -n1 sar -f
- Read all collected files:
for SA_FILE in $(ls -1 /var/log/sysstat/sa??); do sar -f $SA_FILE; done
Related
See also
- IO performance:
iotop, iostat, sar -d, fio, nmon, vmstat -d
,dd
,nmon
,stress
sar
, installation, sar -A,sar -F, sar -d
,sar -I ALL
,sar -n NFS
,sar -r
,sar -S
,sar -W
,sar -n ALL
, Installing sysstat using Ansible,/etc/sysstat/sysstat
,/etc/cron.d/sysstat
,sar --help
, Sysstat changelog,/var/log/sysstat/
,cpu time steal
, sargraph, isag, Telegraf- systat FreeBSD[1] or NetBSD commands.
- Performance: sysstat,
sar
,sadc
,debian-sa1
,sa1, sa2
,iostat
,nfsiostat
mpstat
,changelog
,/usr/lib/sysstat/sadc
,/etc/sysstat/sysstat
,pidstat, irqstat
- Metric colletion tools:
prometheus-node-exporter
,metricbeat
,sysstat
,zabbix_agent
,Icingabeat
, Telegraf, AWS CloudWatch agent
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy.
Original source: https://en.wikiversity.org/wiki/Linux_server_administration/sar
Advertising: