Centos7部署Zabbix监控平台———监控网络设备,Linux主机、Windows主机

一、Zabbix 简述

Zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级开源解决方案。
Zabbix 官方网站为:http://www.zabbix.com

  • Agent端:主机通过安装 agent 方式采集数据。
  • Server端:通过收集 agent 发送的数据,写入数据库(MySQL,Oracle等),再通过 PHP + Apache 在 Web 前端展示。

1.监控功能

  • 主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细的报表图表绘制。
  • 监控主机 Zabbix 有专用的 agent,可以监控 Linux,Windows,FreeBSD等。
  • 监控网络设备 Zabbix 通过 SNMP协议,ssh(不多用)。

1)监控对象

  • 设备:服务器,路由器、交换机
  • 软件:OS,网络,应用程序

2)主机性能指标监控

故障监控:down 机,服务不可用,主机不可达

2.Zabbix 工作原理

一个监控系统运行的大概的流程是这样的:
Zabbix agent 需要安装到被监控的主机上,它负责定期收集各项数据,并发送到 Zabbix server 端,Zabbix server 将数据存储到数据库中,Zabbix web 根据数据在前端进行展现和绘图。这里 agent 收集数据分为主动和被动两种模式:

  • 主动:agent 请求 server 获取主动的监控项列表,并主动将监控项内需要检测的数据提交给 server/proxy。
  • 被动:server 向 agent 请求获取监控项的数据,agent 返回数据。

3.Zabbix 重要组件

Zabbix 主要由以下几个重要组件构成,具体作用如下:

  • Zabbix Server:负责接收 Agent 发送的报告信息的核心组件,所有配置、数据统计、数据操作都是由它组织进行。
  • Database storage:负责存储所有的配置信息以及收集的数据。
  • Web interface :是 Zabbix 的 GUI 接口,通常情况下于 Zabbix Server 运行在同一台主机上。
  • Pxory :属于可选组件,常用于分布式监控环境中,代理 Server 收集部分数据,然后转发到 Server,可以减轻 Server 的压力。
  • Agent:部署在被监控的主机(客户端)上,负责收集被监控端主机的数据,如 CPU、内存、数据库等数据,然后发送到 Server 端或 Pxory 端。

4.Zabbix 进程

默认情况下 Zabbix 包含五个程序:Zabbix_agentd、Zabbix_get、Zabbix_sender、Zabbix_server、Zabbix_proxy,另外有个 Zabbix_java_gateway 是可选的,需要另外安装。具体作用如下:

  • Zabbix_agentd:客户端守护进程,此进程用于收集被监控端的数据,如 CPU 负载、内存、硬盘使用情况等。
  • Zabbix_get:Zabbix 工具是单独使用的命令。Zabbix_get 是在 server 或这 proxy 端执行获取远程远程客户端信息的命令,主要用于排错。例如:在 server 端获取不到客户端的内存数据时,我们可以使用 Zabbix_get 获取客户端的内容的方式来做故障排查。
  • Zabbix_sender:用于发送数据给 server 或者 proxy,通常用于耗时币教程的检查。很多检查非长耗时间,导致 Zabbix 超时。于是我们在脚本执行完毕之后,可以使用 sender 主动提交数据。
  • Zabbix_server:Zabbix 服务端守护进程。Zabbix_agentd、Zabbix_get、Zabbix_sender、Zabbix_server、Zabbix_proxy、Zabbix_java_gateway 的数据最终都是提交到 server。数据并不是都主动提交给 Zabbix_server 的,也有被动提交数据的,即 server 主动去获取数据。
  • Zabbix_proxy:Zabbix 代理守护进程。功能类似 server,唯一不同的是它只是一个中转站,需要把收集到的数据主动(或被动)地提交到 server 上。
  • Zabbix_java_gateway:在 Zabbix 2.0 之后引入的一个功能。顾名思义:Java 网关,类似 agentd,但是只用于 Java方面。需要特别注意的是,它只能主动获取数据,而不能被动获取数据。它的数据最终会提交到 server 或者 proxy。

