Zabbix分布式监控系统从理论到实践

简介: Zabbix分布式监控系统从理论到实践

Zabbix分布式监控系统从理论到实践

Zabbix介绍

Zabbix是一个企业级的分布式开源监控方案。Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何实践配置基于邮件的告警。这烟花可以快速反馈服务器的问题,基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。

Zabbix是一个高度集成的网络监控解决方案,一个简单的安装包中提供多样性的功能。


Zabbix结构

Zabbix由几个主要的软件组件构成,这些组件的功能如下。


1、Server

Zabbix server 是监控代理程序报告系统可用性、系统完整性和统计信息的核心组件。Zabbix Server是所有配置信息、统计信息和操作数据的核心存储器。


2、数据库存储

所有配置信息和Zabbix收集到的数据都被存储在数据库中。


3、Web界面

为了在任何地方和任何平台都能够轻松访问Zabbix,Zabbix提供了基于Web的界面。该界面是Zabbix Server的一部分,通常跟Zabbix Server运行在同一台物理服务器上。

如果使用SQLite,Zabbix Web界面必须要跟Zabbix Server运行在同一台物理服务器上。


4、Proxy代理服务器

Zabbix Proxy可以替Zabbix Server收集性能和可用性数据。proxy代理服务器是Zabbix软件可选择部署的一部分。Proxy代理服务器可以帮助单台Zabbix Server分担负载压力。


5、Agent监控代理

Zabbix Agents监控代理部署在监控目标上,能够主动监控本地资源和应用程序,并将收集到色数据报告给Zabbix Server。


Zabbix架构体系

20200621180636916.png

实战案例——Zabbix分布式监控系统

学习目标

了解Zabbix分布式监控系统;

搭建Zabbix分布式监控系统;

使用Zabbix分布式监控系统。

前期准备

1、Zabbix分布式监控系统的节点规划

20200621181554572.png


2、基础准备

登录openstack平台,使用提供的CentOS_7.2_x86_64_XD.QCOW2镜像,flavor使用4vCPU/8GB/100GB硬盘创建云主机。YUM源使用提供的zabbix文件夹。


实施操作

1、基础环境配置

(1)主机名配置(两个节点)

20200621185219177.png

20200621185320373.png

(2)YUM源配置

将提供的CentOS-7-x86_64-DVD-1511.iso镜像和zabbix文件夹上传至zabbix-server节点的/opt目录下。

在zabbix-server节点创建挂载目录

20200621185532663.png

2020062221285362.png

将CentOS-7-x86_64-DVD-1511.iso镜像挂载到/opt/centos目录下

2020062221312873.png

挂载好后,将/etc/yum.repo.d目录下的所有文件移动到/media下。

20200622213301965.png

在/etc/yum.repo.d目录下创建local.repo文件夹,内容如下:

20200622213514796.png

测试YUM源是否安装成功。

20200622213645131.png

至此,Zabbix-server的YUM源配置完成。

在zabbix-server节点上安装vsftpd服务。

执行yum install -y vsftpd命令 进行安装。

2020062221380927.png

接着,修改vsftpd服务的配置文件vsftpd.conf,添加”anon_root=/opt“这行代码,保存退出即可。命令如下:

20200622214045108.png启动vsftpd服务,并设置成开机自启。命令如下。

2020062221421516.png

zabbix-agent节点上,将/etc/yum.repo.d/目录下的所有配置文件移动到/media目录下,在次目录下创建local.repo文件,配置内容如下:

20200622214750605.png

测试zabbix-agent节点上的YUM源配置是否成功。

20200622214841799.png

自此,zabbix-agent节点上的YUM源配置成功。


(3)安装LAMP+Zabbix服务(在zabbix-server节点上执行操作)

安装httpd服务

[root@zabbix-server ~]# yum install -y httpd

20200622215104825.png

安装数据库服务,命令如下

[root@zabbix-server ~]# yum install -y mariadb mariadb-server

20200622215215934.png

安装Zabbix服务,命令如下。

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

20200622215429881.png升级trousers服务,命令如下

[root@zabbix-server ~]# yum install -y trousers

20200622215544802.png

至此,Zabbix服务所需要的软件包已经安装完毕!

2、配置并启动Zabbix服务

(1)启动httpd服务

使用命令启动httpd服务,并设置开机自启动。

20200622220018570.png

(2)启动并配置数据库服务

启动数据库服务,并设置开机自启动

20200622220214982.png

登录数据库,创建zabbix库(中文编码格式),命令如下

20200622220441758.png

授权zabbix用户的访问权限,命令如下。

20200622220705622.png

进入到/usr/share/doc/zabbix-server-mysql-3.4.15/目录下,导入数据库文件,命令如下。

20200622220936736.png

至此,数据库配置完毕。


(3)设置时区

编辑/etc/php.ini文件,设置时区,在[Date]字段下,设置date.timezone-PRC,命令如下。

[root@zabbix-server ~]# vi /etc/php.ini

[Date]

