CentOS7一键安装Zabbix Agent 6.0并实现自动注册

开源
为了满足监控企业成千上万台服务器,zabbix提供了自动发现与自动注册的功能,自动批量发现局域网中的服务器,并自动添加到zabbix监控平台。

问题背景

手动添加Zabbix客户端非常耗时间,增加人力、时间成本。为了满足监控企业成千上万台服务器,zabbix提供了自动发现与自动注册的功能,自动批量发现局域网中的服务器,并自动添加到zabbix监控平台。

自动发现(被动模式):由服务端主动发起,Zabbix Server开启发现进程,定时扫描局域网中IP服务器、设备。实现自动将发现主机、自动将主机添加到主机组、自动加载模板、自动创建项目(item)、自动创建图像等功能。

缺点:当 Agent服务器过多的时候采用自动发现,zabbix-server压力会比较大,自动添加主机进度就会非常慢。

自动注册(主动模式):Zabbix Server 等待 Zabbix Agent主动上报。由客户端主动发起,客户端必须安装并启动Agentd,否则无法被自动注册添加至主机列表。对于使用SNMP的要采用自动发现。

缺点:agent有可能找不到Server。

PS:主动还是被动是基于agent而言,不管是主动还是被动模式都是在agent端进行配置。

下面介绍Zabbix 6.0 Agent自动注册的实践过程

1、Zabbix Server上Web配置自动注册

(1)配置-->动作-->Autoregistration actions。

(2)定义自动注册主机的条件。

(3)定义注册上来的主机所要关联模板。

2、CentOS7主机端一键自动化脚本安装并配置Zabbix Agent

cd /opt
rz 上传zabbix-agent-6.0.4-1.el7.x86_64.rpm
zabbix_install.sh
执行安装脚本
sh zabbix_install.sh

脚本部分内容如下:

cat zabbix_install.sh 
#!/usr/bin/env bash
# Only RHEL7 system is supported
# Version: 2.0
#Set Monitor ADDRESS
SERVER_ADDRESS='192.168.31.47'
function GET_OS_Version() {
OS_Version=$(cat /etc/redhat-release|sed -r 's/.* ([0-9]+)\..*/\1/')
}
function INIT_OS() {
# disabled SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
}
function GET_OS_STATUS() {
Processes=$(ps -ef|grep -v grep|grep zabbix_agent|wc -l)
if [[ $Processes != '0' ]];then echo $(hostname -I ) 'Agent process already exists in the system!!!';exit 1;fi
}
function Install_7() {
yum -y localinstall /opt/zabbix-agent-6.0.4-1.el7.x86_64.rpm &>/dev/null
if [[ $? != '0' ]];then echo $(hostname -I ) 'Install failed!!!';fi
systemctl start zabbix-agent
systemctl enable zabbix-agent
systemctl restart zabbix-agent
}
function Restart_AGENT7() {
systemctl restart zabbix-agent
}
function Configure() {
cat << EOF > /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=$SERVER_ADDRESS
ServerActive=$SERVER_ADDRESS
HostnameItem=system.hostname
HostMetadataItem=system.uname
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UnsafeUserParameters=1
EOF
}
function AGENT_RUN() {
STATUS=$(ss -ntl|grep 10050|head -1|awk '{print $1}'|wc -l)
if [[ $STATUS -eq 1 ]];then echo $(hostname -I ) 'Install OK!!!';else echo $(hostname -I ) 'Install failed!!!';fi
}

3、确认Agent是否正常注册上线

可以看到已经正常上线。

Tips

如果出现如下报错时,检查firewalld防火墙是否开放10050端口。

firewall-cmd --permanent --zone=public --add-port=10050/tcp
firewall-cmd --reload
责任编辑:姜华 来源: 今日头条
相关推荐

2020-05-14 12:09:56

Centos7EFK部署

2021-08-09 08:38:10

CentOS7Zabbix 监控

2011-09-15 19:05:49

windows 7一键关机

2011-03-29 10:22:35

Zabbix Agen安装

2009-08-31 09:09:56

2015-11-03 15:29:49

ONOS开放网络操作系统SDN

2013-10-14 15:35:46

CentOSLNMPCentmin Mod

2020-12-29 11:04:57

Linux安装系统RedHat

2020-11-06 08:05:05

CentOS

2022-07-27 14:59:20

原子化服务鸿蒙

2020-08-28 11:20:01

CentOS7RocketMQ 4.运维

2021-05-12 07:42:41

CentOS7Python3系统

2022-03-02 09:53:44

开源ZabbixCentOS 7

2024-03-15 14:34:12

Oracle数据库一键巡检

2015-02-09 15:25:52

换肤

2020-11-24 11:00:24

前端

2012-03-01 14:00:08

2011-07-25 23:08:42

投影仪评测

2012-07-16 10:09:39

Windows 7操作系统

2012-07-03 16:03:07

点赞
收藏

51CTO技术栈公众号