5.Zabbix 监控环境中基本概念

  1. 主机(host):要监控的网络设备,可由 IP 或 DNS 名称指定。
  2. 主机组(host group):主机的逻辑容器,可以包含主机和模板,但同一个组织内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用。
  3. 监控项(item):一个特定监控指标的相关的数据;这些数据来自于被监控对象;item 是 Zabbix 进行数据收集的核心,相对某个监控对象,每个 item 都由 “key” 标识。
  4. 触发器(trigger):一个表达式,用于评估某监控对象的特定 item 内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK"。
  5. 事件(event):触发一个值得关注得事情,比如触发器状态转变,新的 agent 或重新上线的 agent 的自动注册等。
  6. 动作(action):指对于特定事件事先定义的处理方法,如发送通知,何时执行操作。
  7. 报警升级(escalation):发送警报或者执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等。
  8. 媒介(media):发送通知的手段或者通道,如Email、Jabber或者SMS等。
  9. 通知(notification):通过选定的媒介向用户发送的有关某事件的信息。
  10. 远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下时自动执行。
  11. 模板(template):用于快速定义被监控主机的预设条目集合, 通常包含了 item、trigger、graph、screen、application 以及 low-level discovery rule;模板可以直接链接至某个主机。
  12. 应用(application):一组 item 的集合。
  13. web场景(web scennario):用于检测 web 站点可用性的一个或多个 HTTP 请求。
  14. 前端(frontend):Zabbix 的 web 接口。

6.Zabbix 监控架构

在实际生产坏境中,Zabbix 根据网络环境、监控规模等外界因素分为三种架构:server-client(直接连接)、master-node-client(Node 架构)、server-proxy-client(Proxy 架构),如图:
在这里插入图片描述

1)server-client 架构

server-client 架构是 Zabbix 最简单的架构,监控机和被监控机之间不经过任何代理,直接在 Zabbix server 和 Zabbix agentd 之间进行数据交互,适用于网络比较简单,设备比较少的监控环境。

2)master-node-client 架构

master-node-client 架构是 Zabbix 最复杂的架构,适用于跨网络、跨机房、设备较多的大型环境。每个 node 同时也是一个 server 端,node 下面可以接 proxy,也可以直接 接 client。node 有自己的配置文件和数据库,其要做的是将配置信息和监控数据向 master 同步。当 master 发生故障或损坏, node 可以保证架构的完整性。

3)server-prxoy-client 架构

proxy 是 server、client 之间沟通的桥梁,proxy 本身没有前端,而且其本身并不存放数据,只是将 agentd 发来的数据暂时存放,而后再提交给 server。该架构经常是和 master-node-client 架构做比较的架构,一般适用于跨机房、跨网络的中型网络架构的监控。

二、部署 Zabbix 监控平台

1.准备工作

主机 操作系统 网卡 IP地址
Zabbix Centos7 桥接,VM2 dhcp,192.168.100.110
被监控端1(Centos7) Centos7 VM2 192.168.100.120
被监控端2(Win7) Win7 VM2 192.168.100.130

在这里插入图片描述

[root@localhost ~]# rpm -q wget
wget-1.14-18.el7_6.1.x86_64
[root@localhost ~]# wget https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
[root@localhost ~]# ls
[root@localhost ~]# rpm -ivh zabbix-release-4.4-1.el7.noarch.rpm
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls

在这里插入图片描述

2.修改 Zabbix 的 yum 源

[root@localhost yum.repos.d]# vim zabbix.repo
将文件所有的:
baseurl=http://repo.zabbix.com/zabbix/4.4/rhel/7/$basearch/
改为:
baseurl=http://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.4/rhel/7/$basearch/

在这里插入图片描述

3.安装 Zabbix 监控软件

[root@localhost ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent     

4.安装 Mariadb 数据库

  • Zabbix web需要数据库。在 mariadb 中创建数据库zabbix,授权用户zabbix管理,增强安全性。
[root@localhost ~]# cat <<END> /etc/yum.repos.d/aaa.repo
[aaa]
name=aaa
baseurl=file:///mnt
enable=1
gpgcheck=0
END
[root@localhost ~]# mv /etc/yum.repos.d/CentOS-* /root/
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# yum -y install mariadb-server mariadb

在这里插入图片描述

[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# systemctl enable mariadb
[root@localhost ~]# mysqladmin -u root password '123'
[root@localhost ~]# mysql -u root -p123
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123123';
MariaDB [(none)]> exit
导入数据库脚本:
[root@localhost ~]# zcat /usr/share/doc/zabbix-server-mysql-4.4.10/create.sql.gz | mysql -uzabbix -p123123 zabbix       

在这里插入图片描述

5.编辑 Zabbix 主配置文件

指定数据库名称、用户、密码

[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
根据行号改为如下:
91 DBHost=localhost
100 DBName=zabbix
116 DBUser=zabbix
124 DBPassword=123123

启动server、agent、httpd

启动server、agent、httpd:
[root@localhost ~]# systemctl start zabbix-server
[root@localhost ~]# systemctl enable zabbix-server
[root@localhost ~]# systemctl start zabbix-agent
[root@localhost ~]# systemctl enable zabbix-agent
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
[root@localhost ~]# netstat -anpt | grep zabbix

在这里插入图片描述

6.安装 Zabbix web 接口

1)编辑apache服务针对zabbix的前端配置为/etc/httpd/conf.d/zabbix.conf 设置时区与当前系统时区一致

[root@localhost ~]# vim /etc/httpd/conf.d/zabbix.conf
将原来的第19行删掉:
19          php_value date.timezone Asia/Shanghai
[root@localhost ~]# systemctl restart httpd			#重启httpd服务

2)浏览器 http://192.168.100.110/zabbix
访问两个网卡的任意一个地址都可以
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
后两步依次点击Next step即可
在这里插入图片描述

7.Zabbix web平台基本配置

1)修改初始密码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、部署被监控端

