首页 > 其他分享 >运维学习————Zabbix监控框架(1)

运维学习————Zabbix监控框架(1)

时间:2024-09-09 20:24:57浏览次数:13  
标签:运维 zabbix Server Zabbix yum 监控 数据

目录

一、监控

1、概念

2、作用 

3、创建监控框架 

老牌监控框架

 新款王牌监控框架

二、zabbix简介 

1、概述

2、核心功能 

 三、主要组件及运行原理

1、主要组件

Zabbix Server

Zabbix Agent

Zabbix Proxy

Zabbix Web 界面

数据库

其他

2、监控架构原理图 

原理图

​编辑高可用 

四、安装和配置

1、准备工作

 2、安装zabbix下载源

3、安装Zabbix服务器、代理

4、安装Zabbix前端软件包

​编辑 5、安装 Zabbix Web 界面和 Apache 配置的软件包

6、安装zabbix依赖数据库

7、添加数据库用户,以及 zabbix 所需的数据库信息 

8、导入数据库文件,配置密码 

9、配置时区,启动服务 

五、测试及解决中文乱码

1、测试

2、 解决Web页面中文乱码问题

 3、查看自身监控

一、监控

1、概念

运维监控是指对计算机系统运行状态的实时监视和控制,以确保其安全性、稳定性和高效性。

2、作用 

1,对系统不间断实时监控

2,实时反馈系统当前状态

3,保证服务可靠性安全性

4,保证业务持续稳定运行

3、创建监控框架 

老牌监控框架

Cacti

Cacti是一款基于PHP、MySQL开发的网络流量监测图形分析工具。主要监控网络设备,如路由器,交换机。

Nagios

Nagios是一款开源的IT基础设施监控软件,主要功能是监控系统、网络和基础设施的运行状态,提供实时的警报和通知

Smokeping

Smokeping是一款开源的网络监控工具,它主要用于实时监控网络的延迟和丢包率,并通过图形化界面展示监测结果。

Ganglia

Ganglia是一款开源的分布式监控系统,专为各种规模的集群、数据中心和云环境设计。其主要功能包括收集并聚合来自集群中各个节点的数据,在统一的界面中展示这些数据,以实时了解系统的性能和健康状况。大数据监控框架,监控hadoop之类的。

2012年及之前使用,现在几乎已经被淘汰!

 新款王牌监控框架

Open-Falcon

监控Open-Falcon是一款由小米公司开发的开源监控系统,专为大规模分布式系统设计,提供高效、灵活且可扩展的监控解决方案。市场占有率不高。

Prometheus

Prometheus是一款开源的系统监控和警报工具套件,它通过收集指标数据并提供一个强大的查询语言(PromQL)来监控应用程序和系统。主要功能包括实时监控系统健康状态、收集并分析度量数据、支持多种数据存储后端、提供灵活的警报系统以及可视化展示监控数据等。Prometheus能够高效地处理大规模数据集,并广泛用于云计算、容器化环境(如Kubernetes)以及微服务架构中。

Zabbix

监控Zabbix是一款开源的分布式监控系统,主要用于实时监控和管理网络设备、服务器、应用程序等IT资源。

二、zabbix简介 

官网:https://www.zabbix.com/

1、概述

zabbix是基于web界面的开源监控平台,帮助我们实时检查设备的状态,比如服务器、网络设备等。

当设备出现问题时,它会及时通知我们,让我们可以采取措施来解决。

它支持自定义配置和自定义告警,并且可以实现邮件、短信等方式的告警。

2、核心功能 

数据采集‌:Zabbix Agent方式会定期收集设备的各种指标数据,如CPU使用率、内存占用、网络流量等。这些数据会被Zabbix Server主动获取。

触发检测告警‌:Zabbix会根据事先设定的阈值和触发条件对采集到的数据进行检测。如果某个指标超过了阈值或满足了触发条件,Zabbix会触发一个告警,并根据设置的通知方式通知相关人员。