; Defines the default timezone used by the date functions

; http://php.net/date.timezone

date.timezone = PRC


编辑etc/httpd/conf.d/zabbix.conf文件,修改时区,修改php_value date.timezone Europe/Riga 为Asia/Shanghai,命令如下。

[root@zabbix-server ~]# vi /etc/httpd/conf.d/zabbix.conf

20200622221836499.png

修改为:

20200622222105813.png

保存退出,重启httpd服务

20200622222213840.png

(4)修改Zabbix配置文件并启动20200622222839779.png

启动Zabbix服务,命令如下。

20200622222931693.png

查看端口号,验证zabbix-server的服务端口10051是否存在,命令如下:

20200622223144501.png

至此,Zabbix监控服务的server端配置完毕,接下来需要在Web界面操作。


3、使用Zabbix服务

(1)登录界面

使用浏览器访问172.16.51.5/zabbix(注意:因在openstack中172.16.51.5这一IP地址绑定了浮动IP地址192.168.200.6,所以使用192.168.200.6/zabbix进入Web界面即可。),进入Zabbix安装导向,单击”Next step“按钮,进入下一步操作。

20200622223912108.png

20200622224524641.png

检查先决条件,显示PHP版本等内容,然后单击右下角”Next step“按钮,进入下一步操作。

20200622224737951.png填写连接数据库的必要信息,Password为zabbix,具体填写内容如下,填写完毕,单击”Next step“按钮,进行下一步操作。

20200622224938986.png

填写zabbix服务段的详细信息,内容如下所示,Name字段自定义填写,是给监控平台起的名字,填写完成后,单击”Next step“按钮,进行下一步操作。

20200622225219450.png

检查前面的平台配置概况,确定后单击”Next step“按钮。

20200622225249136.png

安装Zabbix,安装成功,界面如下,单击”Finish“按钮,结束安装。

20200622225529211.png

单击”Finish“后,进入登录界面,使用默认的用户名和密码Admin/zabbix进行登录。(注意:用户名首字母大写!!!)

20200622225657388.png

20200622225910664.png

进入Zabbix主页,如图所示。

20200622230052591.png

(2)语言设置

单击右上角的头像按钮,进入设置界面,如图所示

20200622230321555.png

将”Language“一栏修改为”Chinexe(zh CN)“,然后单击”Update“按钮,如图所示。

20200622230557529.png

20200622230530728.png

20200622230737697.png

至此,Zabbix监控界面的中文界面配置完成。

(3)添加被监控机器

在zabbix-agent节点上,安装zabbix-agent服务,命令如下:

[root@zabbix-agent ~]# yum install -y zabbix-agent

20200622230949879.png

修改/etc/zabbix/zabbix_agentd.conf配置文件,配置zabbix-agent没修改结果如下:

[root@zabbix-agent ~]# vi /etc/zabbix/zabbix_agentd.conf

20200622231342526.png

启动zabbix-agent服务,并查看10050端口是否存在,命令及结果如下

20200622231623728.png回到Web界面,选择菜单栏”配置“——>“主机”——>”创建主机“,如图所示。

20200622231816411.png

20200622231905536.png

填写相关信息,将zabbix-agent节点添加到监控机器,具体填写信息如图所示,然后单击下方”添加“按钮。如图所示。

20200622232353914.png

添加完毕后,如图所示。

20200622232435225.png添加监控项,单击”zabbix-agent“名称,然后单击”模板“标签,进行添加模板操作界面,如图所示。

20200622232931716.png

单击”选择“按钮,进行监控模板添加,在跳转界面勾选用户想要监控的复选框,然后单击”选择“按钮,如图所示。

20200622233228911.png

20200622233602641.png

单击”添加“按钮,显示链接的模板,然后单击”更新“按钮,如图所示。

20200622233744401.png

单击”更新“按钮后,zabbix-agent节点被添加到监控中去了,

如图所示。

20200622233809448.png

(4)监控机器

在最上面的选择菜单栏中,”监测中“——>”图形“命令,群组选择”Linux server“,主机选择zabbix-agent,图形选择需要显示的监控项,此处选择的是CPU jumps,如图所示。

20200622234446852.png

20200622234518988.png

