当前位置: 首页 > news >正文

zabbix监控系统

一、Zabbix概述

1、使用zabbix的原因

作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。

利用一个优秀的监控软件,我们可以:
●通过一个友好的界面进行浏览整个网站所有的服务器状态
●可以在 Web 前端方便的查看监控数据
●可以回溯寻找事故发生时系统的问题和报警情况

2、zabbix的概念和构成

●zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

●zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

●zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。

●zabbix server 可以通过 SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能, 它可以运行在 Linux 等平台上。

●zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集。

简单网络管理协议SNMP(Simple Network Management Protocol)用于网络设备的管理

3、zabbix 监控原理:

zabbix agent安装在被监控的主机上,zabbix agent负责定期收集客户端本地各项数据,并发送至 zabbix server 端,zabbix server 收到数据后,将数据存储到数据库中,用户基于 Zabbix WEB 可以看到数据在前端展现图像。

当 zabbix 监控某个具体的项目, 该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、restart、install 等)。

4、zabbix的程序组件

zabbix 监控部署在系统中,包含常见的五个程序: zabbix_server、zabbix_agent、zabbix_proxy、zabbix_get、zabbix_sender 等。

●zabbix server:zabbix 服务端守护进程,其中 zabbix_agent、zabbix_get、zabbix_sender、zabbix_proxy 的数据最终都提交给 zabbix server;

●zabbix agent:客户端守护进程,负责收集客户端数据,例如:收集 CPU 负载、内存、硬盘使用情况等;

●zabbix proxy:zabbix 分布式代理守护进程,通常大于 500 台主机,需要进行分布式监控架构部署;

●zabbix get:zabbix 数据接收工具,单独使用的命令,通常在 server 或者 proxy 端执行获取远程客户端信息的命令;

●zabbix sender:zabbix 数据发送工具,用户发送数据给 server 或 proxy 端,通常用户耗时比较长的检查。

二、安装 zabbix 5.0

环境准备:

zabbix-server 内存至少 2G,推荐 4G;

192.168.2.66 zabbix服务端

192.168.2.200 zabbix客户端

1、部署 zabbix 服务端的操作步骤

1.1 关闭防火墙并设置主机名

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-agent01 

1.2 获取 zabbix 的下载源

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm  

1.3 更换 zabbix.repo 为阿里源

cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repoyum clean all && yum makecacheyum install -y zabbix-server-mysql zabbix-agent

1.4 安装SCL(Software Collections)

便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4,版本过低,zabbix 5.0 版本对 php 版本最低要 7.2.0 版本。

SCL 可以使得在同一台机器上使用多个版本的软件,而又不会影响整个系统的依赖环境。软件包会安装在 /opt/rh 目录下。

yum install -y centos-release-scl 

1.5 修改 zabbix-front 前端源,安装 zabbix 前端环境到 scl 环境下

vim zabbix.repo
......
[zabbix-frontend]
......
enabled=1 #开启安装源
......yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl 

1.6 安装 zabbix 所需的数据库

yum install -y mariadb-server mariadbsystemctl enable --now mariadbmysql_secure_installation #初始化数据库,并设置密码,如 123

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

mysql -u root -p123CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;

1.8 导入数据库信息

rpm -ql zabbix-server-mysql #查询 sql 文件的位置zcat /usr/share/doc/zabbix-server-mysql-5.0.16/create.sql.gz | mysql -uroot -p123 zabbix 

1.9 修改 zabbix server 配置文件,修改数据库的密码

vim /etc/zabbix/zabbix_server.conf
......
DBPassword=zabbix   #124行,指定 zabbix 数据库的密码 

1.10 修改 zabbix 的 php 配置文件

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
......
php_value[date.timezone] = Asia/Shanghai    #24行,取消注释,修改时区  

1.11 启动 zabbix 相关服务

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

1.12 浏览器访问:http://192.168.2.66/zabbix

点击下一步,设置数据库的密码 zabbix

安装完成后,默认的登录账号和密码为:Admin/zabbix

设置文件界面:点击左边菜单栏的【User settings】,【Language】选择 Chinese(zh_CN),再点击 Update 更新。

1.13 解决 zabbix-server Web页面中文乱码问题

yum install -y wqy-microhei-fonts\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

2、实例操作:部署 zabbix 服务端

1.1 关闭防火墙并设置主机名

1.2 获取 zabbix 的下载源并更换 zabbix.repo 为阿里源

1.3 安装SCL(Software Collections)

1.4 修改 zabbix-front 前端源,安装 zabbix 前端环境到 scl 环境下

1.5 安装 zabbix 所需的数据库

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

1.7 导入数据库信息

