使用自动化部署工具Ansible批量部署zabbix_agent.

1. 安装Ansible

yum –y install ansible

内网情况下,现在ansible及其依赖的rpm包,添加到yum源进行安装。

2. 主机配置文件

在/etc/ansible中添加主机,主机配置文件为hosts,也可以在ansible.cfg中修改配置

inventory={主机配置文件路径}

具体hosts格式

[zabbix-agent]  #分组名称,最好是一个文件一个分组。

IP ansible_ssh_user=’{账户名}’ ansible_ssh_pass=’{密码}’ hostname={主机名字,可以自定义}

3. 编写安装脚本

脚本文件结构如下:

.

├── ansible.cfg

├── hosts

└── roles

├── install_zabbix_agent

│   ├── file

│   │   ├── zabbix-agent-4.2.4-1.el7.x86_64.rpm

│   │   └── zabbix_agentd.conf

│   ├── handler

│   │   └── main.yml

│   └── tasks

│       ├── install.yml

│       ├── main.yml

│       └── setport.yml

└── install_zabbix_agent.yml

具体代码:

install_zabbix_agent.yml

- hosts: zabbix-agent
remote_user: root
sudo: yes
sudo_user: root
gather_facts: true
roles:
- install_zabbix_agent

file : zabbix-agent-4.2.4-1.el7.x86_64.rpm  zabbix-agent安装包

zabbix_agentd.conf    统一修改好的zabbix-agent配置文件

handler main.yml

- name: restart zabbix-agent
service: name=zabbix_agentd state=restarted

tasks main.yml

- import_tasks: install.yml
- import_tasks: setport.yml

tasks install.yml

- block:
- name: "copy zabbix_agent to clients"
cpoy:
src=zabbix-agent-4.2.4-1.el7.x86_64.rpm
dest=/tmp
- name: "yum install zabbix_agent"
yum:
name: /tmp/zabbix-agent-4.2.4-1.el7.x86_64.rpm
state: present
- name: "copy zabbix_agentd.conf"
copy:
src=zabbix_agentd.conf
dest=/etc/zabbix/zabbix_agentd.conf
- name: disabled selinux
shell: /usr/sbin/setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
- name: "start zabbix, enable zabbix"
service:
name=zabbix-agent
state=started
enabled=yes
notify:
- restart zabbix-agent

tasks setport.yml

- block:
- name: mkdir log file
shell: mkdir -p /var/log/zabbix
- name: chmod for log
shell: chmod -R 755 /var/log/zabbix
- name: chown for log
shell: chown -R zabbix. /var/log/zabbix
- name: chmod for zabbix
shell: chmod -R 755 /etc/zabbix
- name: chown for zabbix
shell: chown -R zabbix. /etc/zabbix
- name: change log filepath
shell: sed -i 's/LogFile=\/var\/log\/zabbix\/zabbix_agent.log/LogFile=\/var\/log\/zabbix\/{{hostname}}.log/g' /etc/zabbix/zabbix_agentd.conf
- name: change server ip
shell: sed -i 's/Server=127.0.0.1/Server=10.10.40.70/g' /etc/zabbix/zabbix_agentd.conf
- name: change server active ip
shell: sed -i 's/ServerActive=127.0.0.1/ServerActive=10.10.40.70/g' /etc/zabbix/zabbix_agentd.conf
- name: change hostname
shell: sed -i 's/Hostname=Zabbix Server/Hostname={{hostname}}/g' /etc/zabbix/zabbix_agentd.conf
notify:
- restart zabbix-agent