相关文章
|
4月前
|
人工智能 安全 应用服务中间件
阿里巴巴 MCP 分布式落地实践:快速转换 HSF 到 MCP server
本文分享了阿里巴巴内部将大规模HSF服务快速转换为MCP Server的实践经验,通过Higress网关实现MCP协议卸载,无需修改代码即可接入MCP生态。文章分析了MCP生态面临的挑战,如协议快速迭代和SDK不稳定性,并详细介绍了操作步骤及组件功能。强调MCP虽非终极解决方案,但作为AI业务工程化的起点具有重要意义。最后总结指出,MCP只是AI原生应用发展的第一步,未来还有更多可能性值得探索。
1031 48
|
4月前
|
Kubernetes 大数据 调度
Airflow vs Argo Workflows:分布式任务调度系统的“华山论剑”
本文对比了Apache Airflow与Argo Workflows两大分布式任务调度系统。两者均支持复杂的DAG任务编排、社区支持及任务调度功能,且具备优秀的用户界面。Airflow以Python为核心语言,适合数据科学家使用,拥有丰富的Operator库和云服务集成能力;而Argo Workflows基于Kubernetes设计,支持YAML和Python双语定义工作流,具备轻量化、高性能并发调度的优势,并通过Kubernetes的RBAC机制实现多用户隔离。在大数据和AI场景中,Airflow擅长结合云厂商服务,Argo则更适配Kubernetes生态下的深度集成。
566 34
|
5天前
|
消息中间件 缓存 监控
中间件架构设计与实践:构建高性能分布式系统的核心基石
摘要 本文系统探讨了中间件技术及其在分布式系统中的核心价值。作者首先定义了中间件作为连接系统组件的"神经网络",强调其在数据传输、系统稳定性和扩展性中的关键作用。随后详细分类了中间件体系,包括通信中间件(如RabbitMQ/Kafka)、数据中间件(如Redis/MyCAT)等类型。文章重点剖析了消息中间件的实现机制,通过Spring Boot代码示例展示了消息生产者的完整实现,涵盖消息ID生成、持久化、批量发送及重试机制等关键技术点。最后,作者指出中间件架构设计对系统性能的决定性影响,
29 1
|
2月前
|
数据采集 缓存 NoSQL
分布式新闻数据采集系统的同步效率优化实战
本文介绍了一个针对高频新闻站点的分布式爬虫系统优化方案。通过引入异步任务机制、本地缓存池、Redis pipeline 批量写入及身份池策略,系统采集效率提升近两倍,数据同步延迟显著降低,实现了分钟级热点追踪能力,为实时舆情监控与分析提供了高效、稳定的数据支持。
分布式新闻数据采集系统的同步效率优化实战
|
4月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
1300 57
|
4月前
|
安全 JavaScript 前端开发
HarmonyOS NEXT~HarmonyOS 语言仓颉:下一代分布式开发语言的技术解析与应用实践
HarmonyOS语言仓颉是华为专为HarmonyOS生态系统设计的新型编程语言,旨在解决分布式环境下的开发挑战。它以“编码创造”为理念,具备分布式原生、高性能与高效率、安全可靠三大核心特性。仓颉语言通过内置分布式能力简化跨设备开发,提供统一的编程模型和开发体验。文章从语言基础、关键特性、开发实践及未来展望四个方面剖析其技术优势,助力开发者掌握这一新兴工具,构建全场景分布式应用。
471 35
|
5月前
|
存储 负载均衡 测试技术
ACK Gateway with Inference Extension:优化多机分布式大模型推理服务实践
本文介绍了如何利用阿里云容器服务ACK推出的ACK Gateway with Inference Extension组件,在Kubernetes环境中为多机分布式部署的LLM推理服务提供智能路由和负载均衡能力。文章以部署和优化QwQ-32B模型为例,详细展示了从环境准备到性能测试的完整实践过程。
|
6月前
|
并行计算 PyTorch 算法框架/工具
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
本文探讨了如何通过技术手段混合使用AMD与NVIDIA GPU集群以支持PyTorch分布式训练。面对CUDA与ROCm框架互操作性不足的问题,文章提出利用UCC和UCX等统一通信框架实现高效数据传输,并在异构Kubernetes集群中部署任务。通过解决轻度与强度异构环境下的挑战,如计算能力不平衡、内存容量差异及通信性能优化,文章展示了如何无需重构代码即可充分利用异构硬件资源。尽管存在RDMA验证不足、通信性能次优等局限性,但该方案为最大化GPU资源利用率、降低供应商锁定提供了可行路径。源代码已公开,供读者参考实践。
464 3
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
|
6月前
|
人工智能 运维 监控
领先AI企业经验谈:探究AI分布式推理网络架构实践
当前,AI行业正处于快速发展的关键时期。继DeepSeek大放异彩之后,又一款备受瞩目的AI智能体产品Manus横空出世。Manus具备独立思考、规划和执行复杂任务的能力,其多智能体架构能够自主调用工具。在GAIA基准测试中,Manus的性能超越了OpenAI同层次的大模型,展现出卓越的技术实力。
|
5月前
|
运维 监控 安全
【案例分享】中国通号卡斯柯公司:ZABBIX如何破解轨道交通监控难题
本文根据2023上海峰会上朱林贤的演讲整理,聚焦中国通号卡斯柯公司如何借助Zabbix实现轨道交通信号系统的智能化管理。作为中外合资企业,卡斯柯通过统一平台整合设备监控,大幅降低成本并提升灵活性,成功应用于国内外项目。文章探讨了传统监控系统的痛点、研发维护经验及国产化与开源技术挑战,为行业转型提供了宝贵启示。未来,开放协作将是推动轨道交通智能化发展的关键。
221 0

热门文章

最新文章

推荐镜像

更多