2

我正在尝试从 PostgreSQL 数据库中获取STDOUT特定STDERR任务以在提交评论中使用它。

我很难找到合适的桌子。有没有人试图 从 Ansible Tower/AWX获得特定STDOUT的任务结果?STDERR

我在正确的树上吠叫吗?

4

3 回答 3

1

stdout每个任务在表格的列中都有自己的输出main_jobevent

prepare awx (text, int) as
select job_id, host_name, modified, playbook, play, role, stdout
  from main_jobevent
 where host_name = ANY (string_to_array($1, ','))
   and changed
 order by modified desc
 limit $2;

execute awx( 'localhost,192.168.1.1', 3 );

这显示了主机 localhost 或 192.168.1.1 的三个最年轻的修改。

于 2019-04-06T02:20:07.917 回答
0

使用 Ansible tower API 获取作业标准输出。例如:https:///api/v2/jobs//stdout/?format=json

检查 Ansible Tower API 文档 https://docs.ansible.com/ansible-tower/3.2.4/pdf/AnsibleTowerAPIGuide.pdf

于 2018-08-01T10:48:50.237 回答
0

根据Tower API Reference Guide Jobs,可以通过 REST API 调用以纯文本形式获取完整的作业结果日志,例如

curl --silent -u ${TOWER_USER}:${TOWER_PASSWORD} -JL https://${TOWER_URL}/api/v2/jobs/${JobID}/stdout?format=txt_download -o job_${JobID}.log

导致输出一个名为job_${JobID}.log. 但没有直接要求工作的具体任务。

正如在maletin回答中已经提到的那样,人们可以通过以下方式从工作中收集特定的任务信息JobID

SELECT job_id, host_name, modified, stdout
FROM main_jobevent 
WHERE job_id = $1
ORDER BY modified ASC;

但它看起来像ANSI 彩色文本

于 2022-01-23T19:37:09.487 回答