利用ansible批量部署zabbix-agent
应用环境:Linux运维工作少不了一个好的监控,zabbix就是目前比较好的一款开源监控软件。
监控类型多种多样,如果不介意或者系统支持安装,那么agent方式是首选。
当主机数量较多时,可以利用相关工具(ansible,puppet或其他)进行批量部署,节省时间提高效率。
测试环境:通过在ansible-server上操作,使得client-1/2/3上自动安装、配置、并启动zabbix-agent。

部署步骤:
1. 安装ansible
~]#yum install -y epel-release //安装epel源
~]# yum install -y ansible //ansible会自动从epel源中下载安装

2. 编辑ansible的hosts文件
~]# vim /etc/ansible/hosts

3. 创建相关文件夹
~]# cd /etc/ansible/roles/

roles]# mkdir zabbix-agent{files,templates,tasks} -pv

用途说明:

4. 在三个目录下分别建立相应文件
① 在files中存放已经下载好的zabbix-agent包,这里是:zabbix-agent-3.2.6-1.el7.x86_64.rpm
② 在tasks中新建main.yaml文件(注意:必须为该名字)
tasks]# vim main.yaml //内容如下

注意:上图画框的文件就是直接从新建的文件夹files和文件夹templates里寻找,不用写上绝对路径。
③ 在templates中存放zabbix_agentd.conf.j2文件(注意:必须带.j2)
templates]# egrep -v "^#|^$" zabbix_agentd.conf.j2

用目录树看一下:

5. 配置ansible无密码SSH到client
~]# ssh-keygen //产生私钥和公钥

成功后在~/.ssh/路径下将生成ssh密钥文件:id_rsa及id_rsa.pub

~]# ssh-copy-id root@192.168.1.21 //将公钥发送至192.168.1.21主机


6. 以ansible方式ping通客户端
~]# ansible new -m ping

注意:能够以ansible的方式ping通是一切批量部署的前提!!!
7. 建立一个playbook文件
假设就建立在~目录下,名为:zabbix-agent.yaml,该文件的执行可用来调用创建好的roles。
~]#vim zabbix-agent.yaml //内容如下

8. 测试该playbook文件
~]# ansible-playbook zabbix-agent.yaml --check //加上 “ --check ” 可以检测错误
如果没报错,则可实际执行,如下所示就代表测试通过:

9. 执行该playbook文件
~]# ansible-playbook zabbix-agent.yaml //去掉 “ --check ” 就真实的执行了

10. 检查
随机从三台主机中找一台检查一下部署的任务是否都起作用,想下图:

结束。
利用ansible批量部署zabbix-agent的更多相关文章
- 通过ansible自动化部署zabbix应用
zabbix在实际的应用中,可能需要监控的主机非常多,而每个主机的操作系统类型.版本也都不尽相同,在这种环境下,通过手动安装zabbix的agent端已经不现实了,此时就需要借助自动化工具完成zabb ...
- Ansible批量部署工具
Ansible:自动化运维工具 你需要在一台机器上yum install 一个包,这时候有一个需求,比如现在有5台机同时需要装apache这个包,那么100台呢,ssh上去就太慢了,这时候就借助到了a ...
- 运维监控-基于yum的方式部署 Zabbix Agent 4.0 版本
运维监控-基于yum的方式部署 Zabbix Agent 4.0 版本 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 上一篇博客我们分享了如何基于yum的方式部署zabbix 4. ...
- CentOS操作系统部署zabbix agent服务
CentOS操作系统部署zabbix agent服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看zabbix的官方手册 1>.点击下载 2>.查看Ubunt ...
- Ubuntu操作系统部署zabbix agent服务
Ubuntu操作系统部署zabbix agent服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.下载zabbix软件包 博主推荐阅读: https://www.cnblog ...
- Ansible 快速部署 Zabbix 4
阅读本文章需要具有Ansible.Zabbix基础.本次教程基于如下环境: CentOS 7.x Zabbix 4.0 Ansible 2.5 服务器初始化 关闭防火墙.selinux,添加epel常 ...
- ansible 批量部署准备工作
Ansible:自动化运维工具,基于Python开发 功能{ 批量系统配置 批量程序部署 批量运行命令等等 } 准备工作: 一.操作主机安装epel源 和 ansible工具 yum -y insta ...
- Ansible 利用playbook批量部署mariadb
环境说一下 192.168.30.21 ansible 192.168.30.25 client1 192.168.30.26 client2 这里我的ansible环境已经部 ...
- Ansible 利用playbook批量部署Nginx
我这里直接部署的,环境已经搭建好,如果不知道的小伙伴可以看上一遍ansible搭建,都写好了,这里是根据前面环境部署的 192.168.30.21 ansible 192.168.30.25 ...
随机推荐
- asp.net mvc 自定义全局过滤器 验证用户是否登录
一般具有用户模块的系统都需要对用户是否登录进行验证,如果用户登录了就可以继续操作,否则退回用户的登录页面 对于这样的需求我们可以通过自定义一个独立的方法来完成验证的操作,但是这样代码的重复率就大大提高 ...
- scala flatmap、reduceByKey、groupByKey
1.test.txt文件中存放 asd sd fd gf g dkf dfd dfml dlf dff gfl pkdfp dlofkp // 创建一个Scala版本的Spark Context va ...
- 本地git连接远程github
git要连接GitHub仓库,是通过SSH加密连接的,所以必须要创建SSH key ssh-key -t rsa -C "youremail@example.com" 这里邮箱必须 ...
- jQuery方法区别:click() bind() live() delegate()区别
今天看到一篇jquery 事件的文章,自己写了个小例子,虽然2种方式都可以实现,但是不太明白,找了点资料 $("#box1").delegate("p",&qu ...
- js函数使用prototype和不适用prototype的区别
js中类定义函数时用prototype与不用的区别 原创 2017年06月05日 12:25:41 标签: 函数 / prototype / class 首先来看一个实例: function Li ...
- 使用电脑adb给Essential Phone刷机 —(官方篇)
用ADB给Essential Phone线刷升级 重要:请确保在刷机前已经解锁,关于解锁教程群里有! 准备 原版boot Twrp boot Magisk卡刷包 到官网下载OTA包 准备好Essent ...
- Coalesce (MS SQL Server)——取指定内容(列)中第一个不为空的值
oalesce 获得参数中第一个不为空的表达式. 语法: COALESCE ( expression [ ,...n ] ) 例子:CREATE TABLE wages ...
- 2018-南京网络赛icpc-L题(分层最短路)
题意:给你n个点,m条边的有向带权图,然后你每次可以选<=k条边的边权变成0,问你1到n的最短路: 解题思路:这道题基本上就是原题了呀,bzoj2763(无向图),解法就是拆点跑分层的最短路,比 ...
- 21JDBC_事务&JDBCTemplate
一.JDBC_事务 通过JDBC来操作银行转账的事务 1.API介绍 Connection接口中与事务有关的方法 void setAutoCommit(boolean autoCommit) ...
- Cent OS安装使用ffmpeg(完整版)
Cent OS安装使用ffmpeg centos作为主流后台linux 系统,ffmpeg作为视频流解析的主力,尤其是ffmpeg配合opencv使用,则是视觉操作的基础 版本: ffmpeg3.1 ...