Linux系统下的zabbix监控平台(单机安装服务)

news2025/1/19 17:14:02

目录

一、zabbix的基本概述

二、zabbix构成

1.server

2.web页面

3.数据库

4.proxy

5.Agent

三、监控对象

四、zabbix的日常术语

1.主机(host)

2.主机组(host group)

3.监控项(item)

4.触发器(trigger)

5.事件(event)

6.动作(action)

7.报警升级(escalation)

8.媒介(media)

9.通知(notification)

10.远程命令(remote command)

11.模板(template)

12.应用(application)

13.web场景 (web scennario)

14.前端(fontend)

五、zabbix的工作流程

1.主动模式

2.被动模式

六、zabbix进程详解

1、zabbix_agentd

2、zabbix_server

3、zabbix_proxy

4、zabbix_get

5、zabbix_senter

6、zabbix_java_gateway

七、zabbix的监控框架

server client架构

master node cient架构

server_proxy client架构

八、单机zabbix源码安装及部署

1、服务端安装

1.1安装zabbix5.0存储库(二进制安装方式)

1.2安装zabbix软件包

1.3安装zabbix前端软件包—zabbix-web

1.4安装数据库

1.5数据库配置

创建存储数据的库,并支持中文

授权连接数据库的用户,并设置密码

数据库授权

查看所有库

进zabbix库并查看

1.6在 zabbix服务器主机上导入初始框架和数据

1.7zabbix服务器配置数据库

1.8为zabbix设置正确的时区

1.9启动服务查看端口

二、启动服务端并查看

 三、客户端配置

1、配置源

2、安装zabbix-agent

3、配置客户端

4、在web页面添加监控主机


一、zabbix的基本概述

                zabbix是一个监控软件,其可以监控各种网络参数,保证企业服务架构安全运营,同时支持灵活的告警机制,可以使得运维人员快速定位故障、解决问题。zabbix支持分布式功能,支持复杂架构下的监控解决方案,也支持web页面,为主机监控提供了良好直观的展现。

二、zabbix构成

1.server

                zabbix server是zabbix的核心组件,server内部存储了所有的配置信息、统计信息和操作信息zabbix agent会向zabbix server报告可用性、完整性及其他统计信息。

2.web页面

                web页面也是zabbix的一部分,通常和zabbix server位于一台物理设备上,但是在特殊情况下也可以分开配置。web页面主要提供了直观的监控信息,以方便运维人员监控管理

3.数据库

                zabbix数据库内存储了配置信息、统计信息等zabbix的相关内容。        

4.proxy

                zabbix proxy可以根据具体生产环境进行采用或者放弃。如果使用了zabbix proxy,则其会替代zabbix server采集数据信息,可以很好的分担zabbix server的负载。zabbix proxy通常运用与架构过大、zabbix server负载过重,或者是企业设备跨机房、跨网段、zabbix server无法与zabbix agent直接通信的场景。

5.Agent

                zabbix agent通常部署在被监控目标上,用于主动监控本地资源和应用程序,并将监控的数据发送给zabbix server。

三、监控对象

                zabbix支持监控各种系统平台,包括Linux和Windows等主流操作系统,也可以借助SNMP或者是SSH协议监控路由交换设备。

                zabbix如果部署在服务器上,可以监控其CPU、内存、网络性能等硬件参数,也可以监控具体的服务或者应用程序、服务运行情况及性能。

硬件监控:Zabbix IPMIInterface,通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压、温度、风扇状态、电源状态等。

系统监控: Zabbix Agent Interface,通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选这种方式。

Java监控: ZabbixJMXInterface,通过JMX进行监控,JMX (iava management extensions,即java管理扩展),监控JVM虚拟机时,使用这种方法是非常不错的选择。

网络设备监控: Zabbix SNMP Interface,通过SNMP协议与被监控对象进行通信,SNMP协议的全称为simple network management protocol,被译为简单网络管理协议,通常来说,我们无法在路由器、交换机这种硬件上安装agent,但是这些硬件都支持SNMP协议。

应用服务监控:Zabbix Agent UserParameter

四、zabbix的日常术语

1.主机(host)

        要监控的设备,可以由IP或者是主机名(必须可解析) 指定

2.主机组(host group)

        主机的逻辑容器,包含主机和模板,主机组通常在给用户或者是用户组指派监控权限时使用

