glfs/general/sysutils/sysstat.xml
Douglas R. Reno 5aaa0677fa Sysstat: fix the installation of systemd units.
The new version of sysstat requires the installation of
sysstat-rotate.{timer,service} in order to function correctly when
enabling the new systemd unit.
2023-12-26 16:15:29 -06:00

375 lines
12 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY sysstat-download-http "https://sysstat.github.io/sysstat-packages/sysstat-&sysstat-version;.tar.xz">
<!ENTITY sysstat-download-ftp " ">
<!ENTITY sysstat-md5sum "c5cac550f88327f0a93b12f6da93a0cb">
<!ENTITY sysstat-size "896 KB">
<!ENTITY sysstat-buildsize "29 MB">
<!ENTITY sysstat-time "0.1 SBU">
]>
<sect1 id="sysstat" xreflabel="Sysstat-&sysstat-version;">
<?dbhtml filename="sysstat.html"?>
<title>Sysstat-&sysstat-version;</title>
<indexterm zone="sysstat">
<primary sortas="a-Sysstat">Sysstat</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Sysstat</title>
<para>
The <application>Sysstat</application> package contains utilities
to monitor system performance and usage activity.
<application>Sysstat</application> contains the <command>sar</command>
utility, common to many commercial Unixes, and tools you can schedule via
cron to collect and historize performance and activity data.
</para>
&lfs120_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&sysstat-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&sysstat-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &sysstat-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &sysstat-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &sysstat-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &sysstat-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Sysstat Dependencies</bridgehead>
<para role="recommended">
There are no build-time requirements for this package; however,
it is designed to be controlled by a cron daemon such as
<xref linkend="fcron" role="runtime"/>.
</para>
</sect2>
<sect2 role="installation">
<title>Installation of Sysstat</title>
<para>
Install <application>Sysstat</application> by running the
following commands:
</para>
<screen><userinput>sa_lib_dir=/usr/lib/sa \
sa_dir=/var/log/sa \
conf_dir=/etc/sysstat \
./configure --prefix=/usr \
--disable-file-attr &amp;&amp;
make</userinput></screen>
<para>
This package does not come with a working test suite.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
<para revision="systemd">
Install the systemd unit by running the following commands as the
<systemitem class="username">root</systemitem> user:
</para>
<screen role="root" revision="systemd"><userinput>install -v -m644 sysstat.service /usr/lib/systemd/system/sysstat.service &amp;&amp;
install -v -m644 cron/sysstat-collect.service /usr/lib/systemd/system/sysstat-collect.service &amp;&amp;
install -v -m644 cron/sysstat-collect.timer /usr/lib/systemd/system/sysstat-collect.timer &amp;&amp;
install -v -m644 cron/sysstat-rotate.service /usr/lib/systemd/system/sysstat-roate.service &amp;&amp;
install -v -m644 cron/sysstat-rotate.timer /usr/lib/systemd/system/sysstat-rotate.timer &amp;&amp;
install -v -m644 cron/sysstat-summary.service /usr/lib/systemd/system/sysstat-summary.service &amp;&amp;
install -v -m644 cron/sysstat-summary.timer /usr/lib/systemd/system/sysstat-summary.timer</userinput></screen>
<para revision="systemd">
Fix the systemd unit by running the following command as the
<systemitem class="username">root</systemitem> user:
</para>
<screen role="root" revision="systemd"><userinput>sed -i "/^Also=/d" /usr/lib/systemd/system/sysstat.service</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<envar>sa_lib_dir</envar>: This environment variable specifies the
location of the package-specific library directory.
</para>
<para>
<envar>sa_dir</envar>: This environment variable specifies the
location of the directory containing the data files.
</para>
<para>
<envar>conf_dir</envar>: This environment variable specifies the
location of the system configuration directory.
</para>
<para>
<parameter>--disable-file-attr</parameter>: Do not set attributes on
files being installed. This parameter causes the installation to ignore
the man group variable resulting in the man files having
<systemitem class="username">root</systemitem>:
<systemitem class="groupname">root</systemitem> ownership.
</para>
<note>
<para>
Run <command>./configure --help</command> to see other influential
environment variables you can pass to <command>configure</command>.
You may want to use the <envar>history</envar> and
<envar>compressafter</envar> variables to customize the amount of data
files kept on the system.
</para>
</note>
</sect2>
<sect2 role="configuration">
<title>Configuring Sysstat</title>
<sect3 id="sysstat-config">
<title>Config Files</title>
<para>
<filename>/etc/sysconfig/sysstat</filename> and
<filename>/etc/sysconfig/sysstat.ioconf</filename>
</para>
<indexterm zone="sysstat sysstat-config">
<primary sortas="e-etc-sysconfig-sysstat">/etc/sysconfig/sysstat</primary>
</indexterm>
<indexterm zone="sysstat sysstat-config">
<primary sortas="e-etc-sysconfig-sysstat.ioconf">/etc/sysconfig/sysstat.ioconf</primary>
</indexterm>
</sect3>
<sect3>
<title>Cron Information</title>
<para>
To begin gathering <application>Sysstat</application> history
information, you must add to, or create a privileged user's crontab.
The history data location is
<filename class="directory">/var/log/sa</filename>. The user running
<application>Sysstat</application> utilities via cron must have write
access to this location.
</para>
<para>
Below is an example of what to install in the crontab. Adjust the
parameters to suit your needs. Use <command>man sa1</command> and
<command>man sa2</command> for information about the commands.
</para>
<screen><literal># 8am-7pm activity reports every 10 minutes during weekdays
0 8-18 * * 1-5 /usr/lib/sa/sa1 600 6 &amp;
# 7pm-8am activity reports every hour during weekdays
0 19-7 * * 1-5 /usr/lib/sa/sa1 &amp;
# Activity reports every hour on Saturday and Sunday
0 * * * 0,6 /usr/lib/sa/sa1 &amp;
# Daily summary prepared at 19:05
5 19 * * * /usr/lib/sa/sa2 -A &amp;</literal></screen>
<para>
Ensure you submit the revised crontab to the cron daemon.
</para>
</sect3>
<sect3 id="sysstat-init">
<title>System Startup Information</title>
<indexterm zone="sysstat sysstat-init">
<primary sortas="f-sysstat">sysstat</primary>
</indexterm>
<para revision="sysv">
At system startup, a LINUX RESTART message must be
inserted in the daily data file to reinitialize the kernel counters.
This can be automated by installing the
<filename>/etc/rc.d/init.d/sysstat</filename> init script included in
the <xref linkend="bootscripts"/> package using the following command
as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root" revision="sysv"><userinput>make install-sysstat</userinput></screen>
<para revision="systemd">
At system startup, a LINUX RESTART message must
be inserted in the daily data file to reinitialize the kernel counters.
This can be automated by enabling the previously installed systemd unit
by running the following command as the
<systemitem class="username">root</systemitem> user:
</para>
<screen role="root" revision="systemd"><userinput>systemctl enable sysstat</userinput></screen>
</sect3>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>cifsiostat, iostat, mpstat, pidstat, sadf, sar, and tapestat</seg>
<seg>None</seg>
<seg>/usr/lib/sa,
/usr/share/doc/sysstat-&sysstat-version; and
/var/log/sa
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="cifsiostat">
<term><command>cifsiostat</command></term>
<listitem>
<para>
displays statistics about read and write operations on CIFS
filesystems
</para>
<indexterm zone="sysstat cifsiostat">
<primary sortas="b-cifsiostat">cifsiostat</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="iostat">
<term><command>iostat</command></term>
<listitem>
<para>
reports CPU statistics and input/output
statistics for devices and partitions
</para>
<indexterm zone="sysstat iostat">
<primary sortas="b-iostat">iostat</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="mpstat">
<term><command>mpstat</command></term>
<listitem>
<para>
writes activities for each available processor
</para>
<indexterm zone="sysstat mpstat">
<primary sortas="b-mpstat">mpstat</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pidstat">
<term><command>pidstat</command></term>
<listitem>
<para>
is used for monitoring individual tasks currently being managed
by the Linux kernel
</para>
<indexterm zone="sysstat pidstat">
<primary sortas="b-pidstat">pidstat</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="sadf">
<term><command>sadf</command></term>
<listitem>
<para>
is used for displaying the contents of data files created by
the <command>sar</command> command. But unlike
<command>sar</command>, <command>sadf</command> can write its data
in many different formats
</para>
<indexterm zone="sysstat sadf">
<primary sortas="b-sadf">sadf</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="sar">
<term><command>sar</command></term>
<listitem>
<para>
is used for displaying the contents of elected cumulative activity
counters in the operating system
</para>
<indexterm zone="sysstat sar">
<primary sortas="b-sar">sar</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="tapestat">
<term><command>tapestat</command></term>
<listitem>
<para>
is used for monitoring the activity of tape drives connected to
a system
</para>
<indexterm zone="sysstat tapestat">
<primary sortas="b-tapestat">tapestat</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>