1.监控路由器

使用SNMP协议来做监控,需要在路由器上做配置
在这里插入图片描述

1)在被监控路由器上操作

R1#conf t
R1(config)#int f0/0
R1(config-if)#ip add 192.168.100.200 255.255.255.0
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#snmp-server community 123456 ro			   #设置被服务器轮询的只读共同体
R1(config)#snmp-server host 192.168.100.110 123456	   #设置发送 trap 消息的共同体

2)通过 Zabbix web 管理界面来对路由器进行监控

  1. 配置—主机群组—创建主机群组—组名:网络设备—添加

在这里插入图片描述

  1. 配置—主机—创建主机

在这里插入图片描述

  1. 添加主机

在这里插入图片描述

  1. 模板–选择—Template Module Generic SNMPv1–选择(链接指示器)

在这里插入图片描述

  1. 宏—继承以及主机宏–{$SNMP_COMMUNITY} 更改值 public 为123456

在这里插入图片描述

  1. 验证:主机列表中 switch 为绿色

在这里插入图片描述

  1. 查看图形显示,点击 sw1 的图形

在这里插入图片描述
在这里插入图片描述
进入原来的界面,滑倒最下面,直接点击 那个大的 "添加"

  1. 查看数据

在这里插入图片描述

2.添加并监控 linux 主机

zabbix-agent 软件包从下面链接下载:
https://pan.baidu.com/s/1UcUsbJ9JVKqoO-1HTBZFPQ
提取码:miqw

1)被监控机配置

[root@localhost ~]# rz
[root@localhost ~]# rpm -ivh zabbix-agent-3.2.6-1.el7.x86_64.rpm
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
根据行号做以下修改:
95 Server=192.168.100.110
136 ServerActive=192.168.100.110
147 Hostname=linux-Client
[root@localhost ~]# systemctl start zabbix-agent
[root@localhost ~]# systemctl enable zabbix-agent

2)通过 Zabbix web管理界面来对 Linux 主机进行监控

  1. 上面的 “配置” 然后 “主机” ,创建主机,左边的群组记得选 “所有” ,点击 “创建主机”

在这里插入图片描述

  1. 点击"模板"界面,链接指示器,选择如下的模板

在这里插入图片描述

  1. 不用配置 “宏”、“配置”、“图形”,因为 Linux 的主机默认已经有,直接查看即可,如下:

在这里插入图片描述

3.添加并监控 Win7 主机

  1. 在C盘创建一个名为zabbix的文件夹
  2. 把相关软件64位的客户端程序和 conf 文件复制到 zabbix

zabbix-agent 软件包从下面链接下载:
https://pan.baidu.com/s/1IolJ7HKOxD0YtPVGfiZ0IA
提取码:03wn

1)Win7 主机上安装 Zabbix-agent

在这里插入图片描述

2)修改配置文件zabbix_agentd.win.conf

在这里插入图片描述

修改成如下,这些默认就有找到修改即可:
Server=192.168.100.130
ServerActive=192.168.100.130
Hostname=win-c

3)使用 cmd 命令来进行安装

  • -c 指定配置文件
  • -i 安装
  • -s 启用
  • -x 停止
  • -d 卸载

打开cmd命令行

进入zabbix目录:
c:\Users\Administrator> cd c:\zabbix
安装agent:
c:\zabbix> zabbix_agentd.exe -c zabbix_agentd.win.conf -i
指定agent配置文件并启动:
c:\zabbix> zabbix_agentd.exe -c zabbix_agentd.win.conf -s
查看agent服务端口10050是否开放:
c:\zabbix> netstat -a

在这里插入图片描述

4)通过Zabbix web管理界面来对 Win7 主机进行监控

  1. 先创建一个群组

在这里插入图片描述

  1. 创建主机

在这里插入图片描述

  1. 选择模块

在这里插入图片描述

  1. 查看和之前的步骤也是一样

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46902396/article/details/109060056