zabbix agentd客户端插件Shell一键自动安装脚本

这次生产环境上线了多台Linux服务器,需要全部纳入Zabbix监控范畴,一台一台的去装Zabbix Agentd插件那就太苦逼了,所幸Zabbix客户端插件是支持绿色安装的,就写了个简单的一键安装脚本,然后配合 Secure CRT 的多窗口交互命令一次性就可以搞定了。

正常启动Zabbix客户端服务其实只需要2个文件: zabbix_agentd 和 zabbix_agentd.conf,需要特别说明的是:zabbix_agentd 最好是和 Zabbix_Server 一同编译所得,保证版本和配置文件的路径是一致的,否则可能无法使用Linux系统的 service 服务启动模式。

一、准备工作

Zabbix 主机肯定搭建了WEB服务,所以正好可以将所需放置到WEB目录,方便下载。

客户端插件 zabbix_agentd 位于 Zabbix 安装目录下的 sbin 目录,比如:/usr/local/zabbix/sbin/zabbix_agentd

服务控制脚本 zabbix_agentd 位于 zabbix 源码编译目录下的 misc/init.d/fedora/core/zabbix_agentd

我们要做的就是将这些文件拷贝到 WEB目录即可,比如 /var/www/html/zabbix_agent/ ,根据系统版本的不同,我们可以准备64和32位的 zabbix_agentd,方便后续不同系统下的安装。

拷贝后,手工验证下文件是否可以下载:

客户端插件:http://192.168.1.40/zabbix_agent/64/zabbix_agentd

服务控制脚本:http://192.168.1.40/zabbix_agent/init.d/zabbix_agentd

二、编写脚本

①、将以下代码保存为 zabbix_agentd.sh ,上传到第一步中的 zabbix_agent 目录。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

#!/bin/bash

#Desc: Install Zabbix Agent in OneKey.

#Date: 2015-04-02

#Author: ZhangGe

#设置zabbix服务器地址

if [ -z $1 ]

then

Server="192.168.1.40"

else

Server=$1

fi

#检测相关

function Check(){

netstat -ntlp | grep zabbix_agentd >/dev/null &&  echo "Exit for zabbix_agentd has been already installed." && exit

test -f zabbix_agent.sh && rm -f zabbix_agent.sh

test -f /usr/local/zabbix/sbin/zabbix_agentd && rm -rf /usr/local/zabbix/sbin/zabbix_agentd

test -f /etc/init.d/zabbix_agentd && rm -f /etc/init.d/zabbix_agentd

}

#配置相关

function Config(){

Server=$1

#获取IP

IP="`ifconfig | grep 192.168 | grep "inet addr:" | awk -F "  Bcast:" ‘{print $1}‘ | awk -F "inet addr:" ‘{print $2}‘`"

mkdir /usr/local/zabbix/sbin/ -p

mkdir /usr/local/zabbix/etc/ -p

cd /usr/local/zabbix/sbin/

#写入配置文件

cat > /usr/local/zabbix/etc/zabbix_agentd.conf <<EOF

Server=${Server}

Hostname=${IP}

BufferSize=1024

DebugLevel=2

LogFileSize=1024

EnableRemoteCommands=1

#Include=/etc/zabbix/zabbix_command.conf

EOF

}

function Install(){

Config $1

#下载服务控制脚本

wget -P /etc/init.d/  http://192.168.1.40/zabbix_agent/init.d/zabbix_agentd

#判断系统位数,下载不同版本

if [[ "$(uname -m)" == "x86_64" ]]

then

wget http://192.168.1.40/zabbix_agent/64/zabbix_agentd

else

wget http://192.168.1.40/zabbix_agent/32/zabbix_agentd

fi

chmod +x /etc/init.d/zabbix_agentd

chmod +x /usr/local/zabbix/sbin/zabbix_agentd

#新增用户和用户组

groupadd zabbix

useradd -s /sbin/nologin -M -g zabbix zabbix

#启动服务并加入开启启动

service zabbix_agentd start && chkconfig zabbix_agentd on

echo ---------------------Result---------------------------------

#检查安装结果

netstat -ntlp | grep zabbix_agentd && echo -e "\033[33minstall Succeed.\033[0m" || echo -e "\033[31minstall Failed.\033[0m"

}

#main

Check

Install $Server

②、Service 服务控制脚本

为了方便没找到 zabbix agent 服务控制脚本的朋友,额外提供服务控制代码。将代码保存为zabbix_agentd,上传到第一步的 zabbixz_agent/init.d/ 目录备用。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

#!/bin/sh

#chkconfig:
345 95 95

#description:Zabbix
agent

#
Zabbix

#
Copyright (C) 2001-2013 Zabbix SIA

#

#
This program is free software; you can redistribute it and/or modify

#
it under the terms of the GNU General Public License as published by

#
the Free Software Foundation; either version 2 of the License, or

#
(at your option) any later version.

#

#
This program is distributed in the hope that it will be useful,

#
but WITHOUT ANY WARRANTY; without even the implied warranty of

#
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

#
GNU General Public License for more details.

#

#
You should have received a copy of the GNU General Public License

#
along with this program; if not, write to the Free Software

#
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

#
Start/Stop the Zabbix agent daemon.

#
Place a startup script in /sbin/init.d, and link to it from /sbin/rc[023].d

SERVICE="Zabbix
agent"

DAEMON=/usr/local/zabbix/sbin/zabbix_agentd

PIDFILE=/tmp/zabbix_agentd.pid

BASEDIR=/usr/local/zabbix

ZABBIX_AGENTD=$BASEDIR/sbin/zabbix_agentd

case
$1
in

‘start‘)

if
[
-x
${DAEMON}
]

then

$DAEMON

#
Error checking here would be good...

