Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

25.3. ABRT の設定

ABRT では、問題のライフサイクルは events によって決定されます。以下に例を示します。

  • イベント 1 - 問題データのディレクトリー作成
  • イベント 2: 問題データの分析
  • イベント 3 - 問題の Bugzilla 報告

問題が検出されると、ABRT はその問題を既存の問題データと比較し、同じ問題が記録されているかどうかを確認します。記録されている場合には、その既存の問題データが更新され、最新の (重複している) 問題は再度記録されません。問題が ABRT で認識されない場合は、problem-data directory (問題データディレクトリー) が作成されます。通常、問題データディレクトリーは、analyzerarchitecturecoredump, cmdlineexecutablekernelos_releasereason, timeuid などのファイルから成ります。

backtrace などのその他のファイルは、問題の分析中に作成される場合があります。これは、使用する分析方法と設定によって異なります。これは、使用するアナライザーメソッドやその設定によって異なります。たとえば kernel ファイルには、クラッシュしたカーネルのバージョンが記録されます。

問題データディレクトリーが作成され、問題データが収集された後は、ABRT GUI またはコマンドラインの abrt-cli ユーティリティーを使ってその問題を処理できます。記録された問題の処理に関する ABRT ツールの詳細は、「検出された問題の処理」 を参照してください。

25.3.1. イベントの設定

ABRT のイベントは、plugins を使用して実際のレポーティング操作を行います。プラグインは、問題データディレクトリーの内容を処理するイベント呼び出しを行うコンパクトなユーティリティーです。プラグインを使用することで、ABRT は問題を様々な宛先に報告できますが、多くの場合は、報告先について何らかの設定が必要になります。たとえば、Bugzilla では、ユーザー名とパスワード、および Bugzilla サービスのインスタンスを指す URL が必要になります。

設定な詳細の中にはデフォルト値を設定できるもの (Bugzilla URLなど) もありますが、設定できないもの (ユーザー名など) もあります。ABRT は、このような設定を、システムワイドの設定の場合は /etc/libreport/events/ ディレクトリー、ユーザー固有の場合は $HOME/.cache/abrt/events/ ディレクトリーの report_Bugzilla.conf でこの設定を探します。設定ファイルには、ディレクティブと値のペアが含まれています。

このファイルは、イベントの実行と問題データディレクトリーの処理のために最小限必要なものです。gnome-abrt ツールと abrt-cli ツールはこれらのファイルから設定データを読み取り、実行するイベントにこれを渡します。

イベントに関する追加情報 (環境変数としてイベントに渡すことができるパラメーターの説明、名前、タイプ、その他の属性など) は、/usr/share/libreport/events/ ディレクトリーの event_name.xml ファイルに保存されています。このファイルは、ユーザーインターフェースをより使いやすくするために gnome-abrt および abrt-cli で使用されます。標準インストールを変更する場合以外に、このファイルは編集しないでください。編集する場合は、対象ファイルを /etc/libreport/events/ ディレクトリーにファイルをコピーして、コピーしたファイルを修正してください。これらのファイルには、以下の情報が含まれています。

  • ユーザーフレンドリーのイベント名および説明 (Bugzilla、Bugzilla バグトラッカーへのレポート)
  • イベントが正常に実行されるために必要な問題データディレクトリー内のアイテム一覧
  • 送信するおよび送信しないデフォルトおよび必須の選択アイテム
  • GUI がデータ見直しを要求するかどうか
  • 存在する設定オプション、そのタイプ (文字列、ブール値など)、デフォルト値、プロンプト文字列など。これらにより、GUI が適切な設定ダイアログを構築できます。

たとえば、report_Logger イベントは、出力ファイル名をパラメーターとして受け入れます。それぞれの event_name.xml ファイルを使用することで、ABRT GUI は、選択されたイベントに対してどのパラメーターを指定できるかを判断し、ユーザーはそれらのパラメーターの値を設定できるようになります。設定された値は、ABRT GUI で保存され、イベントが後で呼び出される際に再利用されます。ABRT GUI は GNOME Keyring ツールを使用して設定オプションを保存し、これらをイベントに渡すことでテキスト設定ファイルからデータを上書きすることに注意してください。

グラフィカルの Configuration ウィンドウを開くには、実行中の gnome-abrt アプリケーションのインスタンスから Automatic Bug Reporting ToolPreferences を選択します。このウィンドウでは、GUI 使用したレポーティングのプロセス時に選択可能な全イベントが表示されます。設定可能なイベントを選択すると、Configure ボタンがクリックできる状態となり、そのイベントの設定値を修正できます。

図25.1 ABRT イベントの設定

ABRT GUIアプリケーションの構成ウィンドウのスクリーンショット。
重要

/etc/libreport/ ディレクトリー階層内のファイルはすべて、全ユーザーが読み取り可能となっており、グローバル設定として使用するためにあります。このため、ユーザー名、パスワード、その他の機密データは、これらのファイル内に保存しないことが推奨されます。ユーザー別の設定 (GUI アプリケーションで設定され、$HOME の所有者のみが読み取り可能) は、GNOME Keyring に安全に保管されます。または、abrt-cli で使用するには、$HOME/.abrt/ 内のテキスト設定ファイルに保管することもできます。

以下の表では、ABRT の標準インストールで提供される、デフォルトの分析、収集、レポートに関するイベントの一部を表示しています。ここでは、/etc/libreport/events.d/ ディレクトリーからの各イベントの名前、識別子、設定ファイルと簡単な説明を一覧表示しています。設定ファイルはイベント識別子を使用しますが、ABRT GUI では個別のイベント名が望ましいことに注意してください。また、GUI ではイベントの一部の設定は可能ではないことにも注意してください。カスタムイベントの定義方法についての詳細は、「カスタムイベントの作成」 を参照してください。

表25.1 標準 ABRT イベント

名前識別子および設定ファイル詳細

uReport

report_uReport

μReport を FAF サーバーにアップロードします。

mailx

report_Mailx

mailx_event.conf

問題レポートを Mailx ユーティリティーを介して指定のメールアドレスに送信します。

Bugzilla

report_Bugzilla

bugzilla_event.conf

問題を Bugzilla バグトラッカーの指定インストールにレポートします。

Red Hat Customer Support

report_RHTSupport

rhtsupport_event.conf

問題を Red Hat テクニカルサポートシステムに報告します。

Analyze C/C++ Crash

analyze_CCpp

ccpp_event.conf

コアダンプをリモートの retrace サーバーに送信して分析します。または、リモート分析が失敗した場合は、ローカルの分析を実行します。

Report uploader

report_Uploader

uploader_event.conf

FTP または SCP プロトコルを使用して、問題データの tarball (.tar.gz) アーカイブを、選択した宛先にアップロードします。

VM コアの分析

analyze_VMcore

vmcore_event.conf

カーネル oops の問題データに対して GDB (GNU Debugger) を実行し、カーネルの backtrace を生成します。

Local GNU Debugger

analyze_LocalGDB

ccpp_event.conf

アプリケーションの問題データに対して GDB (GNU Debugger) を実行し、問題の backtrace を生成します。

Collect .xsession-errors

analyze_xsession_errors

ccpp_event.conf

~/.xsession-errors ファイルから関連性のある行を問題レポートに保存します。

ロガー

report_Logger

print_event.conf

問題レポートを作成して、指定のローカルファイルに保存します。

Kerneloops.org

report_Kerneloops

koops_event.conf

カーネルの問題を kerneloops.org の oops トラッカーに送信します。