首页 > 代码库 > ansible-playbook agent实例
ansible-playbook agent实例
最近看ansible自动化运维工具,前段时间刚好有需求。最近发布系统上线,需要安装agent,400多台服务器手动安装当然费事,《ansible自动化运维》华章出的也看了80多页了,就试着写了一个agent推送和zabbix-agent推送,主要是发布系统agent推送,之前的zabbix-agent推送已经写成shell脚本推送,这边就不显摆了。公司也是刚用ansible,线上都是脚本自动化。
以下比较简单:
ansible play-book的树行结构如下:
主要是推发布系统的agent:
$ tree . ├── agent.yaml ├── ansible.cfg ├── desheng.list ├── file.list ├── file.sh ├── hosts ├── hosts_agent ├── hosts_new ├── logstash.retry ├── logstash.yaml └── roles ├── agent │ ├── files │ │ └── agent.tgz │ ├── handlers │ ├── stop.sh │ ├── tasks │ │ └── main.yaml │ ├── templates │ └── vars │ └── main.yaml ├── logstash │ ├── files │ │ └── logstash-2.4.1.tar.gz │ ├── handlers │ ├── tasks │ │ └── main.yaml │ ├── templates │ │ ├── logstash.j2 │ │ └── logstash.j2.bak │ └── vars └── zabbix_agent ├── files │ └── zabbix.tar.gz ├── handlers │ └── main.yml ├── tasks │ └── main.yaml ├── templates │ └── zabbix_agentd.conf.j2 └── vars └── main.yaml
agent play-book的树形结构如下:
$ tree agent agent ├── files │ └── agent.tgz ├── handlers ├── stop.sh ├── tasks │ └── main.yaml ├── templates └── vars └── main.yaml
$ cat main.yaml #ansible-playbook tasks的内容
- name: pkill agent process script: /etc/ansible/roles/agent/stop.sh - name: remove link file: path={{ agent_home }}/{{ bag }} state=absent - name: scp agent copy: src=http://www.mamicode.com/agent.tgz dest={{ agent_home }}>#vars 主要是定义几个变量。
$ cat main.yaml agent_home: /data user: ody version: v3.0 bag: agent#ansible的当下目录放一个stop脚本,主要是发布新的agent是杀掉在运行的agent进程。
$ cat stop.sh #!/bin/bash ps -ef | grep python | grep -v "grep" | awk ‘{print $2}‘ | xargs kill -9
本文出自 “LINUX Super梦” 博客,请务必保留此出处http://215687833.blog.51cto.com/6724358/1886323
ansible-playbook agent实例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。