数据存储‌:Zabbix将采集到的数据存储在数据库中。

数据展示‌:Zabbix提供了丰富的可视化功能,可以将采集到的数据转化成各种图表和报表,帮助用户直观地了解设备的运行状态和趋势。

 三、主要组件及运行原理

1、主要组件

Zabbix Server

功能描述
Zabbix Server 是 Zabbix 监控系统的核心组件,负责接收来自客户端(Agent)或其他监控源的监控数据

特点

数据处理中心:负责数据的接收、处理和存储。

告警触发:根据预设规则触发告警,并通过多种方式通知相关人员。

配置管理:管理所有监控配置,包括主机、模板、监控项、触发器等,确保整个监控系统的正常运作

Zabbix Agent

功能描述

Zabbix Agent 是部署在被监控设备上的轻量级软件组件,负责采集被监控设备的各种指标数据(如CPU使用率、内存占用、磁盘空间等)并发送给 Zabbix Server。Zabbix Agent 支持主动模式和被动模式两种数据采集方式,以适应不同的监控需求和网络环境。

特点

数据采集:能够采集丰富的系统指标和应用程序数据。

多种采集模式:支持主动和被动两种数据采集模式。

安全通讯:支持TLS/SSL加密通信,确保数据传输的安全性。

版本说明:

Zabbix Agent 目前有两个版本:Zabbix Agent(C语言开发,支持多种主流平台)和 Zabbix Agent 2(Go语言开发,性能更优,支持更高的并发和易于扩展,目前主要支持Linux和Windows平台)。

Zabbix Proxy

功能描述

Zabbix Proxy 是可选组件,用于在分布式监控环境中代替 Zabbix Server 接收监控数据并进行预处理。Proxy 减少了数据传输的距离和 Server 的处理压力,提高了监控系统的效率和可扩展性。预处理后的数据会批量发送给 Zabbix Server 进行进一步处理。

特点

数据收集与预处理:从下属的 Agents 或其他监控源收集数据并进行预处理。

数据缓存与转发:在本地缓存数据,并周期性或按需将数据转发给 Zabbix Server。

负载均衡与配置同步:多个 Proxy 可以实现负载均衡,并自动从 Zabbix Server 接收配置更新。

Zabbix Web 界面

功能描述

Zabbix Web 界面是 Zabbix 监控系统的图形用户界面(GUI(Graphical User Interface))。

特点

图形化界面:提供直观易用的操作界面。

配置管理:用户可以通过 Web 界面修改监控配置。

监控数据展示:展示实时和历史监控数据,支持多种图表和报表形式。

数据库

功能描述

数据库用于存储被监控设备的配置信息和监控数据。Zabbix 支持多种数据库类型,如 MySQL、Oracle、PostgreSQL、SQLite 等,用户可以根据实际需求选择合适的数据库系统。

特点

数据存储:持久化存储监控数据和配置信息。

高可用性:支持多种数据库系统,确保数据的安全性和可靠性。

性能优化:通过优化数据库配置和查询语句,提高监控系统的整体性能。

其他

Zabbix Agent确实支持主动和被动两种数据采集模式。

这两种模式在数据收集的方式和效率上有所不同,适用于不同的监控场景和需求。

 

被动模式(Passive Mode)

Zabbix Server 消耗自身资源主动的要数据 agent被动的给,站在agent角度,叫被动模式。

工作原理

在被动模式下,Zabbix Agent会监听一个特定的端口(默认是10050),等待Zabbix Server的指令来收集数据。Zabbix Server会周期性地向Agent发送请求,Agent在收到请求后,会收集相应的监控数据并返回给Server。

特点

默认模式:Zabbix默认采用被动模式进行数据收集。

依赖Server:数据收集依赖于Server的指令,Server需要主动向Agent发起请求。

