前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ansible 实用技巧 - 批量巡检站点 URL 状态

Ansible 实用技巧 - 批量巡检站点 URL 状态

作者头像
东风微鸣
发布2022-04-22 14:20:07
1K0
发布2022-04-22 14:20:07
举报
文章被收录于专栏:东风微鸣技术博客

前言

不拖泥带水,不东拉西扯。

速战速决,五分钟学到一个工作用得上的技巧。

通过一个个具体的实战案例,来生动演示 Ansible 的用法。

需求

我需要定期巡检或定时监控我公司的所有站点的首页的可用性状态。

Ansible Playbook 实战脚本

check_url_status.yml 如下:

代码语言:javascript
复制
---
- 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 即可,返回结果如下:

详细说明

1.这里使用 ansible-playbook 来执行,以编排好的「剧本」形式执行。

2.hosts: localhost 在本机执行此次任务,也可以指定其他机器;

3.serial: 10: 明确定义 Ansible 如何批量执行当前剧本的目标

4.uri: 使用了 URI 插件,参考链接:https://docs.ansible.com/ansible/2.9/modules/uri_module.html

5.url: 具体的 要巡检的站点的 URL 地址

6.itemwith_items: 通过这 2 个参数实现循环批量执行

7.vars: 定义该 Playbook 中用到的变量。

返回 json

如果需要返回 json 做进一步处理,可以使用 json callback plugin。如下:

代码语言:javascript
复制
#!/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
详细说明

1.ANSIBLE_CALLBACK_WHITELIST=json: 指定 Ansible Callback Whitelist 为 json;Callback 官方文档:https://docs.ansible.com/ansible/2.9/plugins/callback.html

2.ANSIBLE_STDOUT_CALLBACK: 指定标准输出采用 json callback 插件,输出内容为 json 格式。

3.json callback 插件官方文档:https://docs.ansible.com/ansible/2.9/plugins/callback/json.html

4.另外还有一个 syslog_json 插件:https://docs.ansible.com/ansible/2.9/plugins/callback/syslog_json.html

EOF

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 东风微鸣技术博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 需求
  • Ansible Playbook 实战脚本
    • 详细说明
      • 返回 json
        • 详细说明
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档