scc-win - introduction SCC
System Configuration Collector for Windows is a clone of SCC for Unix.
It uses WMI to access system to collect their configuration data. The
file formats are identical to SCC for Unix. Each line of collected
data is extended with a hierarchical classification of the nature of
the data and with an indicator whether that data is supposed to be
static or dynamic. For example: the size of a file system is static
data and the current usage is dynamic data. Consecutive collections of
configuration data (snapshots) are compared and differences in the
static data are added to a logbook. Filling a file system will not be
reported in the logbook, but the extension of a file system will be.
Additional software converts the snapshot and logbook to html-format.
The classification of the data is a hierarchy with the following top-
level items (among others):
Development of SCC started for Unix and later Windows was added.
From release 1.7 onwards, SCC for Windows is available as a 32-bit MSI
generated by means of Wix (http://wixtoolset.org/). As this MSI does
not recognize installs of versions 1.6 and earlier, you will have to
explicitly uninstall the previous version (after running it to collect
any changes up to the upgrade). The new version uses the same folders
and scripts as the 1.6 release and thus the scheduling of SCC runs is
identical. From release 1.7 onwards, SCC is not run from the
installer. Use your own scheduling before and after the install.
SCC uses WMI to access other systems than it is installed on. It
requires perl on the system it is installed on. The executable perl
should be in the PATH when SCC is run. The current release has been
tested with the perl distribution from Active State:
The software installs by default in "c:\program files (x86)\scc\bin".
SCC-data is located in the data folder. Temporary files are located in
tmp and documentation in the doc folder. The shortcuts in the program
group point to the proper files.
Before installing an upgrade of SCC, run SCC for all systems you are
collecting data from. Otherwise all changes between the last run and
the upgrade are lost. The new version of SCC will detect the old lay-
out of the present snapshots and ignore all changes. This is done to
avoid numerous changes in the logbook when the layout of the snapshots
has changed. Therefore you should not wait too long before running SCC
after upgrading to avoid missing changes between the upgrade and the
next (scheduled) run of SCC.
When SCC is uninstalled, the directories bin and doc are removed. The
data and tmp directories remain intact to support upgrades. They have
to be removed manually when you no longer want to use SCC.
The software uses several other open source programs.
From bsdtar for Windows the following files are included from version
- bzip2.dll (version 1.0.5)
- zlib1.dll (version 1.2.3)
From coreutils the following file is included from version 5.3.0:
From DiffUtils for Windows the following file is included from version
The two above programs require the following libraries that can be
downloaded from either of the two above pages:
From OpenSSL the following files are included from version 0.9.8h:
To send email from the command-line, the following file is included
from version 3.2.3:
To transfer files by means of scp, the following file is included from
The data that is collected can be sent to the server part of SCC.
Assume that the data should be sent to directory /var/opt/scc-
srv/data/transfer/cp/, owned by user root, on system
The first step is to get the host-key of scc_srv.domain.com in your
local cache. To achive this, we start a dummy copy operation:
The servers host key is not cached in the registry. You
have no guarantee that the server is the computer you think it is.
The servers dss key fingerprint is:
ssh-dss 1024 a1:4e:1b:6a:18:1a:7f:34:fa:25:32:5a:5f:64:ea:d5
If you trust this host, enter "y" to add the key to
PuTTYs cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
Store key in cache? (y/n) y Enter
Enter a bogus password to abort the transfer, as we do not really want
to copy scc.pl to the server.
Now generate a local dsa-key using WinSCP.
- start All Programs -> WinSCP -> Key tools -> PuTTYgen
- select SSH2 DSA under Parameters (at the bottom)
- click Generate
- move the mouse around as instructed to create entropy
- in the box labelled "Key comment", type in a short string to identify
yourself e.g. scc_from_your_client.domain.com (no spaces!)
- do not select a passphrase
- click both the Save buttons and name your keys, traditionally
id_dsa.pub for public key and id_dsa for private key (it will be named
id_dsa.PPK) in \Program Files\scc\bin.
- select the contents of the box at top of the PuTTYgen (labelled "Pub-
lic key for pasting into OpenSSH authorized_keys file").
- paste the key into the file: ~root/.ssh/authorized_keys on
scc_srv.domain.com (make sure to have mode 700 for .ssh/ and 600 for
Now issue the command:
perl scc.pl --prog scp --pki id_dsa.ppk \
All scc-data from the Windows system(s) is transferred to scc-srv and
will be shown after the next run of scc-update. Note that you have to
use the -f option for scc-update to add the name of the new client to
the lists of the index.html file of the realms on the server.
To enhance security, the transfer can be done via a separate, non-root
account scc. Create a subdirectory scc in /var/opt/scc-srv/data/trans-
fer/cp, chown this directory to user scc and add the public key from
puttygen to the file ~scc/.ssh/authorized_keys.
The programs of SCC have the following relationship:
scc: main program
this program calls scc-log and sends data to the SCC-server.
scc-log: this program calls:
- scc-collect: collect all data by calling modules in scc_modules
- compare new and old snapshots, add differences to logbook
- scc-snap2html: convert snapshot to HTML
- scc-log2html: convert logbook to HTML
After the installation, the data is available in directory data. The
file scc.<hostname>.log contains the logbook and the file scc.<host-
name>.cur contains the current snapshot.
To run SCC again, just start scc. To keep an accurate logbook of your
system, you can schedule it daily. Just make sure you "run as" admin-
istrator. Being a member of the local admin group is insufficient for
collecting some of the data.
To run SCC on several systems, use the --file option to indicate a file
containing the names of the systems you want SCC to run on. You can
also use the --list option to specify the systems in a comma-separated
list. Finally you can use the --netview option to run SCC on all sys-
tems reported by command "net view". In any case, you need domain
admin priviliges to collect data remotely via WMI from other systems.
Use your favorite scheduler (scheduled actions) to schedule scc-win to
run on a regular basis.
scc-collect(1) collects OS and OS-related configuration data. It does
not collect data of the applications you developed. To extend the
snapshots, refer to the manual page of scc-plugin(1). It offers a
starting point to collect other configuration data.
Usually scc completes its runs within several seconds. When you notice
that runs of scc on a system take very long to complete, you can use
the profiling data to determine the cause. Profiling data is added to
the snapshot and can be found in the html-file under the classifica-
tion: "profiling". Each line of the profiling data consists of the
- seconds since previous stamp
- seconds since start of run
Look for large values in the second column to locate the code of scc
that is causing this performance problem. You can also use the --trace
option to actually see the progress of the collection of the data.
The system module of SCC is partially skipped when it is installed on a
win2k system as the schtasks.exe program is not present on the system.
Install SCC on a more recent version of Windows and collect the data
remotely. This has been reported by Markdmcbride.
SCC is free software under the terms of the GNU General Public License.
Copyright (C) 2006-2015 QNH.
scc(1), scc-collect(1), scc-log(1), scc-log2html(1),
scc-plugin(1), scc-snap2html(1), scc-win(4), scc-win(5)
$Revision: 5683 $