1.8 修改 zabbix server 配置文件,修改数据库的密码

1.9 修改 zabbix 的 php 配置文件

1.10 启动 zabbix 相关服务

1.11 浏览器访问:http://192.168.2.66/zabbix

使用宿主机的火狐浏览器访问

1.12 解决 zabbix-server Web页面中文乱码问题

浏览器刷新查看乱码问题是否解决

3、部署 zabbix 客户端

zabbix 5.0 版本采用 golang 语言开发的新版本客户端 agent2 。

zabbix 服务端 zabbix_server 默认使用 10051 端口,客户端 zabbix_agent2 默认使用 10050 端口。

3.1 关闭防火墙并设置主机名

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-client  

添加映射关系(在服务端和客户端均添加)

vim /etc/hosts
192.168.2.200 zbx-client
192.168.2.66 zbx-server

3.2 服务端和客户端都配置时间同步

yum install -y ntpdate
ntpdate -u ntp.aliyun.com

3.3 客户端配置时区,与服务器保持一致

mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtimedate

3.4 设置 zabbix 的下载源,安装 zabbix-agent2

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpmcd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repoyum install -y zabbix-agent2

3.5 修改 agent2 配置文件

vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.2.66   #80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.2.66 #120行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-client #131行,指定当前 zabbix 客户端的主机名

3.6 启动 zabbix-agent2

systemctl start zabbix-agent2
systemctl enable zabbix-agent2netstat -natp | grep zabbix
tcp6 0 0 :::10050 :::* LISTEN 43654/zabbix_agent2

3.7 在服务端验证 zabbix-agent2 的连通性

yum install -y zabbix-get   #安装 zabbix 主动获取数据的命令zabbix_get -s '192.168.2.200' -p 10050 -k 'agent.ping'
1zabbix_get -s '192.168..200' -p 10050 -k 'system.hostname'
zbx-client

zabbix_get命令是在server端用来检查agent端的一个命令。常用于检测 agent 端的配置是否正确,可以很方便地知道 key 是否能正常获取到数据,在测试自定义监控的时候特别有用。

zabbix_get 参数说明:
-s --host: 指定客户端主机名或者IP
-p --port:客户端端口,默认10050,默认是10050端口,可不写
-I --source-address:指定源IP,写上zabbix server的ip地址即可,一般留空,服务器如果有多ip的时候,你指定一个。
-k --key:你想获取的key

3.8 在 Web 页面中添加 agent 主机

点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】设置成 zbx-client
【可见的名称】设置成 zbx-client-192.168.2.200
【群组】选择 Linux server
【Interfaces】的【IP地址】设置成 192.168.2.200

再点击上方菜单栏【模板】
【Link new tamplates】搜索 Linux ,选择 Template OS Linux by Zabbix agent
点击 【添加】

4、实例操作:部署 zabbix 客户端

4.1 关闭防火墙并设置主机名

服务端和客户端均添加映射关系

4.2 服务端和客户端都配置时间同步

4.3 客户端配置时区,与服务器保持一致(服务端与客户端均进行设置)

4.4 设置 zabbix 的下载源,安装 zabbix-agent2

4.5 修改 agent2 配置文件

4.6 启动 zabbix-agent2

4.7 在服务端验证 zabbix-agent2 的连通性

4.8 在 Web 页面中添加 agent 主机

相关文章:

zabbix监控系统

一、Zabbix概述 1、使用zabbix的原因 作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。 利用一个优秀的监控软件,我们可以: ●通过一个友好的界面进…...

Python入门学习

一、执行Python(Hello World)程序 对于大多数程序语言,第一个入门编程代码便是 “Hello World!”,以下代码为使用 Python 输出 “Hello World!” 1.1 创建hello.py文件 1.2 编写程序 #!/usr/bin/python…...

自动驾驶嵌入式开发工程师:车载SOC开发修炼秘籍

声明:本文档是博主在开发学习过程中写的笔记,本意是便于以后开发复盘,参考《 ug1144-petalinux-tools-reference-guide》、《ug1085》、黑金Zynq UltraScale MPSoC 5EV开发板资料、英伟达官方资料。大佬勿喷 大佬勿喷 大佬勿喷!&a…...

Linux之搭建环境

文章目录 1 FileZilla软件2 Linux搭建samba文件共享服务器,实现基于Linux和Windows的共享文件服务2.1 smaba的安装与基本应用2.2 samba的账号权限配置2.3 win系统下的文件无法复制到Linux共享文件夹中 1 FileZilla软件 在跟着正点原子教程安装后,出现如下…...

泡利矩阵(一)

