使用自动化部署工具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. React手稿之State Hooks of Hooks

    React Hooks React在16.7.0-alpha.0版本中提到了Hooks的概念,目前还是Proposal阶段. 官方也陈述,接下来的90%的工作会投入到React Hooks中. 从目前 ...

  2. netty第一讲 创建

    1.新建一个maven项目  https://blog.csdn.net/yanghaibobo110/article/details/73835469 2.netty是什么玩意 官方那个给出的介绍是 ...

  3. Python-在不在判断 in 和 in判断协议- in __contains__

    in 判断元素是否在序列中, 可以查看 in == is 区别 __contians__ 如果是对象则调用对象中的 __contains__方法 class BeiMenChuiXue: def __ ...

  4. Mysql中 int(3) 类型的含义

    注意:这里的(3)代表的并不是存储在数据库中的具体的长度,以前总是会误以为int(3)只能存储3个长度的数字,int(11)就会存储11个长度的数字,这是大错特错的. 其实当我们在选择使用int的类型 ...

  5. 【题解】 [EZEC-4]求和

    对于百分之十的数据:随便过. 下面推式子: \[\sum_{i=1}^n\sum_{j=1}^n\gcd(i,j)^{i+j} \] \[=\sum_{d=1}^n\sum_{i=1}^n\sum_{ ...

  6. Flink实例(五十): Operators(十)多流转换算子(五)coGroup 与union

    参考链接:https://mp.weixin.qq.com/s/BOCFavYgvNPSXSRpBMQzBw 需求场景分析 需求场景 需求诱诱诱来了...数据产品妹妹想要统计单个短视频粒度的「点赞,播 ...

  7. Python日志采集(详细)

    通常在前期调试代码的时候,我们会使用print在IDE控制台打印一些信息,判断运行情况.但在运行整个自动化测试项目的过程中,通过print打印信息的方式获取运行情况显然行不通. 这时就需要收集日志,每 ...

  8. 多测师_肖sir_性能测试之性能测试了解001(jmeter)

    一.了解jmeter 1.Jmeter的概念? JMeter是Apache组织开发的基于Java的压力测试工具.具有开源免费.框架灵活.多平台支持等优势.除了压力测试外,JMeter在接口测试方面也有 ...

  9. 游戏2048的核心算法c#版本的实现

    接触游戏有一段时间了,也写了一些东西,效果还不错,今天没事,我就把2048 c# 版本的实现贴出来,代码已经测试过,可以正常.完美运行.当然了,在网上有很多有关2048的实现方法,但是没有提出到类里面 ...

  10. docker-搭建 kafka+zookeeper集群

    拉取容器           docker pull wurstmeister/zookeeper           docker pull wurstmeister/kafka     这里演示使 ...