vlambda博客
学习文章列表

NO.A.0005.zabbix_lnmp+zabbix.agent.编译安装/批量监控和100台设备/自动发现

一、安装客户端

1、Zabbix Server端和Zabbix Agent执行如下代码:

Zabbix监控平台部署,至少需要安装四个组件,分别是Zabbix_Server/Zabbix_Web/Databases/Zabbix_Agent如下为Zabbix.Agent安装配置详细步骤:

2、部署环境:

Server端 ————>192.168.1.59Agent端       ————>192.168.1.60CentOS版本    ————>CentOS 7.6.1810ZABBIX版本    ————>Zabbix 4.0.19

部署zabbix_server,zabbix_agent

// zabbix源码下载地址(建议从官网下载):// https://www.zabbix.com/download_sources#tab:40LTS//OR[root@localhost ~]# > wget -c https://cdn.zabbix.com/zabbix/sources/stable/4.0/zabbix-4.0.25.tar.gz //-c:断点续传[root@localhost ~]# md5sum zabbix-4.0.25.tar.gz //查看他的md5值0694c540b1d014cdc5c6a50d361d77f2 zabbix-4.0.25.tar.gz//因为zabbix基于C语言开发;安装编译时依赖包、库文件://本机不用安装,编译zabbix_server时已安装[root@localhost ~]# yum -y install gcc curl curl-devel net-snmp net-snmp-devel perl-DBI > libxml2-devel libevent-devel pcre mysql-devel

2、编译安装zabbix-agent

//解压zabbix-4.0.25.tar.gz[root@localhost ~]# tar -xzvf zabbix-4.0.25.tar.gz //-x extract解压,-z gzip压缩,-v verbose详细,-f file文件//zabbix-server编译安装,需要通过源代码部署三个步骤://1、预编译:[root@localhost zabbix-4.0.25]# ./configure --prefix=/usr/local/zabbix --enable-agent //建议使用命令 开启--enable-agent就可以了 //2、编译[root@localhost zabbix-4.0.25]# make//3、安装:[root@localhost zabbix-4.0.25]# make install //4、添加软链接(相当于快捷方式);启动脚本要找/usr/local/sbin;不然启动时会报错[root@localhost ~]# ln -s /usr/local/zabbix/sbin/zabbix_agentd /usr/local/sbin/
//5、修改zabbix_agentd.conf文件[root@localhost etc]# vim /usr/local/zabbix/etc/zabbix_agentd.confLogFile=/tmp/zabbix_agentd.log Server=192.168.1.59 //指向服务端IP地址ServerActive=192.168.1.59 //开启主动模式,并设置传输数据的服务器地址Hostname=192.168.1.60 //指向自己的主机名或者IP地址
//6、同时cp zabbix_server启动脚本至/etc/init.d/目录,// 启动zabbix_agent Zabbix_agent默认监听端口为10050[root@localhost zabbix-4.0.25]#cp misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd[root@localhost ~]# chmod o+x /etc/init.d/zabbix_agentd[root@localhost ~]# /etc/init.d/zabbix_agentd restart

zabbix-agent的监听端口为10050

[root@localhost ~]# netstat -tunlp |grep -aw 10050tcp 0 0 0.0.0.0:10050 LISTEN 14210/zabbix_agentd tcp6 0 0 :::10050 LISTEN 14210/zabbix_agentd
[root@localhost ~]# /etc/init.d/zabbix_agentd restartzabbix_agentd [113015]: user zabbix does not existzabbix_agentd [113015]: cannot run as root!Zabbix agent started.//创建用户和用户组即可:[root@localhost ~]# groupadd zabbix[root@localhost ~]# useradd -g zabbix zabbix[root@localhost ~]# usermod -s /sbin/nologin zabbix

二、使用脚本批量化部署agent端:

1、编辑配置脚本配置文件:auto_install_zabbix_agent_v3.sh

[root@localhost ~]# vim auto_install_zabbix_agent_v3.sh SERVER_IP="192.168.1.59"[root@localhost ~]#sh auto_install_zabbix_agent_v3.sh Please confirm whether to install Zabbix Server,yes or no? no//选择yes安装客户端,选择no安装服务
主动模式:在/usr/local/zabbix/etc/zabbix_agentd.conf下ServerActive=192.168.1.59是主动模式的配置指令。主动模式是:客户端自己会监控自己的数据,并且把数据发送给zabbix_server服务器
[root@localhost ~]# cat /tmp/zabbix_agentd.log113048:20201030:232112.078> no active checks on server[192.168.1.59:10051]: host [192.168.1.60] not found

因为我们的部署平台上还没有创建主机,所以无法检测到数据。

主动模式:客户端自己检测自己的数据,并把数据推送给server服务器,可以减少server的压力。被动模式:客户端等着server来过来拉取数据,生产环境都是用主动模式。

三、主动模式监控一台client:在web平台创建主机

1、配置 ——> 主机 ——> 创建主机(图一) ——> 创建监控项(图二)或者导入模板 ——> 检测到数据。

                   图一

NO.A.0005.zabbix_lnmp+zabbix.agent.编译安装/批量监控和100台设备/自动发现

