System Configuration Collector FAQ
This FAQ contains frequently asked questions of System Configuration
Collector.
The version of this file is 1.7 and has been last modified on 2011-04-07.
The questions are on the following areas:
Top general
What to do when I find a bug?
Check the SVN repository at sourceforge
to find out whether the bug already has been fixed.
When that is not the case, please refer to the support page of the website.
How can I customise SCC?
Obtain the software from the sourceforge repository
and refer to the README files in the development environments.
Why does the rpm install fail with message: rpm is for a different operating system?
The rpm for SCC is produced on a Linux system and therefore rpm 'complains' on systems with other operating systems.
Use the --ignoreos option to install the rpm on a system with a different OS.
Why does the rpm install fail with message: missing dependency /bin/sh?
The install scripts of the rpms require /bin/sh and on systems where this in a symbolic link created in the postinstall of an rpm,
it is not provided and the install fails.
Use the --nodeps option to install the rpm in this case.
You can use the --requires option to verify the requirements of the scc rpms.
Why is my native install format of SCC missing?
SCC is made available in many install-formats that are all based on the same code base.
When you are missing a certain install format, you can create it yourself by using the generate-scripts in the source tar-ball of SCC as a starting point.
By sending us your generate script, we can add it and provide SCC in another install format.
You can always install the software by using the scripts scc-install scc-srv-install from the source tar-balls.
What is the format of a snapshot?
A snapshot consists of collected data where each line is prefixed with a hierarchical classification that indicates the kind of data and whether the data is fixed ('fix') or variable ('var').
The elements of the classification are separated by a colon and ends with two consecutive colons.
The contents of the file /var/adm/cron/cron.allow is recorded in the snapshot as:
fix:software:cron:configuration::/var/adm/cron/cron.allow:root
fix:software:cron:configuration::/var/adm/cron/cron.allow:adm
fix:software:cron:configuration::/var/adm/cron/cron.allow:uucp
How are snapshots compared?
To compare two snapshots, all data whose classification starts with 'fix' is extracted to two temporary files.
These files are compared by means of diff and the output is processed to indicate to which snapshot each reported line belongs.
In the client two consecutive snapshots of a single system are compared to find any changes that have to be added to the logbook.
In the server part of SCC, (parts of) the snapshots of two different systems are compared to find the differences between these systems.
Why does the data from a module appear twice in the snapshot?
This happens when you are modifying a module and kept a copy of the original module by appending some string to it's name.
The name of this file is considered a valid module name by scc-collect and it will execute the module, resulting in data from the original and modified module.
To keep a copy of an original module, you better prefix the name with some string.
Is SCC available for NetApp?
The NetApp appliances do not support the installation of software.
It is possible to use another system (Linux or Windows) as a proxy to collect the configuration data of the filers.
Refer to the SDK from NetApp to access a filer from another system.
Top client (Linux/Unix/BSD)
Why is my Linux-distro not recognized?
The recognition of a Linux-distro is based on a list of 'known' version/release-files in the scc_utils module.
Distro's are only recognized by SCC when their version-file (like /etc/redhat-release) is added to this list.
Several distro's are based on other distro's like Debian or RedHat.
When the version-file of a distro is not known in SCC and the version-file of the base distro is known, SCC indicates the base distro.
When your distro is not recognized, please send us the full path and contents of it's version file and it will be added to SCC.
How do I extend SCC to support my Linux distro?
Beside of the recognition of your distro (refer to corresponding question), there is one area where distro's differ.
This is the way SCC has to determine whether DHCP is used to configure a network interface.
When this is the case, all interface data is tagged as variable data to avoid superfluous changes in the logbook.
When you know how to determine whether an interface uses DHCP, you can extend the network
module in /opt/scc/bin/scc_modules/.
Search for the string "SCC_LINUX_DISTRO" and you will see where to add your code.
What are the differences in the software for all supported operating systems?
All clients use the same code base to simplify software maintenance.
On a limited number of places the software chceks the operating system it is running on to determine specific actions.
The generic code checks the existence of all configuration files and commands before they are used.
At what frequency should I run SCC on the clients?
In our experience SCC can easily run on a daily base.
When you want to specifically mark certain changes caused by maintenance to be executed, you can run SCC prior and after your maintenance.
With the latter run, you can specify the -c option to add a remark to the logbook.
what does the message concerning rpm in first run mean?
When SCC is installed by rpm, no rpm-data can be retrieved.
The database of RPM is locked during installation and during the pre- and post-install this database cannot be queried.
To avoid a list of changes on the second run of SCC, all rpm-changes are ignored when the previous snapshot does not contain any rpm-data and the new snapshot does contain rpm-data.
This means that the (first) install of SCC by means of rpm is not recorded as a change in the logbook.
How long does it take to collect configuration data?
The SCC-data is collected by modules and each module issues system commands and inspect the contents of configuration files.
On a typical server the entire collection process takes hundreds of commands and files.
On certain points in the collection, additional data is recorded indicating the elapsed time from the start of the run and from the start of the current module.
To avoid that this data appears as changes in the logbook, it is tagged as variable data.
It's classification is 'profiling' and it is available in the snapshot.
The overview of the progress can help you to quickly identify bottlenecks in the collection process.
You can extend modules with additional probe-statements, just look for the string "SCC_PROFILING" in the existing modules.
Why does apache config data 'disappear' from the snapshot?
Some data is hard to determine.
For example, Apache is installed in many ways/directories.
To avoid a scan of the entire file system during each run of SCC, the install directory of Apache is determined from the process list.
When Apache is down during a run of SCC, the install directory cannot determined and the Apache configuration will be missing in the snapshot.
This results in differences to be reported in the logbook.
To avoid this, the install directory of Apache is kept in a separate keep-file for the next runs of SCC.
When Apache is down, SCC uses the Apache directory from the keep-file to determine the configuration.
This does not go on indefinitely as the keepfile also contains the number of remaining runs that the data is kept.
When this reaches 0, the corresponding data is removed from the keep-file and will no longer be part of the snapshot (until Apache is running during a run of SCC).
How is data collected?
Data is collected by issuing system commands and by copying the contents of configuration files.
All collected data is examined for variable and fixed data.
All data is also extended with a hierarchical classification to indicate the origin of the data.
Can the collection be customized?
The software uses sensible defaults to avoid that many systems require a manually customized configuration file.
When the defaults are insufficient, copy the file /etc/opt/scc/newconfig/scc-localize
to /etc/opt/scc/conf/scc-localize and uncomment the required variables.
When scc cannot find required programs because they are installed in directories that are not part of
our default PATH, change the contents of the variable SCC_PATH in this file (after copying the file).
Can SCC run without root permissions?
Running in this mode will reduce the amount of data retrieved.
To run SCC in user mode, unpack the source distribution file, customize
and use the relocation script to change the install and data directories of the software.
Then call scc-install to install and run the software for the first time.
What do these 'messages' in the snapshot mean?
An example is:
messages::inspect scc.<system>.cur to determine cause of messages in system/user-modules
fix:messages::not enough fields in classification: fix:::/dev/mem: mmap: Bad address
SCC snapshots consist of lines of data preceded by their hierarchical classification.
Most lines are produced by calling a program and adding the classification with sed.
When the program produces data on stderr, this data is not handled by sed and therefore does not have the desired format.
All data in the snapshot is checked for the classification and when it is missing, the first message is placed at the start of the snapshot and the stderr data is extended with the classification "fix:messages::" to match the required format.
When this occurs, you can examine the code of the corresponding module and find out which program causes the stderr.
This can either point to a wrong configuration on your system or on a defect in SCC.
Please let us know when the latter is the case and we will fix the module.
Is it possible to reduce the size of big snapshots?
Copy file /etc/opt/scc/newconfig/scc-split.conf to /etc/opt/scc/conf/scc-split.conf and edit it.
This will split the snapshot in parts based on the classifications of data.
The file contains examples to place the data for each Oracle SID is a seperate snapshot (and logbook).
The data from the additional "virtual" hosts is also sent to scc-srv.
What does it mean that there are too many changes?
When scc-cmp detects that a new and and old snapshot differ too much in size or when there are more than 20.000 changes in the current run,
it is likely that some error occured during the collection of data.
To avoid massive amounts of changes in the logbook, the following remark is added to the logbook:
Too many changes; reduced to # of lines per classification
and the number of changes per classification are recorded in the logbook.
This enables you to find out which module caused the possible hiccup in the collection of the data.
Note that correcting the hiccup will cause this situation to happen again as the next snapshot will contain much more data than the old snapshot.
Why are the html-files of the snapshot and logbook empty?
On certain (small) distro's busybox implements a limited version of sort and this is an essential program for SCC to produce the html-files.
To accommodate the administrator, simple html-files are produced where all content of the snapshot and the logbook is surrounded by <PRE> and </PRE> tags.
The filenames are scc.<hostname>_flat.html and scc.<hostname>_flat.log.html.
The server-part of SCC recognizes this situation and produces the proper html-files (provided it runs on a system with a fully functional sort implementation).
Why is the logbook empty?
On certain (small) distro's busybox implements a limited version of diff and this is an essential program for SCC to determine differences for the logbook.
In this case an empty logbook-file is produced and when this is transferred to the server-part of SCC, the newly arrived snapshot is compared with the one already present (provided scc-srv runs on a system with a fully functional diff implementation).
Note that is this case you have to send the data to the server after each run of SCC or some differences are lost.
Can you extend the collection of data by SCC?
To extend the collection, we need the following items:
- full path of the command or configuration file
- options and arguments of the command
- comment character of the configuration file
- classification of the data in the snapshot (fix:hardware:XXX:: or fix:software:XXX::)
- indication whether data should be sorted to avoid changes in the logbook
- indication whether data should be tagged variable to avoid changes in the logbook
Top client (Windows)
How is data collected?
Scriptomatic from Microsoft is used to produce the perl-code to retrieve all data from a WMI class.
Then the data is inspected to determine which data is fixed and which data is variable.
Together with a classification (network, boot, ...) this is added to each line of collected data.
Why do I get the message: The Unsupported function alarm function is unimplemented at C:\Program Files\SCC\bin\scc-log.pl?
This message appears when an incomplete version of perl was used to run SCC.
Make sure you use an up-to-date version of perl from ActiveState.
The program hangs, how do I know what it is doing?
Restart the program from the command line and add the --trace option. This will indicate each query that is executed.
Top server
Why is the picture of the logo missing on the main page?
Run scc-update with the -d option to indicate the path of the logo under the document root.
Why does the webinterface not work?
When you read the documentation in scc-srv(5) and still cannot find the cause, use scc-debug(1) to collect
specific configuration data of the server.
Examine this data to find the cause of the problem.
When you are unable to solve the problem and ask for assistance, please send this data along the request.
Why does the mailed SCC-data not arrive at the server?
First, run scc-update with the -m option to indicate the ownership of the destination directory of the email.
When this does not correct the problem, look into the mail log to find other problem area's.
Why does my system not appear in the list for comparing?
To make scc-update faster, this list is not updated on every run of scc-update.
This means that a new system will only appear after several runs of scc-update.
You can use the -f option to force scc-update to generate the lists with the actual systems in the realm.
Why does the -f option of scc-summary not update the index files?
Make sure that the cache of your browser is not interfering.
Why is the style-sheet not working for the tables in the snapshot and logbook?
Most likely the scc-data has not been added via scc-trasnfer(1).
Use scc-pack(1) to export the data and then use scc-update(1) to process the html-files properly.
How can I import scc-data into the website?
Usually scc-data is either pushed by clients or pulled by scc-pull(1).
Another (server) method is scc-pack(1) that requires the snapshot, logbook and their html-files to pack them for processing by scc-update(1).
How do I avoid flooding the server with too much data?
Running the client of SCC at the same time of day on a large amount of systems, can cause performance problems on the network.
Use the -d option on the client to indicate a maximum (random) delay.
This will spread the transfer of data and ease the network and the server.
Why am I unable to find data for "foo*matic"?
The input field for the search is handed over to grep, so you have to use regular expression syntax.
So, use "foo.*matic" to search for a wild-card.
When do you plan to move to a mysql backend to store the data?
There is little use for a database backend as all data is already classified by the client parts of SCC.
As grep and diff are sufficiently optimized, little performance boost is to be expected from a database backend.
How can I handle an enormous list of systems?
You can use realms to group systems.
Access to data and several configuration items can be altered per realm.
Use scc-realm to create and maintain realms.
It is also possible to assign the SCC-data from new systems automatically to certain realms by means of the scc-auto-realm.conf configuration file.
Refer to the manual pages for more information.
Why does scc-transfer report about a saved snapshot and log file for a host?
The new log file must contain the date and time of the current snapshot on the server.
When this is not the case, the new log file may be the result of a run on a system with a restore of an old backup
or the scc data arrives in the wrong order (when the mail connection was down for some time).
To avoid loss of data, the snapshot and logbook on the server are renamed before the newly arrived data is put in place.
Inspection of the renamed and newly arrived data cannot be done via the web-interface, it has to be done via the command-line.
At what frequency should I run scc-update?
The frequency and time of running scc-update should match the frequency and time of running SCC on the clients.
When the clients send their data during the entire day, you can run scc-update on an hourly base.
Is it possible to preserve the scc-data from obsolete systems?
Use the -A option from scc-realm(1) to archive systems from a realm that are no longer in use.
You can combine this with the -d option to remove these systems to avoid them clobbering the web-interface.
|