zabbix agent 部署

2019-05-31 20:42:41 浏览数 (1)

   

编译方式

编译安装 -> 打包到zabbix站点 客户端curl 执行服务端shell安装脚本

1.安装

代码语言:javascript复制
tar zxvf zabbix-3.0.3.tar.gz
#官网下载解压源码包
cd zabbix-3.0.3
./configure --prefix=/usr/local/zabbix-agent --enable-agent
make &&make install
#编译安装到本地硬盘

2.修改配置

cat /usr/local/zabbix-agent/etc/zabbix_agentd.conf

代码语言:javascript复制
#version 1
LogFile=/tmp/zabbix_agentd.log
#日志路径

Server=zabbix.ops.net
ServerActive=zabbix.ops.net
#指定服务器地址

Hostname=88lm-accesscore
#定义agent主机名

Include=/usr/local/zabbix-agent/etc/zabbix_agentd.conf.d
#cat all.key

#HostMetadataItem=system.uname
#它的值来自key
#HostMetadata=Linux xxxxx
#可直接定义值

通过使用各式各样的metadata我们可以用于区分各个主机,来达到我们各种需求

3.自定义key(常用)

代码语言:javascript复制
# System
UserParameter=tcp[*],/usr/local/zabbix-agent/shell/tcp_check.sh $1
#tcp状态

UserParameter=ports.discovery[*],python /usr/local/zabbix-agent/shell/ports.py $1
#服务端口自动发现

2.自定义shell

存放路径 /usr/local/zabbix-agent/shell

3 打包

代码语言:javascript复制
cd /usr/local
tar zcvf zabbix-agent.tar.gz zabbix-agent/

mkdir -p  /www/zabbix/agent/6
mkdir   /www/zabbix/agent/7
mv zabbix-agent.tar.gz  /www/zabbix/agent/7/zabbix-agent.tar.gz

4 远程安装

curl -s http://zabbix.ops.net/agent/zabbix-agent_install.sh |bash

代码语言:javascript复制
wget -c http://zabbix.ops.net/agent/7/zabbix-agent.tar.gz
#/www/zabbix/agent 目录下存放包

tar -xf zabbix-agent.tar.gz -C /usr/local/ && rm zabbix-agent.tar.gz
#解压和清理

groupadd zabbix
useradd -M -s /sbin/nologin -g  zabbix zabbix
#添加用户

(grep "zabbix" -lr /etc/sudoers)||cat >> /etc/sudoers << EOF
zabbix ALL=(ALL)    NOPASSWD: /bin/netstat
Defaults:zabbix !requiretty
EOF
#sudoer

chmod  x /etc/rc.local
echo "/usr/local/zabbix-agent/sbin/zabbix_agentd"  >>  /etc/rc.local
#开机启动

chown  zabbix:zabbix -R /usr/local/zabbix-agent
/usr/local/zabbix-agent/sbin/zabbix_agentd
#启动服务

启动服务

代码语言:javascript复制
/usr/local/zabbix-agent/zabbix_agentd

rpm方式

  1. 将rpm存放到zabbix服务器
  2. 定义key和shell打包
  3. 写安装shell整合

批量安装

一键安装以编译的agent包

代码语言:javascript复制
curl -s  http://zabbix.monitor.com/agent/base_install.sh |sh
salt:
salt '*' cmd.run "curl -s http://zabbix.monitor.com/agent/base.sh |sh"
salt "*" state.sls base.init.zabbix.install pillar='{env:[jb]}'
ansible:
ansible all -m shell -a 'curl -s http://zabbix.monitor.com/agent/base.sh |sh'

0 人点赞