LinuxCommandLibrary

abrt-cli

Manage and analyze ABRT (crash) reports

TLDR

List detected problems

$ abrt-cli list
copy

Show details of a specific problem
$ abrt-cli info [problem_id]
copy

Remove a crash report
$ abrt-cli remove [problem_id]
copy

Report a problem to the configured bug tracker (e.g. Bugzilla)
$ abrt-cli report [problem_id]
copy

Monitor a log file and trigger a program when a match is found
$ abrt-watch-log -F [error_string] [/var/log/myapp.log] [notify-send "Crash detected"]
copy

Generate a report for debugging manually
$ abrt-cli report [[-a|--analyze]] [problem_id]
copy

SYNOPSIS

abrt-cli [options] <command> [command_options] [arguments]

Common commands include:
abrt-cli list [--raw | --xml]
abrt-cli info <problem_id>
abrt-cli report <problem_id>
abrt-cli remove <problem_id>
abrt-cli auto-report [on|off]
abrt-cli status

PARAMETERS

-d, --debug
    Display verbose debug output, useful for troubleshooting ABRT itself.

-v, --verbose
    Display more detailed output than default, providing additional context for actions.

-q, --quiet
    Suppress normal output, showing only errors or critical messages.

-h, --help
    Show a help message for the command or subcommand and exit.

-V, --version
    Show the version information of the abrt-cli program and exit.

DESCRIPTION

abrt-cli is the command-line interface for the Automatic Bug Reporting Tool (ABRT) daemon. It allows users to interact with ABRT to manage detected problems such as application crashes, kernel oopses, and other software defects.

Users can list all collected problems, view detailed information about a specific problem, manually report a problem to a bug tracking system (e.g., Bugzilla), remove problems from the ABRT spool directory, or configure automatic reporting behavior. It provides a non-graphical way to control ABRT's functionality, making it suitable for server environments or scripting.

CAVEATS

Requires the ABRT daemon (abrtd) to be running in the background to detect and manage problems.
Permissions: Users often need to be part of the 'abrt' group or use sudo to perform certain actions (e.g., removing problems, reporting kernel oopses or system-wide issues).
Problem data, especially core dumps, can consume significant disk space over time if not regularly cleaned up.
Reporting problems to external bug trackers requires internet connectivity and correctly configured reporting plugins.

PROBLEM TYPES

ABRT is designed to detect and categorize various types of software problems, including C/C++ crashes, Python crashes, kernel oopses, and kernel warnings. Each detected problem is stored in a unique directory containing relevant diagnostic files such as core dumps, backtraces, log messages, and environment information, which are crucial for debugging.

ABRT PLUGINS

ABRT's modular architecture relies heavily on plugins to extend its functionality. Analysis plugins process and categorize problem data, while reporting plugins handle the transmission of bug reports to specific destinations like Bugzilla, Red Hat Customer Portal, or custom bug trackers. This plugin system makes ABRT highly extensible and adaptable to different reporting workflows.

AUTOMATIC REPORTING

A significant feature of ABRT is its ability to automatically report detected problems. While abrt-cli allows manual reporting, it also provides controls to enable or disable automatic reporting. This feature is particularly useful for unattended servers, ensuring that critical issues are reported without manual intervention, subject to configured filters and rate limits to prevent spamming bug trackers.

HISTORY

ABRT (Automatic Bug Reporting Tool) was primarily developed by Red Hat for its Fedora and Red Hat Enterprise Linux distributions. Its inception aimed to simplify the process of detecting, collecting, and reporting software problems, making it easier for users to contribute valuable bug reports to developers. abrt-cli emerged as the robust command-line interface to this system, catering to server environments and automation needs. It has been a standard component of these distributions for many years, continuously evolving to support various problem types and integrate with diverse reporting backends.

SEE ALSO

abrtd(8), abrt-applet(1), abrt-gui(1), coredumpctl(1), systemd-journald(8), gdb(1)

Copied to clipboard