管理员文档

配置集中式崩溃收集

在某些情况下,不希望在受影响的机器上处理崩溃。在这种情况下,ABRT提供了上传功能,可以通过scp、http或ftp等不同协议将ABRT发现的问题上传到远程机器。

服务器端

要允许客户端通过scp将问题目录上载到服务器,请执行以下步骤:

  1. 安装 abrt-addon-upload-watch ::

    yum install abrt-addon-upload-watch
    
  2. 创造 abrt-upload 用户:

    useradd abrt-upload
    
  3. 允许 abrt-upload 用户对的写访问权限 /var/spool/abrt-upload ::

    setfacl -m u:abrt-upload:-wx /var/spool/abrt-upload
    
  4. 设置的密码 abrt-upload 使用或生成一对密钥来代替密码。要生成身份验证密钥,请运行:

    su - abrt-upload # become abrt-upload user
    ssh-keygen -f ~/.ssh/id_dsa -N '' # create new keypair with empty passphrase
    ln -s ~/.ssh/id_dsa.pub ~/.ssh/authorized_keys # allow loging in with newly created keys
    
  1. /etc/abrt/abrt.conf 取消批注 WatchCrashdumpArchiveDir = /var/spool/abrt-upload 选择权。

  2. 使能 abrt-upload-watch.service ::

    systemctl start abrt-upload-watch.service
    systemctl enable abrt-upload-watch.service
    

服务器现在可以接受来自客户端的报告。

客户端

在客户端上,此功能由 libreport-plugin-reportuploader 包含 reporter-upload 可执行的。

在将使用集中式崩溃报告的每个客户端系统上完成以下步骤:

  1. 安装 libreport-plugin-reportuploader ::

    yum install libreport-plugin-reportuploader
    
  2. 修改 /etc/libreport/plugins/upload.conf 配置文件,以便 reporter-upload 插件知道从何处复制保存的崩溃报告,方法如下:

    URL = scp://USERNAME:PASSWORD@SERVERNAME/var/spool/abrt-upload/
    

    如果您选择使用身份验证密钥而不是密码,请复制 id_dsa 在上一步中创建的文件 /root/id_dsa . 在本例中,您的URL将如下所示:

    URL = scp://USERNAME@SERVERNAME/var/spool/abrt-upload/
    

    如果您使用的是密码,请确保 /etc/libreport/plugins/upload.conf 只能由根目录读取:

    chmod 600 /etc/libreport/plugins/upload.conf
    
  3. 允许自动上载:

    echo 'EVENT=notify reporter-upload' >> /etc/libreport/events.d/uploader_event.conf
    
  4. 观察两台机器上的日志并尝试使某些东西崩溃。你可以用 will_segfaultwill_crash 打包或只是撞车 sleep 具有以下命令的二进制文件:

    sleep 100 &
    kill SIGSEGV %1
    

    如果一切都配置正确,问题目录应该转移到服务器机器和服务器应该处理它。

故障排除

如果上载不起作用,请确保可以通过运行以下命令手动上载问题目录:

reporter-upload -vvv -d /var/spool/abrt/<PROBDIR>

Spacewalk

Spacewalk能够使用abrt从客户那里收集和报告碰撞统计数据。更多信息和配置可以在 spacewalk wiki .