远程部署zabbix代理

概述

在一个有代理的监控解决方案中,最多的工作量就在于部署以及更新代理,如何快速地完成代理程序的部署和更新,是监控解决方案中需要解决的一个难点,zabbix也是如此,官方的zabbix代理支持多种方式进行部署,如rpm、源码编译等,在这个解决方案中,采用的是源码编译后进行打包部署。

原理

实现zabbix代理的远程部署的原理是使用ssh协议,登录到目标服务器,在具备root的权限的前提下,创建zabbix监控用户和代理安装目录,以及必要的sudo的配置。将打包后的代理介质进行解压,使用zabbix监控用户进行运行,最后再通过命令检查,看看代理部署情况。

实操

工具编写

由于openssh的客户端在没有证书的情况下,无法实现免密登录,虽然也有expect语言,实现交互式的密码输入,但总体来说还是有点不太方便,所以这里使用golang自己编写了一个客户端

项目地址:https://gitee.com/xiaojinran/zabbixTools

主要实现了以下两点功能:

  • 执行命令

    执行命令分为两种,一种是等待结果返回,另一种是不等待结果,直接放置后台执行

  • 上传文件

    上传的文件均会放在目标服务器的/tmp目录下,文件名称保持一致

有了以上的两个功能之后,我们就可以通过脚本的方式,将代理介质上传后执行部署命令,再运行检查命令,即可完成代理的部署

脚本编写

根据项目的需要,可以灵活的去编写脚本,如果客户现场能够允许有root权限进行ssh登录,那么客户可以啥都不管。不然的话,客户需要帮忙预先配置好用户以及软件部署目录。

这里我假设客户已经配置好了监控用户demo,密码也为demo,以及对应的软件部署目录,即家目录。

部署脚本编写如下:

#!/bin/sh

# Transfer AgentFile

remoteControl=/zabbix/tools/remoteControl
agentFile=/zabbix/agents/zabbixAgt.tar.gz
configFile=/home/demo/zabbix/etc/zabbix_agent2.conf
host=$1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值