标签:ansible批量同步zabbix ansible synchronization 使用 ansible cron ansible-playbook zabbix
一、需求
机房每次增加一批服务器,一些初始环境变量,监控端,脚本,时间校对,配置文件参数修改等一系操作,刚开始按步就班,也用到一些脚本,高效性没能体现出来。现在升级到ansible,自动化部署应用,配置,编排task,把平常复杂工作变得简单,同时使得运维工作上更加标准化和控制!
二、剧本实现
以下是以zabbix案例来操作!
--- - hosts: "{{ host }}" remote_user: "{{ user }}" gather_facts: false tasks: - name: Install packages yum: state=present name={{ item }} with_items: - gcc - gcc-c++ - autoconf - automake - libxml2-devel - sysstat - vim - iotop - unzip - htop - iotop - strace - wget - tar - libselinux-python - rsync - rdate tags: - packages - name: Selinux modify disabled lineinfile: dest: /etc/selinux/config regexp: ‘^SELINUX=‘ line: ‘SELINUX=disabled‘ tags: - testselinux - name: Modify lineinfile lineinfile: dest: "{{ item.dest }}" state: present regexp: "{{ item.regexp }}" line: "{{ item.line }}" validate: ‘visudo -cf %s‘ with_items: # - { # dest: "/etc/zabbix/zabbix_agentd.conf", # regexp: "^Include", # line: "\n\n###Add include\nInclude=/etc/zabbix/zabbix_agentd.conf.d/*.conf" } - { dest: "/etc/sudoers", regexp: "^Defaults requiretty", line: "# Defaults requiretty" } tags: - testline - name: Copy configuration file copy: src=\‘#\‘" /etc/init.d/zabbix_agentd", dest: "/etc/init.d/zabbix_agentd", mode: "0755"} tags: - testcopy - name: Create a directory file: path={{ item }} state=directory mode=0750 with_items: - /etc/sudoers.d tags: - testdir - name: Looping over Fileglobs copy: src={{ item }} dest=/etc/sudoers.d/ owner=root mode=0440 with_fileglob: - /etc/sudoers.d/* tags: - test_fileglobs - name: synchronization of src on the control machine to dest on the remote hosts synchronize: src=\‘#\‘" /etc/zabbix", dest: "/etc/"} - { src=\‘#\‘" /usr/local/zabbix", dest: "/usr/local/"} tags: - sys_dir - name: Ensure two job that runs of crontab cron: name: "{{ item.name }}" minute: "{{ item.minute}}" job: "{{ item.job}}" with_items: - { name: "Time synchronization", minute: "10", job: "/usr/bin/rdate -s 192.168.1.163 > /dev/null 2>&1"} - { name: "a job vmstat_output", minute: "1", job: "vmstat 1 10 > /tmp/vmstat_output"} - { name: "a job iostat_output", minute: "1", job: "bin/bash /usr/local/zabbix/script/iostat.sh"} tags: - testcron - name: Starting zabbix_agentd shell: /usr/local/zabbix/script/zabbix_agent.sh tags: - starting_zabbix_aqentd - name: Install omsa shell: sh /usr/local/zabbix/script/dell.sh tags: - install_omsa
本文出自 “散人” 博客,请务必保留此出处http://zouqingyun.blog.51cto.com/782246/1882781
标签:ansible批量同步zabbix ansible synchronization 使用 ansible cron ansible-playbook zabbix
原文地址:http://zouqingyun.blog.51cto.com/782246/1882781