On Thu, 2010-07-01 at 15:35 +0200, Nikola Pajkovsky wrote:
it's only facts not any sauce around.
*How to setup central management*
For the best result it's necessary to install on Central Management System(CMS)
union of all packages installed on a client's systems with same version as are on
clients side and an appropriate debuginfo's packages. If you don't have an
appropriate you'll get useless backtrace and without modifying configuration files
report will be refuse by server, because received report contains package which not belong
to any installed packages.
It is possible to set up abrt so that crashe reports are collected
from many machines to a dedicated server. This might be useful
if administrator doesn't want to log in into hundreds of machines
and check for crashes found by abrt, but would rather want to
have a centralized place where they are copied to.
Here is how you can set it up:
First, on the machine which will be collecting the crashes ("server
* Decide in which directory do you want crash dumps to be uploaded.
Usually, it's /var/spool/abrt-upload, but you can choose any other
suitable directory. (The rest of the document assumes
* Make sure that /var/spool/abrt-upload exists and is _writable_
by abrt user.
* Decide how do you want to receive crash dumps. Usual methods are
ftp upload or scp upload. For example, if you use proftpd,
you can configure it as follows in /etc/proftpd.conf:
ServerName "ABRT crash collection server"
ServerIdent on "FTP Server ready."
# Use pam to authenticate (default) and be authoritative
AuthOrder mod_auth_pam.c* mod_auth_unix.c
# Don't do reverse DNS lookups (hangs on DNS problems)
# Set the user and group that the server runs as
* Test from another machine that your upload method works.
* For security reasons, make sure that such uploads can only
be performed under a specific user and with a passowrd.
The rest of the document assumes that the username used
for upload is "abrt" and password is "password".
* In /etc/abrt/abrt.conf, set WatchCrashdumpArchiveDir directive:
WatchCrashdumpArchiveDir = /var/spool/abrt-upload
Next, on every machine ("client") which will be sending crash data
to the server:
* Change /etc/abrt/plugins/ReportUploader.conf so that ReportUploader
plugin knows where to copy the saved crash dumps:
Enabled = yes
Upload = yes
URL = ftp://abrt:password@server/
* If you want crash dumps to be automatically sent to server immediately
after crashis detected and saved, set ActionsAndReporters
in /etc/abrt/abrt.conf to:
ActionsAndReporters = ReportUploader
* If you want crash dumps to be sent to server only on the admin's
command via abrt-cli or abrt-gui, set ReportUploader to be a reporter
plugin for every crash type you are interested in. For example,
if you want all crash typed to use it, then edit /etc/abrt/abrt.conf,
[AnalyzerActionsAndReporters] section to look like this:
Kerneloops = ReportUploader
CCpp = ReportUploader
Python = ReportUploader
After this, the basic setup is finished. Test that it works: kill
with "kill -SEGV" some process on a client machine and check that
the crash is detected by abrt on client machine, saved there, copied
to a server, unpacked saved there, and can be seen on server
and acted upon using abrt-cli or abrt-gui.
[ should we mention the "InformAllUsers = yes" and "AutoReportUIDs =
root" things here? ]
How to generate usable backtraces.
If you chose to use automatic crash dump uploads (that is, if you chose
"ActionsAndReporters = ReportUploader" configuration),
crash dumps copied from client machines won't contain a backtrace. In
this case, you might want to perform backtrace generation on the server.
(For example, if you plan to report crashes to Bugzilla, a good
backtrace is very important). To achieve this, change
BacktraceRemote = no
BacktraceRemote = yes
in /etc/abrt/plugins/CCpp.conf on the server.
Note that for reliable backtrace generation, server machine
needs to have the crashed executable and all libraries it uses,
and they need to be the same versions as on remote machines.
If the crashed executable belongs to a package which is not installed
on the server, server will not process it. If you do want such crash
dumps to be retained and processed, set
ProcessUnpackaged = yes
in /etc/abrt/abrt.conf on the server.