批量安装Zabbix_Agent的更多相关文章

  1. [Android Pro] Android 4.1 使用 Accessibility实现免Root自动批量安装功能

    reference to  :  http://www.infoq.com/cn/articles/android-accessibility-installing?utm_campaign=info ...

  2. Cobbler批量安装Ubuntu/CentOS系统

    2013-07-25    一.安装和修改cobbler配置 1. Cobbler不在CentOS的基本源中,需要导入EPEL源升级软件包, 确保epel-release包的版本为最新,当前最新版本为 ...

  3. Windows server 2008R2部署服务批量安装Windows7教程

    利用Windows server 2008 R2下的Windows部署服务可以批量安装Windows 7,以下简称WDS. WDS需要用到域和dhcp.DNS服务,所以,基础环境必须要有域控制器,dh ...

  4. pxe+kickstart实现无人值守批量安装linux

    pxe+kickstart实现无人值守批量安装linux 实验准备:主机myrhel2作为服务器端,新建一个没有安装操作系统的虚拟主机,而且其与服务器端在同一个网段 安装的条件: 服务器端:      ...

  5. Almeza MultiSet Pro(批量安装程序) V8.7.6中文特别版

    Almeza MultiSet Pro(批量安装程序)是一款非常实用的工具.它能够帮你批量地安装常用的软件.这将解决每次重装系统后能够快速方便地重装常用软件.使用这款软件不需要编写程序,还可以在安装过 ...

  6. 一键cobbler批量安装脚本

    前几天机房上架180台服务器,太多了,使用了cobbler批量安装,具体的看我上代码,我把配置cobbler的命令给堆积起来,也算是个脚本吧,欢迎拍砖指正,下面我上脚本: #!/bin/bash # ...

  7. kvm cobbler无人值守批量安装操作系统

    kvm cobbler无人值守批量安装操作系统 cobbler:一个自动网络安装系统的工具,集成PEX.dhcp.dns.tftpd.sync等服务.可以供大家管理安装操作系统 kvm:Linux系统 ...

  8. yum groupinstall "Development Tools" 批量安装软件

    注:可以通过 yum grouplist 来查看可能批量安装哪些列表 从Windows转到Linux下面,一个不习惯的地方就是在图形界面下安装和删除软件的时候非常缓慢.但是如果你掌握了用yum的命令行 ...

  9. windows下安装zabbix_agent

    Server端在linux系统上,server端版本为2.2.6,是以前就装好的已经跑了很久的稳定版.目前的需求是要将新业务的服务器添加到该监控队列.而这些服务器是windows系统. 第一次下载了最 ...

随机推荐

  1. C#实现创建、编辑NX表达式

    在NX8.5中使用C#编辑表达式中有个坑,part.Expressions.Edit该方法鲁棒性很差,当表达式有错时也能编辑成功(手动在NX中增加错误表达式会有弹框,无法创建,而该方法却可以,疑是bu ...

  2. 微服务实战系列(四)-注册中心springcloud alibaba nacos

    1.场景描述 因要用到微服务,关于注册中心这块,与同事在技术原型上做了讨论,初步定的方案是使用:阿里巴巴的nacos+springcloud gateway,下面表格是同事整理的注册中心对比,以前用的 ...

  3. Mysql的ONLY_FULL_GROUP_BY

    今天在测试环境遇到一个问题,本地测试是没有问题,在测试环境sql报错了: nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntax ...

  4. android.widget.TextView.setText() on a null object reference

    错误描述 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView. ...

  5. Python练习题 014:完数

    [Python练习题 014] 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. -------------------- ...

  6. matlab中fix, floor, ceil, round 函数的使用方法

    转载: https://www.ilovematlab.cn/thread-91895-1-1.html Matlab取整函数有: fix, floor, ceil, round.具体应用方法如下: ...

  7. hosts文件的内容

    C:\Windows\System32\drivers\etc\hosts 1 # Copyright (c) 1993-2009 Microsoft Corp. 2 # 3 # This is a ...

  8. JDBC Java 程序从 MySQL 数据库中读取数据,并备份到 xml 文档中

    MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 相关内容:JDBC Java 程序从 MySQL 数据库中读取数据,并 ...

  9. Centos最小化安装后,不能使用yum命令的解决办法

    刚刚最小化方式安装了CentOS 7 后,想查看一下config,却发现没有config文件,就想用yum下载一个,但是发现yum不能正常工作!!! 一,输入安装X Window命令,安装出错!! 在 ...

  10. NET Standard中配置TargetFrameworks输出多版本类库

    系列目录     [已更新最新开发文章,点击查看详细] 在.NET Standard/.NET Core技术出现之前,编写一个类库项目(暂且称为基础通用类库PA)且需要支持不同 .NET Framew ...