<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 >></code><code>/dev/null</code> <code>2>&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 }}/ && </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>>> </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 && </code><code>chmod</code> <code>-R 777 </code><code>/var/log/zabbix_agentd</code><code>.log && </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,如需转载请自行联系原作者