天天看点

ansible 批量安装zabbix_agentd

<code>cat</code> <code>/etc/ansible/zabbix/roles/http/tasks/main</code><code>.yml</code>

<code>- name: Stop Exist Zabbix Client Service In Redhat Client</code>

<code>  </code><code>shell: </code><code>ps</code> <code>-ef|</code><code>grep</code> <code>zabbix|</code><code>grep</code> <code>-</code><code>v</code> <code>grep</code><code>|</code><code>awk</code> <code>'{print $2}'</code><code>|</code><code>xargs</code> <code>kill</code> <code>-9 &gt;&gt;</code><code>/dev/null</code> <code>2&gt;&amp;1</code>

<code>  </code><code>ignore_errors: </code><code>yes</code>

<code>- name: Delete Exist Zabbix Client Dir In Redhat Client</code>

<code>  </code><code>shell: </code><code>rm</code> <code>-rf {{ zabbix_dir }}</code><code>/zabbix</code>

<code>- name: yum</code>

<code>  </code><code>shell: </code><code>echo</code> <code>"yum -y install make gcc-c++ cmake bison-devel  ncurses-devel curl-devel"</code>

<code>- name: Create Zabbix User In Redhat Client</code>

<code>  </code><code>user: name={{ zabbix_user }} state=present createhome=no shell=</code><code>/sbin/nologin</code>

<code>- name: Copy Zabbix Client Software To Redhat Client</code>

<code>  </code><code>copy: src=zabbix-{{ zabbix_version }}.</code><code>tar</code><code>.gz dest=</code><code>/tmp/zabbix-</code><code>{{ zabbix_version }}.</code><code>tar</code><code>.gz owner=root group=root</code>

<code>- name: Uncompression Zabbix Client Software To Redhat Client</code>

<code>  </code><code>shell: </code><code>tar</code> <code>zxf </code><code>/tmp/zabbix-</code><code>{{ zabbix_version }}.</code><code>tar</code><code>.gz -C {{ zabbix_dir }}/  &amp;&amp; </code><code>rm</code> <code>-rf </code><code>/tmp/zabbix-</code><code>{{ zabbix_version }}.</code><code>tar</code><code>.gz</code>

<code>- name: Copy Zabbix Start Script To Redhat Client</code>

<code>  </code><code>template: src=zabbix_agentd dest=</code><code>/etc/init</code><code>.d</code><code>/zabbix_agentd</code> <code>owner=root group=root mode=0755</code>

<code>- name: Copy Zabbix Config To Redhat Client</code>

<code>  </code><code>template: src=zabbix_agentd.conf dest={{ zabbix_dir }}</code><code>/zabbix/etc/zabbix_agentd</code><code>.conf owner={{ zabbix_user }} group={{ zabbix_user }} mode=0644</code>

<code>- name: Modify </code>

<code>  </code><code>file</code><code>: path={{ zabbix_dir }}</code><code>/zabbix</code> <code>owner={{ zabbix_user }} group={{ zabbix_user }} mode=0755</code>

<code>- name: Check Zabbix User Sudo Permission In Redhat Client</code>

<code>  </code><code>shell: </code><code>grep</code> <code>"{{ zabbix_user }}"</code> <code>/etc/sudoers</code><code>|</code><code>wc</code> <code>-l</code>

<code>  </code><code>register: zabbix_sudoer</code>

<code>  </code><code>ignore_errors: True</code>

<code>- name: Give Sudo Permission To Zabbix User In Redhat Client</code>

<code>  </code><code>shell:  </code><code>echo</code> <code>"{{ zabbix_user }} ALL=(root) NOPASSWD:/bin/netstat, /usr/bin/omreport"</code> <code>&gt;&gt; </code><code>/etc/sudoers</code>

<code>  </code><code>when: zabbix_sudoer.stdout|int == 0</code>

<code>- name: Modify</code>

<code>  </code><code>shell: </code><code>touch</code> <code>/var/log/zabbix_agentd</code><code>.log &amp;&amp; </code><code>chmod</code> <code>-R 777 </code><code>/var/log/zabbix_agentd</code><code>.log &amp;&amp; </code><code>sed</code> <code>-i </code><code>'s/^Defaults.*.requiretty/#Defaults    requiretty/'</code> <code>/etc/sudoers</code>

<code>- name: Start Zabbix Service In Redhat Client</code>

<code>  </code><code>shell: </code><code>/etc/init</code><code>.d</code><code>/zabbix_agentd</code> <code>start</code>

<code>- name: Add Boot Start Zabbix Service In Redhat Client</code>

<code>  </code><code>shell: chkconfig --level 345 zabbix_agentd on</code>

具体操作 http://dl528888.blog.51cto.com/2382721/1436745

zabbix_sudoer.stdout|int == 0 这个需要改下

ansible 版本1.7.2

本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/1791624,如需转载请自行联系原作者