echo
"${SERVICE}
started."

else

echo
"Can‘t
find file ${DAEMON}."

echo
"${SERVICE}
NOT started."

fi

;;

‘stop‘)

if
[
-s
${PIDFILE}
]

then

if
kill
`cat
${PIDFILE}`
>/dev/null
2>&1

then

echo
"${SERVICE}
stoped."

rm
-f
${PIDFILE}

fi

fi

;;

‘restart‘)

$0
stop

sleep
10

$0
start

;;

*)

echo
"Usage:
$0 start|stop|restart"

;;

esac

三、使用方法

登录到客户端系统,运行如下命令即可一键安装:

①、使用默认 zabbix_server 的IP地址:

1

wget http://192.168.1.40/zabbix_agent/zabbix_agent.sh && chmod +x zabbix_agent.sh && ./zabbix_agent.sh

②、后面添加IP参数可指定到其他 zabbix_server 或 zabbix_proxy:

1

wget
http://192.168.1.40/zabbix_agent/zabbix_agent.sh
&&
chmod
+x
zabbix_agent.sh
&&
./zabbix_agent.sh
192.168.1.41

Secure CRT多会话交互执行:

其他说明:此脚本中的 zabbix_agentd 编译路径(prefix)为 /usr/local/zabbix,如果编译的时候不是这个路径,则需要根据实际情况修改脚本里面相关路径,否则注册的zabbix_agentd服务将无法启动,就只能通过命令行启动了!

参考资料:

jquery
ajax 设置json类型的返回串问题
  http://www.itmmd.com/201504/694.html

java
jsp实现万年历 + 日程管理,已经设计好u
  http://www.itmmd.com/201504/693.html

jquery
动态添加和删除 ul li列表
  http://www.itmmd.com/201504/692.html

更多信息请访问:萌萌的it人

时间: 2024-10-02 03:26:28

zabbix agentd客户端插件Shell一键自动安装脚本的相关文章

shell写自动安装脚本自动读取license和自动输入回车

最近比较闲,在公司写了一个centreon+nagios平台源码全自动安装脚本(因为公司不能连外网,公司yum源很多东西不全,所以只能采取源码安装),其中写到安装centreon时候,执行./install -i 会需要回车读取license,而需要阅读内容比较多,需要多次按下空格键才能读完,以下使用expect来实现此部分,如果各位有比较好的方法,麻烦指点,相互学习,因为脚本已经使用,所以不便公开,这里就简单举个例子,之后应该会用python写一些开源的东西,也请大家多多指点. 1.安装exp

windows上一键自动安装zabbix-agent

一.简介 zabbix是开源界流行的监控程序,C/S架构,运行多种系统平台安装,个人认为windows平台的 zabbix-agent安装最为烦琐,unix及linux平台通过自动化运维工具可一键远程安装,而windows目前没有好的方法,所以就参考网上写了一个脚本(包含zabbix-agent 2.4.5客户端),一键安装并配置好防火墙. 二.安装脚本(配置文件) 请先修改脚本中zabbbix_server 为自己的zabbix服务器ip @Echo off setlocal enablede

python3自动安装脚本,python3.x与python2.x共存

1.前言: python3过程中,通过搜索一些文章参考安装过程发现比较麻烦,而且还出现一些不可预期的报错.python3环境需要升级openssl,所以为了部署到其他环境更方便,写自动安装脚本方式,且安装模式为python3.x与python2.x共存,防止可能发生原有环境异常的情况. 现在我把脚本分享出来,希望可以帮助到有需要的人,业务采集监控python脚本文件不提供,因为那些跟实际业务开发关联比较紧,比较没有参考意义也不方便公开. shell自动安装脚本,只需按说明简单修改配置,和调用集成

【shell】oracle安装脚本 - 未完成

自动安装oracle所需要的rpm包(需要访问外网): #! /bin/sh rpmpack=" binutils compat-libstdc++* elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libg

mysql 自动备份和nginx自动安装脚本

一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 BAKDIR=/data/backup/mysql/`date +%Y-%m-%d` MYSQLDB=webapp MYSQLPW=backup MYSQLUSR=backup #must use root user run scripts 必须使用root用户运行,$UID为系统变量 if [

ELK自动安装脚本

ELK自动安装脚本 一.简介 ELK由Elasticsearch.Logstash和Kibana三部分组件组成: Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash是一个完全开源的工具,它可以对你的日志进行收集.分析,并将其存储供以后使用 kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web

mysql自动安装脚本

为适应自己工作习惯和需要,花一点时间写了一个mysql自动安装脚本,供大家参考学习. 注意: 1.需要先安装cmake 2.数据库版本需要在第二步安装mysql时修改 3.该脚本是以root用户安装并启动 脚本内容如下: ######################################################################## #mysql自动安装脚本,其中变量/mysql_v_dir/和/port/可根据实际需要修改    # #执行脚本命令:sh mys

ipvsadm+keepalived+inotify-tools自动安装脚本

#!/bin/bash # # #this is install keepalived+lvs-DR # # tar_dir=/usr/src configure_yum() { echo "[rhel-local]">/etc/yum.repos.d/rhel-local.repo echo "baseurl=file:///media/Server">>/etc/yum.repos.d/rhel-local.repo echo "en

linux下PXE无人值守环境自动安装脚本

当时单位要安装一套linux的PXE无人值守装机程序,装完后花了九牛二虎之力写了一个自动安装脚本,以便今后安全方便,不过后来就没怎么用了,甚至都有些淡忘了,哈哈,分享出来,有研究PXE自动安装的可以看看,在使用的时候里面的ip地址要换掉的. #!/bin/sh #writer:gaolixu yum -y install dhcp tftp-server vsftpd syslinux xinetd if ! service dhcpd status ;then ###############