3.监控项(item)

        一个特定监控指标的相关数据,比如内存的大小、CPU的使用率,甚至是服务的运行状态等等。监控项数据来源于被监控对象,并且每个监控项都由一个key来标识。

4.触发器(trigger)

        一个表达式,用于评估监控项的值是否在合理的范围内。当接收的值超出触发器的规定时,就被认为是故障,如果超出后再次符合,就被认为是正常。

5.事件(event)

        触发器触发的一个特定事件,或者是zabbix定义的一个自动上线注册主机的事件。

6.动作(action)

        指根据配置,zabbix对于触发器触发的特定事件进行处理的具体措施,如执行某个脚本,或者是向管理员邮箱发送邮件等等。

7.报警升级(escalation)

        发送警报或者是执行远程命令的自定义方案。

8.媒介(media)

        发送通知(告警)的手段,如微信、邮件、钉钉等等。

9.通知(notification)

        通过指定的媒介,向用户发送的有关事件的信息。

10.远程命令(remote command)

        指运维人员提前写好的命令,可以让被监控主机在触发事件后执行。

11.模板(template)

        用于快速定义被监控主机的预设条目集合,通常包括了监控项、触发器、应用等,模板可以直接链接至某个主机。

12.应用(application)

        一组监控项的集合。

13.web场景 (web scennario)

        用于检测web站点可用性的一个或多个HTTP请求。

14.前端(fontend)

        zabbix的web接口。

五、zabbix的工作流程

                Zabbix在进行监控时,zabbix客户端要安装在被监控设备上,负责定期收集数据,并将其发送给zabbix服务端: zabbix服务端要安装在监控设备上,其将zabbix客户端发送的数据存储的数据库中,zabbix web根据数据在前端进行展示和绘图。

1.主动模式

        zabbix客户端主动向zabbix server请求监控项列表,并主动将监控项内需要的数据提交给zabbix服务

2.被动模式

        zabbix server向 agent 请求获取监控项的数据,zabbix agent返回数据。

六、zabbix进程详解

1、zabbix_agentd

        zabbix-agentd为zabbix客户端守护进程,主要负责收集客户端监控项数据

2、zabbix_server

        zabbix scrver为zabbix服务端守护进程,主要负责收集zabbix客户端数据。 (端口为10051)

3、zabbix_proxy

        zabbix_proxy是zabbix的代理程序,其功能类似于server,作用上类似于一个中转站,最终会把收集的数据再次提交给zabbix server。

4、zabbix_get

        zabbix_get作为zabbix工具,通常运行在zabbix server或者zabbix_proxy上,用于远程获取客户端信息,通常用于排错。

5、zabbix_senter

        zabbix_sender也是zabbix的一个工具,通常运行在zabbix的客户端,用于耗时比较长的检查,其作用是主动发送数据。

6、zabbix_java_gateway

        zabbix_java_gateway是zabbix2.0以后引入的新功能,可以用于JAVA方面的设备;但是只能主动获取数据,而不能被动获取数据。

七、zabbix的监控框架

server client架构

        zabbix最简单的架构,监控设备和被监控设备之间直接相连,zabbix server 和 zabbix client 之间直接进行数据交互。

master node cient架构

        proxy是连接 server 和 client 之间的桥梁,其本身不存放数据,只是将zabbix_agent端发来的数据暂存,然后再提交给server。这种架构一般用于跨机房、跨网络的中型网络架构。在server_proxy_client架中,server设备的宕机会导致整个系统痪而无法正常工作。

server_proxy client架构

        master_node_client架构是zabbix最复杂的架构。一般用于跨机房、跨网络、监控设备较多的大型网络架构。与server_proxy_client架构相比,master node cient架构的主要区别在于node与proxy

八、单机zabbix源码安装及部署

1、服务端安装

1.1安装zabbix5.0存储库(二进制安装方式)

rpm -Uvh https: //repo,zabbix,com/zabbix/5,0/rhel/7/x86 64/zabbix- release-5,0-1,el7.noarch,rpm

1.2安装zabbix软件包

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

1.3安装zabbix前端软件包—zabbix-web

        vim zabbix.repo  

        在/etc/yum.repos.d/zabbix.repo文件中打开zabbix-frontend

        [zabbix-frontend]
        enabled=1

        安装依赖源:yum install -y epel-release centos-release-scl

        安装:yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl 服务

