搭建Zabbix监控系统

简介

        在企业网络运维过程中,管理员必须随时关注各服务器和网络的运行状况,以便及时发现问题.尽可能减少故障的发生。当网络中的设备,服务器等数量较多时,为了更加方便、快捷地获得各种监控信息,通常会借助于一些集中监测软件。

一、Zabbix概述

        Zabbix 是一个基于Web界面的企业级开源监控套件,提供分布式系统监控与网络监视功能。具备主机的性能监控,网络设备性能监控,数据库性能监控,多种告警方式,详细报表、图表的绘制等功能。监测的对象可以是Linux或Windows服务器,也可以是路由器、交换机等网络设备,通过SNMP(Simple Network Management Protocol,简单网络管理协议)、Zabbix Agent、PING,端口监视等方法提
        供对远程网络服务器等监控,数据收集等功能,并提供通知机制使系统管理员可以快速定位、解决系统中存在的各种问题。目前,Zabbix最新版本为Zabbix 3.4,官方网站是http://www.zabbix.com。Zabbix 是免费的。Zabbix 遵循GPL(General Public License,通用公共许可证)版本2,这意味着它的源代码是可以自由分布的。Zabbix的商业版本是由Zabbix公司提供支持的。世界上很多大小不同的组织机构都依赖于Zabbix作为自己的一个主要的监控平台。尤其是现在很多互联网企业都在使用它。

1.zabbix重要组件

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

  • Zabbix Server:负责接收Agent发送报告信息的核心组件,所有的配置,数据统计、数据操作都由它组织进行。
  • Database storage:负责存储所有的配置信息以及收集的数据。
  • Web interface:是zabbix的GUI接口,通常情况下与Zabbix Server运行在同一台主机上。
  • Pxory:属于可选组件,常用于分布式监控环境中,代理Server收集部分数据,然后转发到Server,可以减轻Server的压力。
  • Agent:部署在被监控的主机(客户端)上,负责收集被监控端主机的数据,如CPU、内存、数据库等数据,然后发送到Server 端或Proxy端。
2.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_proxy、zabbix_java_gateway 的数据最终都是提交到server。数据并不都是主动提交给zabbix_server的,也有被动提交数据的,即server主动去获取数据。
  • zabbix_proxy:zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,需要把收集到的数据主动(或被动)地提交到server上。
  • zabbix_java_gateway:在zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会提交到server或者proxy。
3.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-proxy-client 架构

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

二、YUM安装Zabbix

        Zabbix 提供两种安装方式:YUM安装与编译安装。需要注意的是,由于CentOS官方YUM源中并不提供Zabbix软件包以及相关依赖包,因此,如果想用YUM安装Zabbix需要通过Zabbix官方源或第三方的YUM源实现。本节中我们通过YUM安装的方式学习Zabbix的安装及配置。
        Zabbix服务器需要LAMP环境或者LNMP环境,本例以YUM安装的LAMP环境为例,演示Zabbix监控服务器的部署方法。

实验环境

虚拟机2台centos7.9、网卡NAT模式数量 1、组件包 zabbix依赖包

设备

IP

备注

Centos01

192.168.19.10

Zabbix

Centos02

192.168.19.20

http yum 仓库

1.搭建zabbix yum仓库

安装httpd服务

[root@love ~]# yum -y install httpd

安装createrepo工具,生成yum源信息文件repo(把zabbix源放在html下)

[root@love ~]# yum -y install createrepo
[root@love ~]# cd /var/www/html/
[root@love html]# cd zabbix/
[root@love zabbix]# createrepo ./
[root@love zabbix]# systemctl start httpd
2.部署zabbix系统
配置yum源
[root@love ~]# vim /etc/yum.repos.d/local.repo
[zabbix]
name=Zabbix
baseurl=http://192.168.160.52/zabbix
enabled=1
gpgcheck=0[DVD]
name=Centos7.9
baseurl=file:///mnt
enabled=1
gpgcheck=0

安装zabbix

[root@love ~]# yum -y install httpd vim net-tools
[root@love ~]# yum -y install mariadb mariadb-server zabbix-server-mysql zabbix-zgent zabbix-web
[root@love ~]# systemctl start mariadb

创建zabbix连接用户

[root@love ~]# mysql -u root
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'abc-123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye

修改配置文件

Zabbix主配置文件
[root@love ~]# vim /etc/zabbix/zabbix_server.conf
DBPassword=abc-123

http加载初始化配置文件

[root@love ~]# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/shanghai     取消注释 修改时区为 亚洲/上海

启动服务

[root@love ~]# systemctl enable httpd zabbix-server --now

进入网站配置页面

http://192.168.19.10/zabbix

用户:Admin

密码:zabbix

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/724831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【力扣经典面试题】12. 整数转罗马数字

一、题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M …

深入理解 C# 中的 Task:异步编程的利器

深入理解 C# 中的 Task:异步编程的利器 前言一、Task 的基本概念什么是 Task?为什么要使用 Task? Task 的使用方法创建 Task等待 Task 完成Task 返回结果 Task 的进阶用法Task 异常处理Task 同步执行Task 并发限制 Task 的实际应用场景并行计…

FISCO BCOS区块链平台上的智能合约压力测试指南

引言 在当今的分布式系统中,区块链技术因其去中心化、安全性和透明性而备受关注。随着区块链应用的不断扩展,对其性能和稳定性的要求也越来越高。因此,对区块链网络进行压力测试显得尤为重要。 目录 引言 1. 配置FISCO BCOS节点 2. 安装和…

Windows安装MySQL详细教程

1.1 下载MySQL压缩包 官网下载链接[点击跳转] 按图中选择,然后点击【Download】 点击图中箭头所指方向直接下载 1.2 解压下载好的压缩包后找到【bin】文件夹,并记下文件路径(下文将以路径 D:\mysql-8.0.36-winx64\bin 为例) 1.…

