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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: Zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级开源解决方案。

CentOS7 部署 Zabbix 监控平台



一、Zabbix 简述


    1.监控功能

    2.Zabbix 工作原理

    3.Zabbix 重要组件

    4.Zabbix 进程

    5.Zabbix 监控架构


二、部署 Zabbix 监控平台


    1.安装 Zabbix 监控软件

    2.安装 Mariadb 数据库

    3.编辑 Zabbix 主配置文件

    4.安装 Zabbix Web 接口

    5.Zabbix Web 平台基本配置


三、部署被监控端


    1.监控路由器

    2.添加并监控 Linux 主机

    3.添加并监控 Win7 主机


一、Zabbix 简述



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


1.监控功能


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


1)监控对象


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


2)主机性能指标监控


  • 故障监控:Down 机,服务不可用,主机不可达。


2.Zabbix 工作原理


首先需要在被监控主机上安装 Agent 软件,用来收集各项数据信息,并发送给 Server 端,当 Server 端接收到 Agent 发送过来的信息后,会将数据存储到数据库中,然后通过 Web 界面来将数据在前端进行展示和绘图。


这里 Agent 收集数据分为主动和被动两种模式:


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


3.Zabbix 重要组件


image.png


4.Zabbix 进程


默认情况下 Zabbix 包含五个程序:


  1. Sender:用于发送数据给 Server 或者 Proxy,通常用于耗时比较长的检查;
  2. Get:Zabbix 命令,主要用于排查使用,可以在 Server 端执行来获取远程客户端信息;
  3. Proxy:代理守护进程,相当于是一个中转站,将收集到的数据 主动/被动 的提交到 Server 上;
  4. Agent:客户端守护进程,此进程用于收集被监控端的数据,如:CPU 负载、内存、硬盘使用情况等;
  5. Server:服务端守护进程,用来接收 Agent Get Sender Server Proxy Java_Gateway 提供的数据信息。


5.Zabbix 监控架构


在实际生产坏境中,Zabbix 根据网络环境、监控规模等外界因素分为三种架构:Server-Client(直接连接)、Master-Node-Client(Node 架构)、Server-Proxy-Client(Proxy 架构),如图:

image.png


1)Server-Client 架构


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


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 本身没有前端,而且其本身并不存放数据;
  • 只是用来将 Agent 发送过来的数据暂时存放,然后再提交给 Server。
  • 该架构经常是和 Master-Node-Client 架构做比较的架构,一般适用于跨机房、跨网络的中型网络架构的监控。


二、部署 Zabbix 监控平台



准备工作:


image.png


[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 ~]# rpm -ivh zabbix-release-4.4-1.el7.noarch.rpm
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls


修改 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/


image.png


1.安装 Zabbix 监控软件


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


2.安装 Mariadb 数据库


Zabbix Web 需要数据库。在 Mariadb 中创建 Zabbix 数据库,授权 Zabbix 用户管理,增强安全性。


[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost ~]# yum -y install mariadb-server mariadb


[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# mysqladmin -uroot password '123456'
[root@localhost ~]# mysql -uroot -p123456
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       


3.编辑 Zabbix 主配置文件


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


[root@localhost ~]# systemctl start zabbix-server zabbix-agent httpd
[root@localhost ~]# netstat -anpt | grep zabbix


2)启动 Server、Agent、HTTP 服务


[root@localhost ~]# systemctl start zabbix-server zabbix-agent httpd
[root@localhost ~]# netstat -anpt | grep zabbix


4.安装 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                 # 重启 HTTP 服务


2)使用浏览器访问:http://192.168.100.110/zabbix


image.png


image.png


image.png


image.png


后两步依次点击 Next step 即可


image.png


5.Zabbix Web 平台基本配置


修改初始密码


image.png


image.png


image.png


三、部署被监控端



1.监控路由器


  • 使用 SNMP 协议来做监控,需要在路由器上做配置。


image.png


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.配置 --- 主机群组 --- 创建主机群组 --- 组名:网络设备 --- 添加


image.png


2.配置 --- 主机 --- 创建主机


image.png


3.添加主机


image.png


4.模板 --- 选择 --- Template Module Generic SNMPv1 --- 选择(链接指示器)


image.png


5.宏 --- 继承以及主机宏 --- {$SNMP_COMMUNITY} 更改值 public 为123456


image.png


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


image.png


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


image.png


image.png


进入原来的界面,滑倒最下面,直接点击 那个大的 添加


7.查看数据


image.png


2.添加并监控 Linux 主机



1)被监控机配置


[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



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


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


image.png


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


image.png


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


image.png


3.添加并监控 Win7 主机



1)Win7 主机上安装 Zabbix-Agent


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


image.png


2)修改 Agent 配置文件


修改成如下,这些默认就有找到修改即可:
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


image.png


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


1.先创建一个群组


image.png


2.创建主机


image.png


3.选择模块


image.png


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


image.png


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
46 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
19天前
|
Ubuntu 网络协议 Linux
快速部署WSL(Windows Subsystem for Linux)
WSL提供了一种轻量级的方法,使开发者能够在Windows上无缝运行Linux环境。通过本文介绍的步骤,可以快速安装、配置和使用WSL,以满足开发和测试的需求。
74 8
|
1月前
|
自然语言处理 安全 Java
Nexpose 7.0.1 for Linux & Windows - 漏洞扫描
Nexpose 7.0.1 for Linux & Windows - 漏洞扫描
44 6
|
1月前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
86 4
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
183 8
|
2月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
735 6
|
2月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
121 3
|
2月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
99 2
|
1月前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
65 14
Linux 10 个“who”命令示例