适用于小规模监控:在监控的主机数量不多时,被动模式可以很好地工作。

可能存在的问题:当被监控的主机数量达到一定规模时,Server需要处理大量的请求,可能会导致性能瓶颈。
 

主动模式(Active Mode)

Zabbix Server 不会消耗自身资源主动的要数据 agent主动的把采集的数据给server,站在agent角度,叫主动模式。

工作原理

在主动模式下,Zabbix Agent会主动收集监控数据,并通过TCP协议将数据发送到Zabbix Server的特定端口(默认是10051)。这种方式下,Agent不再等待Server的请求,而是主动将数据推送给Server。

特点

减轻Server压力:由于Agent主动发送数据,可以减轻Zabbix Server的负担,特别是在监控大量主机时。

实时性:数据可以更快地到达Server,提高了监控的实时性。

适用于大规模监控:在监控大量主机时,主动模式可以更有效地利用网络资源,减少延迟。

配置相对复杂:与被动模式相比,主动模式需要更多的配置工作,包括设置Agent的ServerActive参数等

2、监控架构原理图 

原理图

① zabbix agent 部署在监控目标主机上,负责收集系统和服务的各种指标数据,如 CPU 使用率、内存使用情况、网络流量等,并将这些数据发送到 zabbix server

② zabbix server 接收来自 zabbix agent 的数据,并进行数据分析、存储和处理;对接收到的数据进行分析,并在必要时触发告警通知相关用户或用户组

③ zabbix server 将处理后的数据存储在数据库中,以便长期存档和后续分析

④ zabbix web 是用户界面,通过该界面用户可以查看已存储的监控数据、配置监控项、创建报表以及管理告警等

高可用 

四、安装和配置

1、准备工作

#关闭防火墙并设置开机不启动

#查看防火墙状态 
systemctl  status  firewalld
#关闭防火墙
systemctl  stop firewalld
#设置防火墙开机禁用
systemctl disable  firewalld

关闭SELinux

 

vim /etc/sysconfig/selinux

​​​​​​
vim /etc/selinux/config

一定要关闭,要不后面启动zabbix会报权限不足错误!

 2、安装zabbix下载源

#安装yum源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#更换zabbix.repo为阿里源(和官网不同,提高效率)
cat /etc/yum.repos.d/zabbix.repo
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#'  /etc/yum.repos.d/zabbix.repo
cat /etc/yum.repos.d/zabbix.repo
#清空缓存
yum clean all && yum makecache

3、安装Zabbix服务器、代理

yum install zabbix-server-mysql zabbix-agent -y

zabbix-server-mysql:这是Zabbix服务器的MySQL版本的软件包,安装了Zabbix服务器组件,以便Zabbix监控系统能够运行并通过MySQL保存数据。

zabbix-agent: 这是Zabbix代理软件包,安装了Zabbix代理组件,用于在被监控设备上主动提供监控数据给Zabbix服务器

4、安装Zabbix前端软件包

安装SCL(前提)

yum install centos-release-scl -y

安装 SCL(Software Collections),便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4,版本过低,zabbix 5.0 版本对 php 版本最低要 7.2.0 版本。SCL 可以使得在同一台机器上使用多个版本的软件,而又不会影响整个系统的依赖环境。软件包会安装在 /opt/rh 目录下。

编辑/etc/yum.repos.d/zabbix.repo文件并启用zabbix前端存储库:

vim /etc/yum.repos.d/zabbix.repo

 5、安装 Zabbix Web 界面和 Apache 配置的软件包

yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y

zabbix-web-mysql-scl:这个软件包提供了 Zabbix 的 Web 界面部分,并且使用了 MySQL 数据库作为后端存储

zabbix-apache-conf-scl:这个软件包提供了与 Apache 服务器相关的 Zabbix 配置文件,用于与 Apache 服务器协同工作

安装报错解决 

 和前面的错误一样,还是因为 SCL源在2024年6月30日停止维护了。需要更换yum源