【Python】成功解决TypeError: ‘int‘ object is not iterable

【Python】成功解决TypeError: ‘int’ object is not iterable 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到…

SmartX 携手 openGauss 社区发布联合方案评测与性能最佳实践 | 附优化方法与测试数据

近日,北京志凌海纳科技有限公司(以下简称 “SmartX”)携手 openGauss 社区完成了 openGauss 数据库基于 SmartX 超融合平台(SMTX OS)和 SmartX 分布式存储平台(SMTX ZBS)的性能测试和调优。 结…

Python-sklearn-LinearRegression

目录 1 手动实现/使用sklearn实现线性回归训练 1.1 单特征线性回归(One Feature) 1.2 多特征线性回归(Multiple Features) 1.3 多项式线性回归(Polynomial) 1 手动实现/使用sklearn实现线性回归训练 1…

numpyNaN

numpyNaN nan(NAN,Nan):not a number表示不是一个数字 什么时候numpy中会出现nan: 当我们读取本地的文件为float的时候,如果有缺失,就会出现nan当做了一个不合适的计算的时候(比如无穷大(inf)减去无穷大) inf(-inf,inf):infinity,inf表示…

JavaScript-1 (forEach方法)

--输出语句 document.write(文档输出内容) alert(警告对话框) console.log(控制台打印) --输入语句 prompt(请输入姓名:) JavaScript的书写位置 1.内联JavaScript <button onclick"alert(hello world!)">点击我</button> <button> 标签: …

flowable的java class task,也叫服务任务

源码地址12级程序猿-新年正当红/flowable-ui和服务任务 启动flowable-ui-app 浏览器输入下面的地址 http://localhost:8080/flowable-ui/#/ 在服务任务这里设置java类的路径 com.dmg.flowabledemo.task.MyServiceTask 当请假任务完成之后&#xff0c;自动触发这个服务任务…

Android开发社招面试总结,Android程序员面试必备的知识点

导语 学历永远是横在我们进人大厂的一道门槛&#xff0c;好像无论怎么努力&#xff0c;总能被那些985,211 按在地上摩擦&#xff01; 不仅要被“他们”看不起&#xff0c;在HR挑选简历&#xff0c;学历这块就直接被刷下去了&#xff0c;连证明自己的机会也没有&#xff0c;学…

synchronized 五连问

什么是synchronized? synchronized 是Java中用于实现线程同步的关键字&#xff0c;它可以确保多个线程在访问共享资源时不会发生冲突。 synchronized 关键字的一些主要用法? 修饰方法&#xff1a;当 synchronized 用于修饰方法时&#xff0c;它会将该方法变成同步方法&#…

关于Java并发多线程的一点思考

写在开头 在过去的2023年双11活动中&#xff0c;天猫的累计访问人次达到了8亿&#xff0c;京东超60个品牌销售破10亿&#xff0c;直播观看人数3.0亿人次&#xff0c;订单支付频率1分钟之内可达百万级峰值&#xff0c;这样的瞬间高并发活动&#xff0c;给服务端带来的冲击可想而…

什么职业适合报考CISP证书

CISP认证是当前中国信息安全行业中最主流、最专业的证书之一&#xff0c;具有很高的含金量。 那么&#xff0c;CISP认证的含金量高吗?哪些职位需要获得CISP证书?作为国家认证证书&#xff0c;CISP认证&#xff0c;当然&#xff0c;含金量&#xff0c;到底是多么高的含金量&a…

HplusAdmin ASP.NET基本权限管理系统

HplusAdmin 介绍 一套ASP.NET WebForm(不用控件) hplusasp.netsqlserver 基本权限管理系统 http://hplus.baocaige.top 暂不开源&#xff0c;需要的滴滴或者留下邮箱&#xff01;&#xff01;&#xff01; 账号 普通账号 账号&#xff1a;user 密码&#xff1a;Aa123456普…

运维随录实战(10)之上传Maven私服

1,通过第三方仓库(sonatype ossrh)上传,首先在官网注册账号: Loading... 2,新建issue 3,按照评论要求进行代码建立等 4,安装gpg,地址:Gpg4win - Download Gpg4win 相关命令: gpg --version 查看版本(是否安装成功) gpg --gen-key 生成公钥 gpg --keyserver hk…

swagger在java中的基本使用

自动生成接口文档&#xff0c;和在线接口测试的框架。 导入依赖 <!-- knife4j对swagger进行一个封装--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><versi…

UE Snap01

获取指定文件目录下的所有文件 TArray<FString> LoadFilesPathFromDir(const FString& DirPath) {IFileManager& FileManager IFileManager::Get();TArray<FString> FilesPath;if (FileManager.DirectoryExists(*DirPath)){FileManager.FindFiles(FilesP…

阻塞队列、生产者消费者模型、阻塞队列的模拟实现等干货

文章目录 &#x1f490;生产者消费者模型&#x1f490;模拟实现阻塞队列&#x1f4a1;注意点一&#x1f4a1;注意点二 阻塞队列是一种“特殊”的数据结构&#xff0c;但是也遵循队列的“先进先出”特性&#xff0c;它的特殊在于&#xff1a; 阻塞队列的两个特性&#xff1a; 1…

【C++入门】引用

目录 6.引用 6.1引用概念 6.2引用的写法 6.3引用的特性 6.4常引用 6.5引用的使用场景 6.5.1引用做参数 6.5.2引用做返回值❗❗ &#x1f387;值做返回值 &#x1f387;引用做返回值 &#x1f387;引用在顺序表做返回值 6.5.3传值、传引用效率比较(参数&#xff0…