请启用 Javascript 以查看内容

zabbix 批量安装 自动注册

 ·   ·  ☕ 3 分钟  ·  ✍ CNSRE · 👀... 阅读

作者:SRE运维博客
博客地址: https://www.cnsre.cn/
文章地址:https://www.cnsre.cn/posts/210406132721/
相关话题:https://www.cnsre.cn/tags/zabbix/


环境介绍

zabbix版本:Zabbix 4.2.6
zabbix server:10.0.10.234
zabbix-agent:16台 Linux 7.x设备

自动发现

自动发现的好处:快速发现,并自动添加主机,省去管理员配置的麻烦。
自动发现的原理:自动发现功能是基于IP段进行扫描添加利用SNMP协议来接收消息实现自动添加

自动注册

自动注册的相较于自动发现的有点就在于节省zabbix-server的资源
自动注册也就是被动发现,等着业务机器来找zabbix server注册,自动注册的原理: 自动注册会根据host进行匹配,将符合条件的机器执行动作
本文采用自动注册的方式做为示例。

Linux 服务器端操作

agent rpm 安装包

点击下载 zabbix-agent-4.2.6-1.el7.x86_64.rpm

安装脚本

 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
76
77
78
79
#!/bin/bash

RD="\033[31m"      # 错误消息
GR="\033[32m"      # 成功消息
YL="\033[33m"      # 告警消息
BL="\033[36m"      # 日志消息
PL='\033[0m'

echo "#############################################################################"
echo -e "#                     一键安装 zabbix-agent4.2.6脚本                     #"
echo -e "# ${GR}作者${PL}: sre运维博客                                      #"
echo -e "# ${GR}网址${PL}: https:www.cnsre.cn                               #"
echo -e "# ${GR}文章地址${PL}: https://www.cnsre.cn/posts/210406132721/     #"
echo "#############################################################################"
server_ip=$1
VALID_CHECK=$(echo $server_ip|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}')
if echo $server_ip|grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$">/dev/null; then
    if [ $VALID_CHECK == "yes" ]; then
        echo -e "$GR 您的zabbix server IP 地址为:$server_ip $PL"
    else
        echo -e "$GR 您的zabbix server IP $server_ip 不可用!$PL"
    fi
else
echo -e "$RD 请输入zabbix server IP地址! $PL"
echo -e "$RD 如:sh $0 192.168.10.100 $PL"
exit 1
    fi

echo -e "$YL 是否确定安装 zabbix 4.2.6 版本?$PL"
read -r -p "确定请按 y 任意键则退出!请选择:[y/n]" input
    if [[ $input != "y" ]]; then
        exit 1
    else 
        echo -e "$GR 开始安装 zabbix-agent 4.2.6 版本$PL"
    fi

#定义变量
IP=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1)

checkwget=`rpm -qa wget`
if [ -z $checkwget ];then
  yum  install wget -y  
fi

echo  -e "$GR 下载zabbix-agent$PL"
sleep 0.5
wget http://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-agent-4.2.6-1.el7.x86_64.rpm
rpm -ivh zabbix-agent-4.2.6-1.el7.x86_64.rpm
rm -rf zabbix-agent-4.2.6-1.el7.x86_64.rpm

echo -e "$GR 备份agent.conf配置文件$PL"
sleep 0.5
mv  /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak
touch /etc/zabbix/zabbix_agentd.conf

echo -e "$GR 正在写入配置文件$PL"
sleep 0.5
cat  >> /etc/zabbix/zabbix_agentd.conf  << EOF  
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=1
DebugLevel=3
Server=$server_ip
ListenPort=10050
ServerActive=$server_ip
Include=/etc/zabbix/zabbix_agentd.d/
Hostname=$IP
HostMetadata=zabbix.bsh
EOF

echo -e "$GR 启动zabbix-agent服务$PL"
systemctl start zabbix-agent && systemctl enable zabbix-agent 

zabbixagentpid=`ps -ef |grep zabbix_agentd|grep -w 'zabbix_agentd'|grep -v 'grep'|awk '{print $2}'`
if [ "$zabbixagentpid" ];then
      echo -e "$GR zabbix-agent 已经运行 $PL"
   else
    echo "$RD zabbix agent 安装失败!$PL"
fi

WEB 页面操作

配置–动作–事件源选择为自动注册–创建动作
zabbix自动注册
设置自动注册的规则
我这里设置主机名称为包含10的则添加注册,因为我的主机地址段都是在10段的
zabbix自动注册
zabbix自动注册
然后坐等主机上线
收到提醒后打开主机列表查看自动注册上来的主机
zabbix自动注册
看到已经注册上来的主机
zabbix自动注册
文章链接
https://www.cnsre.cn/posts/210406132721/


作者:SRE运维博客
博客地址: https://www.cnsre.cn/
文章地址:https://www.cnsre.cn/posts/210406132721/
相关话题:https://www.cnsre.cn/tags/zabbix/


您的鼓励是我最大的动力
alipay QR Code
wechat QR Code

Avatar
作者
CNSRE
一位只会重启的运维






目录