手动创建太麻烦,我们直接使用模板:绑定主机和模板配置 ——> 主机 ——> 打开主机 ——> 模板

NO.A.0005.zabbix_lnmp+zabbix.agent.编译安装/批量监控和100台设备/自动发现                  图二

配置zabbix-agent端信息:

检测状态如下:

NO.A.0005.zabbix_lnmp+zabbix.agent.编译安装/批量监控和100台设备/自动发现

2、批量检测十台主机(我们开启了十台zabbix-docker-client客户端:

自动发现:server端会开启discover进程,去扫描区域网的服务器:

 配置 ——> 自动发现 ——> Local network(重新定义规则)(图一)

NO.A.0005.zabbix_lnmp+zabbix.agent.编译安装/批量监控和100台设备/自动发现

                       图一

[root@localhost ~]# ps -ef |grep -i discover //查看discover进程; 默认就一个扫描进程,肯定很慢,开启多个扫描进程。zabbix 6206 00:00:03 /usr/local/sbin/zabbix_server: discoverers rming discovery][root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_server.conf // 配置discover多进程同时探测。 StartDiscoverers=10 //默认是1个,改为10个 //企业中我们给为50或者100台设备。[root@localhost ~]# /etc/init.d/zabbix_server restart //重启zabbix_server 扫描完需调小一点,毕竟它还是占用我们的资源。

查看扫描的设备:

检测——> 自动发现列表(展示扫描的机器)

NO.A.0005.zabbix_lnmp+zabbix.agent.编译安装/批量监控和100台设备/自动发现

2.3、扫描之后还不会监控,我们需要给一个动作。

配置——> 动作——> 事件源(自动发现)(默认有一个动作是停用的,改为启用)——> 点击进入:Auto discovery. Linux servers

NO.A.0005.zabbix_lnmp+zabbix.agent.编译安装/批量监控和100台设备/自动发现

NO.A.0005.zabbix_lnmp+zabbix.agent.编译安装/批量监控和100台设备/自动发现

NO.A.0005.zabbix_lnmp+zabbix.agent.编译安装/批量监控和100台设备/自动发现

NO.A.0005.zabbix_lnmp+zabbix.agent.编译安装/批量监控和100台设备/自动发现

2.4、自动发现客户端客户端需要开启ssh服务,并打开22端口。

  设备扫描到,还是不会监控数据,数据传达不到server服务端,需要安装agent来主动推送数据。

NO.A.0005.zabbix_lnmp+zabbix.agent.编译安装/批量监控和100台设备/自动发现


四、正在docker下批量创建10台容器,并运行我们的zabbix-agent。

//使用该命令去创建一个容器:具备systemctl启动权限。[root@localhost ~]# docker run -tid --net=none --name=centos7-ssh2 > --privileged=true centos7-ssh:zabbix-agent /sbin/init //创建容器并运行 [root@localhost ~]# pipework br0 centos7-ssh 192.168.1.70/[email protected] //写入IP地址[root@localhost ~]# docker exec -it centos7-ssh1 /bin/bash //使用该命令进入容器[root@localhost ~]# for i in $(seq 1 10);do docker run -itd --privileged centos:centos7 ;done //创建10台容器用来做client[root@localhost ~]# docker ps -aq |xargs docker rm -f //删除docker下的所有程序

将容器打包成镜像并导入导出:

[root@localhost ~]# docker commit -a "yanqi" -m "centos7-ssh" 6cbc9ebfbc5f > centos7-ssh:zabbix-agent //将容器打包成镜像[root@localhost ~]# docker save > centos7-ssh.tar centos7-ssh:zabbix-agent //从容器导出镜像[root@localhost ~]# docker import centos7-ssh.tar centos7-ssh1:zabbix-agent //导入镜像[root@localhost ~]# cat centos7-ssh.tar | docker import - centos7-ssh2:zabbix-agent //导入镜像

END





声明:JavaBBS论坛主要用于IT技术专题的交流学习,为开源技术爱好者提供广泛、权威的技术资料。若您在技术专题有更好的想法或者建议,欢迎交流!!!



NO.A.0005.zabbix_lnmp+zabbix.agent.编译安装/批量监控和100台设备/自动发现

NO.A.0005.zabbix_lnmp+zabbix.agent.编译安装/批量监控和100台设备/自动发现

NO.A.0005.zabbix_lnmp+zabbix.agent.编译安装/批量监控和100台设备/自动发现

NO.A.0005.zabbix_lnmp+zabbix.agent.编译安装/批量监控和100台设备/自动发现

推荐阅读

Recommended reading

NO.A.0005.zabbix_lnmp+zabbix.agent.编译安装/批量监控和100台设备/自动发现

  JavaBBSGit   

  JavaBBS大数据/dsj

  JavaBBS云存储/ycc

  JavaBBS数据库/sjk

  JavaBBS云计算/yjs

  JavaBBSIT.Log

  JavaBBSNginx/ngx

  JavaBBSzabbix/zbx

  JavaBBSJavaSE/jse
  JavaBBS社区文章/bwz

  JavaBBS社区资料/bzl