1.4安装数据库

                yum install -y mariadb-server mariadb

1.5数据库配置

创建存储数据的库,并支持中文

授权连接数据库的用户,并设置密码

数据库授权

查看所有库

进zabbix库并查看

1.6在 zabbix服务器主机上导入初始框架和数据

        zcat /usr/share/doc/zabbix- server-mysql-5,0.37 /create,sql.gz mysql

1.7zabbix服务器配置数据库

        vim  /etc/zabbix/zabbix_server.conf

存储监控数据的库名

连接数据库的用户

设置zabbix用户的密码

1.8为zabbix设置正确的时区

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

1.9启动服务查看端口

二、启动服务端并查看

 

 点击左下角

 

 三、客户端配置

1、配置源

rpm -ivh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.24-1.el7.x86_64.rpm

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

2、安装zabbix-agent

        yum install zabbix-agent -y

3、配置客户端

指向服务器地址

启动服务

4、在web页面添加监控主机

配置—主机—添加信息

添加模板

查看

主页查看


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

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

相关文章

docker笔记4:高级复杂安装-mysql主从复制

1.主从搭建步骤 1.1新建主服务器容器实例3307 docker run -p 3307:3306 --name mysql-master \ -v /mydata/mysql-master/log:/var/log/mysql \ -v /mydata/mysql-master/data:/var/lib/mysql \ -v /mydata/mysql-master/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORDroot \ -d…

java八股文面试[多线程]——虚假唤醒

阻塞队列中,如果需要线程挂起操作,判断有无数据的位置采用的是while循环 ,为什么不能换成if 肯定是不能换成if逻辑判断 线程A,线程B,线程E,线程C。 其中ABE生产者,C属于消费者 put阻塞代码&a…

UDP聊天室

1.头文件 /* * 文件名称&#xff1a;UDP.h * 创 建 者&#xff1a;crx * 创建日期&#xff1a;2023年09月3日 * 描 述&#xff1a; */ #ifndef _UDP_H #define _UDP_H#include <stdio.h> #include <sys/types.h> /* See NOTES */ #includ…

Day53|leetcode 1143.最长公共子序列、1035.不相交的线、53. 最大子序和

leetcode 1143.最长公共子序列 题目链接&#xff1a;1143. 最长公共子序列 - 力扣&#xff08;LeetCode&#xff09; 视频链接&#xff1a;动态规划子序列问题经典题目 | LeetCode&#xff1a;1143.最长公共子序列_哔哩哔哩_bilibili 题目概述 给定两个字符串 text1 和 text2&…

【Flutter】Flutter 使用 percent_indicator 实现基于百分比显示进度

【Flutter】Flutter 使用 percent_indicator 实现基于百分比显示进度 文章目录 一、前言二、安装和基本使用三、圆形百分比指示器四、线性百分比指示器五、完整示例六、总结 一、前言 今天我要为你介绍一个非常实用的Flutter包——percent_indicator。这个包允许我们基于百分比…

STM32f103入门(9)编码器接口测速

TIM3 PA6 PA7 上拉输入 原理上也是PWM捕获输入 捕获两个输入 我们用中断处理读取CNT的值 读取完将CNT置0 这样我们就得到了旋转编码器的速度/s 中断配置代码 #include "stm32f10x.h" // Device headervoid Timer_Init(void) {RCC_APB1PeriphClockC…

【Linux-Day9-进程间通信】

进程间通信 前提引入&#xff1a; 我们之前接触过管道 | 将前一个命令的输出结果作为后一个命令的输入 如&#xff1a;ps | grep “sleep” 其实就是将 ps 的结果写入到一个区域&#xff0c;在从这个区域读出目标数据 有名管道 mkfifo 创建管道文件 : mkfifo fifo ->创…

verilator——牛刀小试

verilator——牛刀小试 安装verilator可见&#xff1a;https://blog.csdn.net/qq_40676869/article/details/132648522?spm1001.2014.3001.5501 正文开始 编写一个异或的电路模块如下&#xff1a; top.v module top(input a,input b,output f );assign f a ^ b; endmodul…

[华为云云服务器评测] 华为云耀云服务器 Java、node环境配置

