QRadar 脉冲故障排除
要隔离并解决 QRadar 脉冲的问题,请使用故障排除和支持信息。
从失败的 QRadar 脉冲升级中恢复
作为管理员升级到最新版本的 QRadar Pulse 后,如果您在打开 Pulse 选项卡时看到以下错误消息:“数据库版本与应用程序版本不兼容”,则必须备份并还原威胁范围和其他仪表板的数据。QRadar Pulse是一个扩展程序,其中包含两个应用程序(脉冲 - 仪表板和脉冲 - 威胁全球)。
作为管理员升级到最新版本的 QRadar Pulse 后,如果您在打开 Pulse 选项卡时看到以下错误消息:“数据库版本与应用程序版本不兼容”,则必须备份并还原威胁范围和其他仪表板的数据。QRadar Pulse是一个扩展程序,其中包含两个应用程序(脉冲 - 仪表板和脉冲 - 威胁全球)。
使用 SSH 以 root 用户身份登录您的 QRadar 控制台或 QRadar 应用程序主机。
若要备份 Pulse - 仪表板应用,请执行以下步骤:
通过键入以下命令,识别 Pulse - 仪表板应用程序的app_id:
psql -U qradar -c "select id, name from installed_application where name ilike '%pulse.full_name%'"
若要创建 Pulse - 仪表板应用的持久存储目录的备份,请在以下命令中将 <pulse_dashboard_app_id> 替换为上一步中的app_id。确保在命令末尾包含点 (.)。
tar -cvzf pulse-dashboard-backup-$(date +%s).tar.gz -C /store/docker/volumes/qapp- .
该命令在当前目录中创建一个 pulse-dashboard-backup-<epoch_timestamp>.tar.gz 文件。名称的 <epoch_timestamp> 部分是纪元格式的时间戳。
若要备份 Pulse - 威胁地球应用,请按照下列步骤操作:
通过键入以下命令,确定“脉冲 - 威胁全球”应用的app_id:
psql -U qradar -c "select id, name from installed_application where name ilike '%Pulse - Threat Globe%'"
若要创建 Pulse - Threat Globe 应用的持久存储目录的备份,请在以下命令中将 <pulse_threat_globe_app_id> 变量替换为上一步中的app_id。确保在命令末尾包含点 (.)。
tar -cvzf pulse-dashboard-backup-$(date +%s).tar.gz -C /store/docker/volumes/qapp- .
该命令在当前目录中创建一个 pulse-threat-globe-backup-<epoch_timestamp>.tar.gz 文件。名称的 <epoch_timestamp> 部分是纪元格式的时间戳。
保持 SSH 会话打开。
在网络浏览器中,以管理员身份登录 QRadar 。
转到 “管理员>扩展管理”,卸载 QRadar Pulse,然后重新安装您尝试升级的版本。
若要还原 Pulse - 仪表板应用程序的备份,请按照下列步骤操作:
在 SSH 会话中,键入以下命令以标识 Pulse - 仪表板应用的新app_id。
psql -U qradar -c "select id, name from installed_application where name ilike '%pulse.full_name%'"
卸载并重新安装应用时, app_id 会发生变化。
-
确认 ./pulse-dashboard-backup-<epoch_timestamp>.tar.gz 文件是您在步骤 2 (b) 中创建的备份文件的名称。
-
将<epoch_timestamp>替换为文件名上的时间戳,并将<new_pulse_dashboard_app_id>替换为您在步骤 7 (a) 中标识的新app_id,然后运行命令:
tar -xvzf ./pulse-dashboard-backup-.tar.gz -C /store/docker/volumes/qapp-
-
将<new_pulse_dashboard_app_id>替换为步骤 7 (a) 中的app_id,然后通过运行以下命令识别 Pulse - 仪表板应用的 docker container_id:
docker ps -a --format "{{.ID}},{{.Image}}" | grep 'qapp/:' | cut -d , -f1
-
通过将<pulse_dashboard_container_id>替换为您在以下命令的步骤 7 (d) 中标识的container_id,重新启动 Pulse - 仪表板应用服务器:
docker exec bash -c 'supervisorctl restart nodejs'
按照以下步骤还原脉冲 - 威胁全球应用的备份。
通过运行以下命令确定脉冲 - 威胁地球的新app_id。
psql -U qradar -c "select id, name from installed_application where name ilike '%Pulse - Threat Globe%'"
卸载并重新安装应用时, app_id 会发生变化。
-
确认 ./pulse-threat-globe-backup-<epoch_timestamp>.tar.gz 文件是您在步骤 3 (b) 中创建的备份文件的名称。
-
将<epoch_timestamp>替换为文件名上的时间戳,并将<new_pulse_threat_globe_app_id替换为您在步骤 8 (a) 中标识的新app_id,然后运行以下命令:
tar -xvzf ./pulse-threat-globe-backup-.tar.gz -C /store/docker/volumes/qapp-
-
将<new_pulse_threat_globe_app_id>替换为在步骤 8 (a) 中标识的app_id,然后通过运行以下命令标识 Pulse - Threat Globe 应用的 docker container_id:
docker ps -a --format "{{.ID}},{{.Image}}" | grep 'qapp/:' | cut -d , -f1
-
停止 Pulse - Threat Globe 的 docker 容器,方法是替换为您在以下命令的步骤 8 (d) 中标识的container_id:
docker stop
系统会自动创建新的 docker 容器。
返回 QRadar,刷新页面,并验证 QRadar Pulse 是否正常工作。
以下代码显示了一个示例 SSH 会话。突出显示的部分指示过程中使用的命令。
[root@hostname]# id | name ------+----------------- 1103 | pulse.full_name (1 row) [root@hostname]# ./ ./log/ ./log/startup.log ./log/supervisord.log ./log/error.log ./log/access.log ./log/apiserver.log ./log/dbMigrations.log ./log/nginx_error.log ./app.db ./search.db ./appConfig.json ./results.db [root@hostname]# id | name ------+---------------------- 1104 | Pulse - Threat Globe (1 row) [root@hostname]# ./ ./log/ ./log/startup.log ./log/supervisord.log ./log/app.log ./config.p ./GeoLite2-City.mmdb [root@hostname]# ls #UNINSTALL AND RE-INSTALL PULSE AT THIS POINT [root@hostname]# id | name ------+----------------- 1105 | pulse.full_name (1 row) [root@hostname]# ./ ./log/ ./log/startup.log ./log/supervisord.log ./log/error.log ./log/access.log ./log/apiserver.log ./log/dbMigrations.log ./log/nginx_error.log ./app.db ./search.db ./appConfig.json ./results.db [root@hostname]# 9f182e798d7d [root@hostname]# nodejs: stopped nodejs: started [root@hostname]# id | name ------+---------------------- 1106 | Pulse - Threat Globe (1 row) [root@hostname]# ./ ./log/ ./log/startup.log ./log/supervisord.log ./log/app.log ./config.p ./GeoLite2-City.mmdb [root@hostname]# 08f054b05295 [root@hostname]# 08f054b05295
如何获取要分析的日志文件?
特定的诊断日志存储在 store/docker/volumes/qapp-[id] 目录中。
store/docker/volumes/qapp-[id] 目录包含以下文件:
日志文件 |
描述 |
---|---|
访问日志 |
记录所有 API 调用及其返回状态。 |
APISERVER.log |
记录信息和错误消息的主文件。 |
nginx_error.log |
在 Nginx 服务器上登录 QRadar Pulse。 |
启动日志 |
在运行应用的部署脚本(安装/升级)时记录消息。还显示配置设置。 |
主管日志 |
由主管写入的跟踪 QRadar 脉冲 进程的日志。 |
dbMigrations.log |
仅当您从低于 2.1.3 的 QRadar Pulse 版本升级时,才会出现。它记录数据库何时从以前的版本升级到已安装的版本。 |
在 “ 管理”选项卡上,单击 “系统和许可证管理”。
从“显示”列表中选择“系统”,然后选择相关的 QRadar 控制台或应用主机。
单击 操作>收集日志文件。
在“ 日志文件集合 ”页上,单击“ 高级选项”,然后选中“ 包括应用程序扩展日志 ”复选框。
选择收集日志的天数,然后单击 收集日志文件。
日志文件准备就绪后,请单击“ 系统和许可证管理 ”页面中显示的消息中的链接,下载日志文件。
在仪表板项目中看不到数据
根据图表的类型,您可以尝试多个选项来解决问题。
若要对使用 AQL 作为数据源的项目进行故障排除,请尝试以下建议:
确保您的 AQL 语句正常工作。
事件和流量指标仪表板上的仪表板项目使用必须包含值才能正确显示数据的参数。向参数添加值或替换控制台和受管主机 IP 地址的占位符。
Ariel 服务器可能暂时不可用或处于脱机状态。等待它重新联机并再次运行 AQL 查询。
转到“日志活动”或“网络活动”选项卡,然后运行 AQL 搜索以获取自动完成和消息传递。如果您对看到的结果感到满意,请将语句复制并粘贴到 QRadar 脉冲的查询部分。
确保您使用的是当前版本的模板。有关如何下载模板的信息,请参阅安装 QRadar 脉冲应用程序。
如果 AQL 查询包含类似于以下示例的字符串比较,则“ 日志活动 ”选项卡不会返回任何数据,因为 QRadar Pulse 将 AQL 字符串设置为小写,这会中断比较。
select logsourceid, logsourcename(logsourceid), category, categoryname(category) from events where logsourcename(logsourceid) = '<a log source on you system>' last 15 minutes
解决方法是使用 ILIKE 运算符而不是 =。另一种解决方法是在“ 日志 活动”或 “网络活动 ”选项卡中编辑 AQL 查询。
要对使用攻击作为数据源的项目进行故障排除,请转到“ 攻击 ”选项卡,并确保 QRadar 正在从您的网络接收攻击。
DNS 分析器仪表板未显示在 QRadar Pulse 中
要查看 QRadar Pulse 中显示的 QRadar DNS 分析器仪表板,两个应用程序必须安装在同一控制台上。更新您的 QRadar Pulse 模板,以便显示 QRadar DNS 分析器仪表板模板。
在仪表板中,展开仪表板列表,然后单击 新建仪表板>模板。
在浏览模板页面上,单击 QRadar DNS 分析器仪表板模板的更新。
单击 返回仪表板 并刷新浏览器。
攻击未显示在威胁全球仪表板上
默认情况下,从 QRadar 收集攻击到显示在威胁全球仪表板中,有 10 分钟(600 秒)的延迟。
威胁范围仪表板的筛选不基于攻击是处于活动状态还是非活动状态。相反,它显示了在大约 10 分钟的实时延迟之后,事件落在大约 15 分钟的时间范围内的公开进攻。您可以在“威胁范围 配置 ”页面上自定义实时活动的时间长度。有关更多信息,请参阅 配置威胁范围仪表板。