备份原来文件:

copy /etc/yum.repos.d/CentOS-SCLo-scl.repo /etc/yum.repos.d/CentOS-SCLo-scl.repo.bak

copy /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo.bak

vim /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo

[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

 再次安装成功,成功!!!

6、安装zabbix依赖数据库

安装 MariaDB 数据库服务器及其相关组件:

yum install -y mariadb-server mariadb

MariaDB是一个开源的关系型数据库管理系统(RDBMS),它是MySQL的一个分支,由MySQL的原始开发者之一Michael Widenius领导的团队创建。MariaDB旨在保持向后兼容性,并提供一个替代MySQL的选择,尤其是在Oracle收购Sun Microsystems(MySQL的母公司)之后,为了应对可能的闭源化和商业策略变化,开源社区开始寻求独立的解决方案。

启用并立即启动MariaDB数据库服务器:

systemctl enable --now mariadb

初始化数据库,并设置密码:

mysql_secure_installation

原始密码是空,直接回车 (我这是设置密码为:123456)

7、添加数据库用户,以及 zabbix 所需的数据库信息 

mysql -uroot -p123456     回车

#新建数据库zabbix 新建用户zabbix密码zabbix 把zabbix数据库中的表的所有权限都给zabbix用户

create database zabbix character set utf8 collate utf8_bin;

show databases;

select user,host from mysql.user;

create user zabbix@localhost identified by 'zabbix';

select user,host from mysql.user;

grant all privileges on zabbix.* to zabbix@localhost;

flush privileges;

quit;

8、导入数据库文件,配置密码 

查看sql文件位置:

rpm -ql zabbix-server-mysql


 

mysql -uroot -p123456

show databases;

use zabbix;

show tables;

没有任何表



 

导入:

将 Zabbix 监控系统所需的数据库结构导入到名为 zabbix 的数据库中

zcat /usr/share/doc/zabbix-server-mysql-5.0.43/create.sql.gz| mysql -uzabbix -pzabbix zabbix

然后重复上面的操作,登录数据库,查看即可

配置密码
vim /etc/zabbix/zabbix_server.conf 

注意:配置的密码一定是创建的用户和密码对应

9、配置时区,启动服务 

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf


 

启动服务:

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm

设置开机自动启动:

systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

rh-php72-php-fpm:这是PHP-FPM(FastCGI Process Manager)的服务名称。在这个特定的情景中,rh-php72-php-fpm表示Red Hat 软件集合(Software Collections Library)中包含的 PHP 版本 7.2 的 PHP-FPM 服务

五、测试及解决中文乱码

1、测试

浏览器输入:http://192.168.37.191/zabbix   回车


确认信息:


登录(用户名是Admin(大写A),密码是zabbix ):

切换中文:


 

如果出现错误,请查看日志:

cat /var/log/zabbix/zabbix_server.log

tail -F /var/log/zabbix/zabbix_server.log

2、 解决Web页面中文乱码问题

#我暂时没出现中文乱码

yum install -y wqy-microhei-fonts

wqy-microhei-fonts 是一种中文字体包。这种字体在Linux系统中广泛使用,特别是对于那些需要显示中文内容的场景。

cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

-f =force 强制覆盖原来文件 选择是

重启zabbix-server:

service zabbix-server restart

 3、查看自身监控

标签:运维,zabbix,Server,Zabbix,yum,监控,数据
From: https://blog.csdn.net/m0_73376570/article/details/142041693

相关文章

  • 基于STM32的智能宿舍安全管理系统:集成电流监测、烟雾探测与无线通信技术,实现高效用电
    一、项目概述随着校园生活的日益便利,宿舍用电管理成为了一个重要的课题。本项目旨在开发一个宿舍用电管理系统,通过STM32单片机实现对宿舍用电功率的监管,实时监测用电量,并计算费用。系统还具备远程控制功能,可以对每个宿舍的用电进行管理,包括开关控制、统一断电等。此外,系统......
  • 安防监控视频平台LntonAIServer视频分析平台对比度检测优势
    LntonAIServer视频质量诊断功能中的对比度检测是一个用于评估和确保视频图像质量的重要工具。对比度是图像各部分之间的差异程度,对于视频内容的清晰度和细节表现至关重要。优势1.提高图像质量-清晰度提升:及时发现并修正对比度过高或过低的问题,确保视频图像的真实性和可靠性。-......
  • Prometheus的拉取模式与zabbix推送模式有何区别?各有什么优缺点?
    Prometheus的拉取模式与Zabbix的推送模式在监控数据收集和处理方式上存在显著区别。以下是它们的主要区别及各自的优缺点:1.数据收集模式Prometheus拉取模式:Prometheus定期从被监控的目标(如Exporter、应用程序等)主动拉取数据。每个目标都需要暴露一个HTTP接口,Prome......
  • Exporter 停止工作,如何监控?
    要监控Exporter的状态并确保它们持续正常工作,可以采取以下几种策略和方法:1.使用Prometheus自身的监控功能自定义指标:在Exporter中定义自定义指标,报告其健康状态。例如,可以添加一个简单的指标来表示Exporter是否正常运行。目标状态监控:利用Prometheus的up指标监控......
  • k8s集群外exporter怎么使用Prometheus监控
    要在Kubernetes集群外部使用Exporter并通过Prometheus监控它,您可以按照以下步骤进行配置:1.部署Exporter首先,确保您已经在Kubernetes集群外部的主机上部署了Exporter(如NodeExporter、BlackboxExporter等)。以下是以NodeExporter为例的安装步骤:#下载并解压Nod......
  • 监控四个黄金指标
    监控四个黄金指标(FourGoldenSignals)是用于评估和监控分布式系统性能和健康状况的关键指标。这四个指标是:1.延迟(Latency)定义:延迟是指系统处理请求所需的时间,通常以毫秒或秒为单位衡量。重要性:高延迟可能导致用户体验下降,影响应用的响应能力。监控方法:监测请求的平均响应......
  • Squeak 语言和员工电脑监控软件的关联分析
    在当今数字化办公的时代,员工电脑监控软件对于企业的管理起着至关重要的作用。它可以帮助企业确保数据安全、提高员工工作效率以及规范员工的工作行为。而Squeak语言,作为一种独特的编程语言,与员工电脑监控软件之间存在着紧密的关联。Squeak语言是一种面向对象、动态类型的编程......
  • Go实现实时文件监控功能
    一、使用库介绍fsnotify是Go语言中的一个库,用于监听文件系统的变更事件。它允许程序注册对文件系统事件的兴趣,并在这些事件发生时接收通知。fsnotify主要用来监控目录下的文件变化,如创建、删除或修改等。使用fsnotify安装fsnotify库。可以通过以下命令来安装:goget-u......
  • 保护隐私小妙招:怎么防止公司监控电脑屏幕?三种傻瓜方法一学就会!你之前的做法可能都白费
    职场中的你或许早已习惯了电脑办公的便捷,但你是否曾留意过,自己的电脑屏幕可能也在不经意间成为了“透明”的?别担心,今天就来教你三招超级简单的“傻瓜式”方法,防止公司监控电脑屏幕!首先,得明确一点:屏蔽像安企神这样的监控软件可不是为了搞破坏或逃避责任,而是为了在保护个人......
  • 隧道视频监控智能分析系统
    隧道视频监控智能分析系统是道路交通方式不可缺少的监管手段,隧道视频监控智能分析系统有效进行交通违法和紧急事件的全自动识别和交通出行流量的全自动数据分析,并依据城市路口、城市道路、高速路、道路、公安机关监控、隧道、公路桥梁、地下停车场等各类实际路面生态环境开展有针......