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

ZABBIX监控平台部署(LAMP+ZABBIX.Agent.make源安装部署)
一、安装客户端
1、Zabbix Server端和Zabbix Agent执行如下代码:
Zabbix监控平台部署,至少需要安装四个组件,分别是Zabbix_Server、Zabbix_Web、Databases、Zabbix_Agent,如下为Zabbix.Agent安装配置详细步骤:
2、部署环境:
Server端      ————>192.168.1.59
Agent端       ————>192.168.1.60
CentOS版本    ————>CentOS 7.6.1810
ZABBIX版本    ————>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/
修改zabbix-agent.conf客户端配置文件,执行如下命令,zabbix_agent.conf内容,指定serverIP,同时设置本地Hostname为本地IP地址或者DNS名称;CPU、内存、负载、网卡、磁盘、IO、应用服务、端口、登录用户。
//5、修改zabbix_agentd.conf文件
[root@localhost etc]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/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 10050
tcp        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 restart
zabbix_agentd [113015]: user zabbix does not exist
zabbix_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.log
113048: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、配置 ——> 主机 ——> 创建主机(图一) ——> 创建监控项(图二)或者导入模板 ——> 检测到数据。
                                                        图一
手动创建太麻烦,我们直接使用模板:绑定主机和模板
配置 ——> 主机 ——> 打开主机 ——> 模板
                                                                        图二
配置zabbix-agent端信息:
检测状态如下:
 
2、批量检测十台主机(我们开启了十台zabbix-docker-client客户端:
自动发现:server端会开启discover进程,去扫描区域网的服务器:
2.1、  配置 ——> 自动发现 ——> Local network(重新定义规则)(图一)                        
                                                                    图一
//修改discover进程:
[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  扫描完需调小一点,毕竟它还是占用我们的资源。
查看扫描的设备:
2.2、检测——> 自动发现列表(展示扫描的机器)
2.3、扫描之后还不会监控,我们需要给一个动作。
配置——> 动作——> 事件源(自动发现)(默认有一个动作是停用的,改为启用)——> 点击进入:Auto discovery. Linux servers
 
2.4、自动发现客户端客户端需要开启ssh服务,并打开22端口。
         设备扫描到,还是不会监控数据,数据传达不到server服务端,需要安装agent来主动推送数据。
 
3、正在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/24@192.168.1.1  //写入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 //导入镜像
 
 
 
 
 
注:docker使用教程为知笔记:Docker安装、操作、及使用教程——V.201101

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                 ——W.S.Landor

 

<wiz_marker id="wiz-painter-root" style="">

 





posted on   yanqi_vip  阅读(95)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示