zabbix自动发现和自动注册批量添加100台主机
使用ansible批量zabbix-agent添加到目标主机
我只用普通权限,所以要是使用sudo权限
版本:zabbix 5.0
ssh脚本免密登陆
sudo vim key_cert.sh
#!/bin/bash
#利用 sshpass 批量实现基于 key 验证
#2020-06-22
#Author pansn
ssh-keygen -f /home/itadmin/.ssh/Id_rsa -P ''
#需要添加ssh用户密码,没有则报错
export SSHPASS=
for IP in `cat /tmp/up.txt`; do
#首次ssh连接会询问,导致添加ssh-key失败,添加 -o StrictHostKeyChecking=no即可不用确认
sshpass -e ssh-copy-id -o StrictHostKeyChecking=no ${IP}
done
执行脚本验证随便验证登陆目标主机
编写playbook
sudo vim zabbix-agnet.yml
- hosts: agent
remote_user: itadmin
tasks:
- name: cocy scrip
become: yes
become_user: root
become_method: sudo
copy: src=/home/itadmin/zabbix/zabbix-agent.sh dest=/home/itadmin
- name: secure script
become: yes
become_user: root
become_method: sudo
shell: /bin/bash /home/itadmin/zabbix-agent.sh
添加hosts配置ip
sudo vim /etc/ansible/hosts
[agent]
172.21.132.11
172.21.132.12
....
编写zabbix-agent安装脚本
##!/bin/bash
# file:ssh.sh
# author: pansn
# date:2020-07-17 15:02
# version 1.0
# description: Shell script
# @Copyright (c) all right reserved
#IP=`ifconfig | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[04][0-9]|[01]?[0-9][0-9]?)"|grep -E '^10.|^172.|^192.'|head -n1`
deb=zabbix-release_5.0-1+xenial_all.deb
`
[-f $deb ] || wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+xenial_all.deb
dpkg -i zabbix-release_5.0-1+xenial_all.deb
`
apt update
echo "安装zabbix-agent"
apt install zabbix-agent -y
#rm -rf zabbix-agent-4.2.6-1.el7.x86_64.rpm
echo‘备份agent.conf配置文件‘
cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak
echo '修改配置文件'
sed -i 's/Server=127.0.0.1/Server=zbx.onepluscorp.cn/' /etc/zabbix/zabbix_agentd.conf
sed -i "s/Hostname=Zabbix server/Hostname=`hostname`/" /etc/zabbix/zabbix_agentd.conf
sed -i 's/^ServerActive=127.0.0.1/ServerActive=zbx.onepluscorp.cn/' /etc/zabbix/zabbix_agentd.conf
sed -i 's/# HostMetadata=/HostMetadata=linux zabbix.oneplus/' /etc/zabbix/zabbix_agentd.conf
systemctl start zabbix-agent && systemctl enable zabbix-agent
#检测是否存在nginx,有即卸载
ps -ef | grep zabbix-agent > /dev/null 2>&1
if [ $? -eq 0 ];then
echo "zabbix-agent安装成功"
else
echo "zabbix安装失败请检查"
fi
执行playbook
--ask-sudo-pass可以使用sudo权限,
ansible-playbook --ask-sudo-pass zabbix-agent.yml
zabbix-server的web界面添加自动发现功能
1、创建自动发现
2、配置自动发现配置
3、验证
添加ip出现即可成功
zabbix-server的web界面添加自动注册功能
1、添加动作
2、左上角自动发现动作,添加
注意左上角Discovery actions
3、配置动作
4、配置操作
到这步我原来以为算是完成,但是还需要继续
配置动作
配置操作
完成这步即全部完成
可以到主机这查看了