〇、厄米矩阵 厄米矩阵(Hermitian Matrix),也称为自共轭矩阵(Self-adjoint Matrix),是线性代数中的一个重要概念。它是指一个复数域上的方阵,其转置矩阵与共轭矩阵相等。 具体来说&#xff0c…...

通用支付系统设计

支付永远是一个公司的核心领域,因为这是一个有交易属性公司的命脉。那么,支付系统到底长什么样,又是怎么运行交互的呢?抛开带有支付牌照的金融公司的支付架构,下述链路和系统组成基本上符合绝大多数支付场景。其实整体可以看成是…...

metaRTC+ZLMediaKit实现webrtc的推拉流

概述 ZLMediaKit是一个基于C11的高性能运营级流媒体服务框架,是一个支持webrtc SFU的优秀的流媒体服务器系统。 metaRTC新版本支持whip/whep协议,支持whip/whep协议的ZLMediaKit推拉流。 信令通信 ZLMediaKit新版本支持whip和whep协议,支…...

【JavaSE】Java基础语法(八)

文章目录 🍓1. 类和对象🍹🍹1.1 类和对象的关系🍹🍹1.2 类的定义 🍓2. 对象内存图🍹🍹2.1 单个对象内存图🍹🍹2.2 多个对象内存图2.3 多个对象指向相同内存图…...

Java如何配置环境变量

Java如何配置环境变量 0. 前言1. 下载Java2. 配置环境变量2.1新建 Java_Home2.2 编辑Path情况1情况2 3. 验证安装 0. 前言 本节记录如何配置Java环境变量,用自己重装过的系统实操 操作系统:Windows10 专业版 Java版本:jdk1.7.0_07 1. 下载…...

android 12.0SystemUI 状态栏下拉快捷添加截图快捷开关

1.概述 在12.0的系统产品rom定制化开发中,对SystemUI的定制需求也是挺多的,在下拉状态栏中 添加截图快捷开关,也是常有的开发功能,下面就以添加 截图功能为例功能的实现 2.SystemUI 状态栏下拉快捷添加截图快捷开关的核心代码 frameworks/base/packages/SystemUI/res/va…...

【无标题】 Vue 路由库Router 【重点】 - 安装 - 基本使用 - 路由配置 - 路由模式 - 路由传递参数 - 路由内置对象 - 路由守卫

0.0 课程介绍 Vue 路由库Router 【重点】 安装基本使用路由配置路由模式路由传递参数路由内置对象路由守卫 Vue的内置API 【掌握】 ref Vue.set Vue.nextTick Vue.filter Vue.component Vue.use Vue.directive 1.0 Vue的路由Router 【重点】 1.1 路由作用 进行页面…...

RocksDB笔记 -- 整体架构

RocksDB是由Facebook开发的存储引擎, 它最初的目标是用于快速存储, 特别是Flash存储. 一个基于C开发keys-values存储引擎库. 整体架构 RocksDB由这三个基本结构组成: memtable, sstfile 和 logfile. 其中: memtable是一个内存数据结构, 新的写入会插入到memtable中, 同时可选…...

设计模式之单例模式入门介绍

一、设计模式概念 设计模式是被广泛使用的软件开发中的一种解决方案,它提供了一套被验证过的、可重用的设计思想,帮助开发人员更加高效地开发出可维护、易扩展的软件系统。 设计模式可以分为三类:创建型模式、结构型模式和行为型模式。 1.1…...

RHCE 作业三

1.基于域名访问网站 [rootserver ~]# setenforce 0 [rootserver ~]# systemctl stop firewalld [rootserver ~]# systemctl disable firewalld [rootserver ~]# yum install httpd -y [rootserver ~]# systemctl start httpd [rootserver ~]# syst…...

90.qt qml-Table表格组件(支持表头表尾固定/自定义颜色/自定义操作按钮/插入排序)

众所周知,qml table在目前版本还很废,qt5的table完全就没法用,在之前章节就写过: 88.qt qml-TableView学习(一)_诺谦的博客-CSDN博客 所以本章便参考VUE-Element的Table外观组件实现一个可排序可操作的Table组件. 1.组件介绍 GIF如下所示: 排序支持数字和字符串排序。 …...

android 12.0SystemUI屏蔽某个app的通知

1.概述 在12.0的产品开发中,对于系统的通知部分,要求根据app包名来过滤掉一部分通知,就是在接收到系统通知时,根据包名判断是否需要接收通知的功能,首选要分析通知流程,然后实现功能 2.SystemUI屏蔽某个app的通知相关代码 frameworks\base\packages\SystemUI\src\com\…...

注意力机制(一)SE模块(Squeeze-and-Excitation Networks)论文总结和代码实现