系列文章目录 第一章 [linux实战] 华为云耀云服务器L实例 Java、node环境配置 文章目录 系列文章目录前言一、任务拆解二、修改密码三、配置安全规则四、远程登录并更新apt五、安装、配置JDK环境5.1、安装openjdk,选择8版本5.2、检查jdk配置 六、安装、配置git6.1、安装git6.2…

【从0学习Solidity】合约入门 Hello Web3

【学习Solidity的基础】入门智能合约开发 Hello Web3 &#x1f4f1;不写代码没饭吃上架主页 在强者的眼中&#xff0c;没有最好&#xff0c;只有更好。我们是全栈开发领域的优质创作者&#xff0c;同时也是阿里云专家博主。 ✨ 关注我们的主页&#xff0c;探索全栈开发的无限…

torch.bmm功能解读

bmm 是 batch matrix multiple 的简写&#xff0c;即批量矩阵乘法&#xff0c;矩阵是二维的&#xff0c;加上batch一个维度&#xff0c;因此该函数的输入必须是两个三维的 tensor&#xff0c;三个维度代表的含义分别是&#xff1a;&#xff08;批量&#xff0c;行&#xff0c;列…

递归与递推

会独立敲一遍代码并debug&#xff08;1&#xff0c;3题较难&#xff1b;2&#xff0c;4题较简单&#xff09; 部分题需要买课&#xff0c;可到洛谷或其他OJ找原题 目录 &#x1f4d5;空间复杂度(计算方法) &#x1f33c;1&#xff0c;费解的开关 &#x1f33c;2&#xff0c;…

图神经网络教程之HAN-异构图模型

异构图 包含不同类型节点和链接的异构图 异构图的定义&#xff1a;节点类别数量和边的类别数量加起来大于2就叫异构图。 meta-path元路径的定义&#xff1a;连接两个对象的复合关系&#xff0c;比如&#xff0c;节点类型A和节点类型B&#xff0c;A-B-A和B-A-B都是一种元路径。 …

[C++] STL_list常用接口的模拟实现

文章目录 1、list的介绍与使用1.1 list的介绍1.2 list的使用 2、list迭代器3、list的构造4、list常用接口的实现4.1 list capacity4.2 插入删除、交换、清理4.2.1 insert任意位置插入4.2.2 push_front头插4.2.3 push_back尾插4.2.4 erase任意位置删除4.2.5 pop_front头删4.2.6 …

Keil 编译 Debug

# 头文件无法导入进来 # 导入头文件&#xff0c;只有函数声明&#xff0c;但缺少函数实现 已经导入了air32f10x_gpio.h但是没有导入 .c&#xff0c;就导致 编译出错出现undefined symbol (某个函数)&#xff0c;这时候按照下面的操作&#xff0c;导入外设模块就好。

PQUEUE - Printer Queue

题目描述 The only printer in the computer science students union is experiencing an extremely heavy workload. Sometimes there are a hundred jobs in the printer queue and you may have to wait for hours to get a single page of output. Because some jobs are …

pip切换源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

CLFS信息泄露漏洞CVE-2023-28266分析

引用 这篇文章的目的是介绍今年4月发布的CLFS信息泄露漏洞CVE-2023-28266分析. 文章目录 引用简介CVE-2023-28266漏洞分析CVE-2023-28266调试过程漏洞复现相关引用参与贡献 简介 文章结合了逆向代码和调试结果分析了CVE-2023-28266漏洞利用过程和漏洞成因. CVE-2023-28266漏洞…

两个线程同步执行:解决乱箭穿心(STL/Windows/Linux)

C自学精简教程 目录(必读) C并发编程入门 目录 多线程同步 线程之间同步是指线程等待其他线程执行完某个动作之后再执行&#xff08;本文情况&#xff09;。 线程同步还可以是像十字路口的红绿灯一样&#xff0c;只允许一个方向的车同行&#xff0c;其他方向的车等待。 本…

UART串口Shell软硬件模型分析总结

文章目录 层次一、最底层逻辑配置交互----如何从Uart硬件读写单个字节数据层次二、抽象串口软件模块交互----基于串口对接输入输出流 和 Printf适配层次三、类似Shell封装抽象交互----基于串口交互命令行界面&#xff08;命令解析、补全、修改、记录&#xff09;case1 依次输入…