ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Ansible 学习笔记 - 批量巡检站点 URL 状态
[打印本页]
作者:
王柳
时间:
2023-2-3 00:31
标题:
Ansible 学习笔记 - 批量巡检站点 URL 状态
前言
不拖泥带水,不东拉西扯。
速战速决,五分钟学到一个工作用得上的技巧。
通过一个个具体的实战案例,来生动演示 Ansible 的用法。
需求
我需要定期巡检或定时监控我公司的所有站点的首页的可用性状态。
Ansible Playbook 实战脚本
check_url_status.yml 如下:
---
- hosts: localhost
gather_facts: no
serial: 10
tasks:
- name: check url status
uri:
url: "{{ item }}"
timeout: 10
return_content: no
follow_redirects: safe
validate_certs: yes
with_items: "{{ url_list }}"
vars:
url_list:
- https://www.baidu.com
- https://www.taobao.com
- https://www.qq.com
复制代码
通过 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.html
url: 具体的 要巡检的站点的 URL 地址
item 和 with_items: 通过这 2 个参数实现循环批量执行
vars: 定义该 Playbook 中用到的变量。
返回 json
如果需要返回 json 做进一步处理,可以使用 json callback plugin。如下:
#!/bin/bash
export ANSIBLE_CALLBACK_WHITELIST=json
export ANSIBLE_STDOUT_CALLBACK=json
ansible-playbook ./check_url_status.yml > ./url_status_$(date +"%Y-%m-%d").json
复制代码
详细说明
ANSIBLE_CALLBACK_WHITELIST=json: 指定 Ansible Callback Whitelist 为 json;Callback 官方文档:
https://docs.ansible.com/ansible/2.9/plugins/callback.html
ANSIBLE_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
三人行, 必有我师; 知识共享, 天下为公.
本文由东风微鸣技术博客
EWhisper.cn
编写.
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4