Squeeze-and-Excitation Networks(压缩和激励网络) 论文地址:Squeeze-and-Excitation Networks 论文中文版:Squeeze-and-Excitation Networks_中文版 代码地址:GitHub - hujie-frank/SENet: Squeeze-and-Excitation Ne…...

L2-001 紧急救援(dijkstra算法练习)

作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的…...

redis问题汇总

redis的优点 读写性能优异。十万/s的量级; 支持数据持久化。AOF,RDB 支持丰富的数据类型; 支持集群,可以实现主从复制,哨兵机制迁移,扩容等 缺点: 因为是基于内存的,所以虽然redis本身有key过期…...

调用华为API实现情感分析

作者介绍 王新华,男,西安工程大学电子信息学院,2022级研究生 研究方向:人工智能与模式识别 电子邮件:996514274qq.com 魏小双,女,西安工程大学电子信息学院,2022级研究生 研究方向…...

开源新形态:从代码到Prompt的转变

【导语:3月末,开源作者yetone发布新项目voice-input-src,以独特方式“开源”,即用自然语言Prompt生成代码,此做法引发讨论,或预示开源模式新转变。】AI驱动的语音输入法开源项目开源作者yetone在GitHub上发…...

Phi-4-mini-reasoning Chainlit协作功能:多人审阅、批注与推理结果共享

Phi-4-mini-reasoning Chainlit协作功能:多人审阅、批注与推理结果共享 1. 模型概述 Phi-4-mini-reasoning是一个基于合成数据构建的轻量级开源模型,专注于高质量、密集推理的数据处理能力。作为Phi-4模型家族的一员,它经过专门微调以提升数…...

Linux下CMake多版本共存实战:不卸载旧版也能用上新功能

Linux下CMake多版本共存实战:不卸载旧版也能用上新功能 在软件开发的世界里,版本管理就像一场永不停歇的舞蹈。想象一下这样的场景:你正在维护一个历史悠久的C项目,突然客户要求你同时开发一个全新的模块,而这个模块需…...

Phi-4-mini-reasoning开发者调试手册:Chainlit后端日志定位、错误堆栈分析

Phi-4-mini-reasoning开发者调试手册:Chainlit后端日志定位、错误堆栈分析 1. 模型简介与部署验证 Phi-4-mini-reasoning 是一个基于合成数据构建的轻量级开源模型,专注于高质量、密集推理的数据,并进一步微调以提高更高级的数学推理能力。…...

如何为Whisper ASR Webservice开发自定义引擎和插件

如何为Whisper ASR Webservice开发自定义引擎和插件 【免费下载链接】whisper-asr-webservice OpenAI Whisper ASR Webservice API 项目地址: https://gitcode.com/gh_mirrors/wh/whisper-asr-webservice Whisper ASR Webservice是一个基于OpenAI Whisper的语音识别服务…...

3分钟让Windows 11脱胎换骨:Win11Debloat全面系统优化指南

3分钟让Windows 11脱胎换骨:Win11Debloat全面系统优化指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter an…...

避坑指南:Informer模型更换自定义数据集时,90%新手会忽略的5个关键参数

Informer模型自定义数据集避坑指南:5个关键参数详解与实战调优 第一次尝试将Informer模型应用到自己的数据集上时,我盯着屏幕上那一串令人绝望的报错信息发呆了整整半小时。明明已经按照官方示例修改了数据路径和基本参数,为什么模型要么无法…...

intv_ai_mk11实测效果:在24GB显存限制下保持128~512 token长文本生成质量

intv_ai_mk11实测效果:在24GB显存限制下保持128~512 token长文本生成质量 1. 模型效果惊艳展示 intv_ai_mk11作为一款基于Llama架构的中等规模文本生成模型,在24GB显存环境下展现出了令人印象深刻的长文本生成能力。不同于常规模型在显存限制下容易出现…...

如何快速访问AO3镜像站:新手必看的5个实用技巧

如何快速访问AO3镜像站:新手必看的5个实用技巧 【免费下载链接】AO3-Mirror-Site 项目地址: https://gitcode.com/gh_mirrors/ao/AO3-Mirror-Site Archive of Our Own(AO3)是全球最大的同人创作平台,但部分地区访问受限。…...

R语言实战:利用compareGroups包高效生成临床研究三线表(Table1)

1. 为什么临床研究离不开Table1三线表 在医学论文和临床研究报告中,Table1三线表几乎是标配。我第一次投稿时,审稿人直接指出"缺少规范的基线特征表",这才意识到这个表格的重要性。Table1的核心作用是展示研究人群的基线特征&#…...