美文网首页
Ansible 学习笔记 - 批量巡检站点 URL 状态

Ansible 学习笔记 - 批量巡检站点 URL 状态

作者: 东风微鸣 | 来源:发表于2023-01-15 09:32 被阅读0次

前言

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

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

通过一个个具体的实战案例,来生动演示 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 即可,返回结果如下:

详细说明

  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。如下:

#!/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

三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.

相关文章

  • Ansible 学习笔记 - 批量巡检站点 URL 状态

    前言 不拖泥带水,不东拉西扯。 速战速决,五分钟学到一个工作用得上的技巧。 通过一个个具体的实战案例,来生动演示 ...

  • ansible

    什么是ansible?ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所...

  • 综合架构ansible之playbook

    ansible批量管理剧本概念 可以将多个批量操作模块功能整合简化运维工作复杂度 ansible ansible剧...

  • ansible

    Ansible特性:批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部...

  • Linux_311_Ansible模块之copy文件

    Ansible模块之copy文件远程批量复制文件,备份,追加内容1、批量远程的生成文件和内容ansible yu ...

  • python Ansible API使用

    Ansible版本2.6.4,记录下ansible API使用,合入到运营系统,会使用到ansible批量操作服务...

  • ansible批量管理服务

    一、ansible软件是什么? 1、ansible概念 ansible主要实现批量管理服务器,是基于python语...

  • Ansible为什么备受青睐?

    Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,通过集成非...

  • 第41课 ansible服务(模块用法)2019-05-28

    一、ansible的应用: 1、批量命令执行;2、批量安装服务;3、批量配置同步;4、批量任务执行;5、批量代码部...

  • ansible初识

    1. ansible简介 ansible是一款基于Python的自动化运维工具,可以对系统进行批量配置、批量程序部...

网友评论

      本文标题:Ansible 学习笔记 - 批量巡检站点 URL 状态

      本文链接:https://www.haomeiwen.com/subject/fvxacdtx.html