我正在尝试从 PostgreSQL 数据库中获取STDOUT
特定STDERR
任务以在提交评论中使用它。
我很难找到合适的桌子。有没有人试图 从 Ansible Tower/AWX获得特定STDOUT
的任务结果?STDERR
我在正确的树上吠叫吗?
我正在尝试从 PostgreSQL 数据库中获取STDOUT
特定STDERR
任务以在提交评论中使用它。
我很难找到合适的桌子。有没有人试图 从 Ansible Tower/AWX获得特定STDOUT
的任务结果?STDERR
我在正确的树上吠叫吗?
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 的三个最年轻的修改。
使用 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
根据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 彩色文本。