Ansible 学习笔记 - 批量巡检站点 URL 状态
本文最后更新于:2024年7月24日 晚上
前言
不拖泥带水,不东拉西扯。
速战速决,五分钟学到一个工作用得上的技巧。
通过一个个具体的实战案例,来生动演示 Ansible 的用法。
需求
我需要定期巡检或定时监控我公司的所有站点的首页的可用性状态。
Ansible Playbook 实战脚本
check_url_status.yml
如下:
1 |
|
通过 ansible-playbook ./check_url_status.yml
即可,返回结果如下:
详细说明
- 这里使用
ansible-playbook
来执行,以编排好的「剧本」形式执行。 hosts: localhost
在本机执行此次任务,也可以指定其他机器;serial: 10
: 明确定义 Ansible 如何批量执行当前剧本的目标uri
: 使用了 URI 插件,参考链接:https://docs.ansible.com/ansible/2.9/modules/uri_module.htmlurl
: 具体的 要巡检的站点的 URL 地址item
和with_items
: 通过这 2 个参数实现循环批量执行vars
: 定义该 Playbook 中用到的变量。
返回 json
如果需要返回 json 做进一步处理,可以使用 json callback plugin。如下:
1 |
|
详细说明
ANSIBLE_CALLBACK_WHITELIST=json
: 指定 Ansible Callback Whitelist 为 json;Callback 官方文档:https://docs.ansible.com/ansible/2.9/plugins/callback.htmlANSIBLE_STDOUT_CALLBACK
: 指定标准输出采用json
callback 插件,输出内容为 json 格式。json
callback 插件官方文档:https://docs.ansible.com/ansible/2.9/plugins/callback/json.html- 另外还有一个
syslog_json
插件:https://docs.ansible.com/ansible/2.9/plugins/callback/syslog_json.html
EOF
Ansible 学习笔记 - 批量巡检站点 URL 状态
https://ewhisper.cn/posts/60396/