zabbix解析以及安装

目录

目录

zabbix 是什么?

监控主要功能

 zabbix 监控原理:

zabbix运行机制

Zabbix的监控方式

 Zabbix监控系统监控对象

 Zabbix的优缺点

Zabbix的缺点

zabbix主要特点

zabbix 监控部署在系统中,包含常见的五个程序:

 监控的架构

3.master-----node-------client架构 

安装 zabbix 5.0  

部署 zabbix 客户端

验证:


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 等信息的收集。
 

监控主要功能

CPU 负载   内存使用  磁盘使用率  网络状态   端口监视  日志监视  插件开发自定义
 

 zabbix 监控原理:

zabbix agent安装在被监控的主机上,zabbix agent负责定期收集客户端本地各项数据,并发送至 zabbix server 端,zabbix server 收到数据后,将数据存储到数据库中,用户基于 Zabbix WEB 可以看到数据在前端展现图像。当 zabbix 监控某个具体的项目, 该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、restart、install 等)。

zabbix运行机制

zabbix是C/S架构由zabbbix server和zabbix agent组成

zabbix server :负责存储展示硬件信息,通过B/S模式传给web端展示配置,端口号10051

zabbix  agent :监控收集服务器信息,端口号为10050

zabbix server(端口10051):zabbix服务端进程,用于配置和管理zabbix应用程序,也是监控系统的告警中心(需要配置监控项告警触发阈值和发送告警)
zabbix database:持久化存储配置信息和监控指标数据(支持mysql oracle gpdb tsdb等)
zabbix web:用于zabbix服务端配置界面和监控数据的UI界面展示(支持LAMP/LNMP)
zabbix agent(端口10050):部署在被监控的主机上,采集监控指标数据,并发送给zabbix server(数据采集支持主动模式和被动模式)

Zabbix的监控方式

7.1 主动模式
主动检测: 相对于agent而言; agent(active),agent向server请求与自己相关监控项配置, 主动地将server配置的监控项相关的数据发送给server;
主动监控能极大节约监控server的资源。
 

7.2 被动模式
被动检测:相对于agent而言 ; agent, server向agent请求获取配置的各监控项相关的数据
agent接收请求、获取数据并响应给server;

主动模式:相对于客户端而言:agent向server发起连接

被动模式:相对于客户端而言:server向agent发起连接

如果你有上千台机器需要监控,采用zabbix的主动模式,被动模式sever端的压力太大了

 Zabbix监控系统监控对象

 Zabbix的优缺点

开源,无软件成本投入
Server对设备性能要求低
支持设备多,自带多种监控模板
支持分布式集中管理,有自动发现功能,可以实现自动化监控
开放式接口,扩展性强,插件编写容易
当监控的 item 比较多服务器队列此较大时可以采用主动状态,被监控客户端主动从server端去下载需要监控的item然后取数据上传到server端。这种方式对服务器的负载比较小。
Api的支持,方便与其他系统结合

Zabbix的缺点


需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。
项目批量修改不方便。
社区虽然成熟,但是中文资料相对较少,服务支持有限。
入门容易,能实现基础的监控,但是深层次需求需要非常熟悉Zabbix并进行大量的二次定制开发难度较大。
系统级别报警设置相对比较多,如果不筛选的话报警邮件会很多;且自定义的项目报警需要自己设置,过程比较繁琐。
缺少数据汇 总功能,如无法查看-组服务器平均值, 需进行二次开发;

zabbix主要特点

  • 安装配置简单
  • 学习成本比较低
  • 支持多语言、 包括中文
  • 免费开源
  • 自动发现服务器与网络设备
  • 分布式监控以及web集群中的管理功能
  • (邮件、 短信、 语音 、微信、 钉钉 )等功能通知

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 database:持久化存储配置信息和监控指标数据(支持musql oracle godb tsab等)

 监控的架构

1.server-----client 架构

2.server----proxy-----client

3.master-----node-------client架构 

 Master-Node-Client该架构是Zabbix最复杂的监控架构,适用于跨网络跨机房设备多的大型环境。每个Node同时接一个Sever端,Node下面可以接Proxy端,也可以直接连接Client,Node有自己的配置文件和数据库,其要做的是将配置信息和监控数据向Master进行数据同步,Master故障损坏对Node其下架构的完整性无任何影响

 

安装 zabbix 5.0  

 

systemctl disable --now firewalld
#永久关闭并现在立即关闭防火墙
setenforce 0
#关闭selinux
hostnamectl set-hostname zbx-server
#更改主机名
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
#获得zabbix下载yum源
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo
vim zabbix.repo
#编辑配置文件 开启安装源
[zabbix-frontend]
......
enabled=1          #1表示开启安装源
......
#进入yum源目录文件并使用sed将国外源替换为阿里云源
yum clean all && yum makecache
#清除原理yum源缓存并加载新的yum
yum install -y zabbix-server-mysql zabbix-agent
#安装zabbix客户端和服务端
yum install -y centos-release-scl 
#安装scl,原因为便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4zabbix要求php版本为7.2以上,若达到要求则无须安装scl
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
#安装连接数据库和连接apache前端页面的连接工具
yum install -y mariadb-server mariadb
systemctl enable --now mariadb
#安装并开启数据库
mysql_secure_installation         
#初始化数据库,并设置密码,如 abc123选择执行,先回车,然后输入2次自己想设置的密码,其他全部yes即可
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
#创建zabbix库并设置库格式为utf-8
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
#创建并授权zabbix远程登录用户密码为zabbix
flush privileges;
#刷新数据
rpm -ql zabbix-server-mysql
#查询zabbix数据库中配置文件的位置
zcat /usr/share/doc/zabbix-server-mysql-5.0.33/create.sql.gz | mysql -uroot -pabc123 zabbix(导入的库名)
#将zabbix数据库格式导入数据库中,此处需要等待10s左右
vim /etc/zabbix/zabbix_server.conf 
DBPassword=zabbix					#124行,去掉#注释然后指定 zabbix 数据库的密码
#编辑zabbix配置文件将设置的远程登录用户的密码zabbix输入进去保存退出
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai		#24行,取消注释,修改时区
#编辑php的配置文件,将时区改为亚洲上海,注意去掉前面的;在此文件中表示注释
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
#重启zabbix服务php服务并设置开机自启

 要在服务端下载mysql数据库是为了存储数据和下载web,因为数据要展示给用户

部署 zabbix 服务端 


systemctl stop firewalld
setenforce 0
hostnamectl set-hostname zbx-server//获取 zabbix 的下载源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm //更换 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

 

随后,清理

随后安装数据库跟agent (是为了收集数据) 

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

yum install -y centos-release-scl 

 

 

 随后,安装apache和web数据展示给客户

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

 安装 zabbix 所需的数据库
yum install -y mariadb-server mariadb

 

 设置开机自启

 mysql_secure_installation  

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

CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;

 随后,导入数据库信息

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

 随后,退出,修改服务端的配置文件

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

 启动 zabbix 相关服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

 

浏览器访问:http://192.168.68.4/zabbix
 

 

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

//解决 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
 

 

 

 如何修改:

yum install -y wqy-microhei-fonts

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

 

随后,再去网页上面查看 乱码修改成功

部署 zabbix 客户端

zabbix 5.0 版本采用 golang 语言开发的新版本客户端 agent2 。
zabbix 服务端 zabbix_server 默认使用 10051 端口,客户端 zabbix_agent2 默认使用 10050 端口。

zabbix 5.0 版本采用 golang 语言开发的新版本客户端 agent2 。
zabbix 服务端 zabbix_server 默认使用 10051 端口,客户端 zabbix_agent2 默认使用 10050 端口。systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-agent01//服务端和客户端都配置时间同步
yum install -y ntpdate
ntpdate -u ntp.aliyun.com//客户端配置时区,与服务器保持一致
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtimedate//设置 zabbix 的下载源,安装 zabbix-agent2
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm cd /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//修改 agent2 配置文件
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.44.70		#80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.44.70		#120行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent01			#131行,指定当前 zabbix 客户端的主机名//启动 zabbix-agent2
systemctl start zabbix-agent2
systemctl enable zabbix-agent2netstat -natp | grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      43654/zabbix_agent2 //在服务端验证 zabbix-agent2 的连通性
yum install -y zabbix-get				#安装 zabbix 主动获取数据的命令zabbix_get -s '192.168.44.60' -p 10050 -k 'agent.ping'zabbix_get -s '192.168.44.60' -p 10050 -k 'system.hostname'//在 Web 页面中添加 agent 主机
点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】设置成 zbx-agent01
【可见的名称】设置成 zbx-agent01-192.168.44.60
【群组】选择 Linux server
【Interfaces】的【IP地址】设置成 192.168.44.60再点击上方菜单栏【模板】
【Link new tamplates】搜索 Linux ,选择 Template OS Linux by Zabbix agent
点击 【添加】

配置时间同步 

服务端和客户端都配置时间同步
yum install -y ntpdate
ntpdate -u ntp.aliyun.com客户端配置时区,与服务器保持一致
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

服务端:

客户端:

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

 

 修改agent2配置文件

修改 agent2 配置文件
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.44.70			#80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.44.70		#125行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent01			#136行,指定当前 zabbix 客户端的主机名

 

 

 

 

验证:

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

 

 

 

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

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

相关文章

vscode和pycharm等idea编写protobuf文件格式化

想在pycharm或者goland等idea中开发protobuf文件的话,可以安装一个插件:protocol-buffers 安装之后,proto文件就会支持高亮和格式化了。 如果是vscode想要编写proto文件,可以安装另外一个插件:vscode-proto3 安装后&a…

vue 组件间传值

背景&#xff1a; 组件之间传值&#xff0c;父组件将数据传递给子组件&#xff0c;子组件通过操作同步修改父组件传递过来的数据 1. 简单传递值和接收值 <script>// 创建 vue实例const app Vue.createApp({// 数据项data() {return {num: 123456}},// 动态传达参数tem…

“资深主食冻干品鉴家”认证!希喂CPMR2.0鲜肉主食冻干值得入!

作为一名养猫长达十二年的资深铲屎官&#xff0c;自从20年起&#xff0c;我家便步入了全冻干喂养的新纪元。请别误会&#xff0c;我并非什么拆二代&#xff0c;而是因为我找到了一款既让猫咪爱不释手&#xff0c;又在我预算之内的优质主食冻干。市面上的主流品牌&#xff0c;我…

如何解决线程池引发的future性能问题?

背景 在我们的日常开发中肯定会遇到线程池的使用&#xff0c;那么随着jdk8的使用发现&#xff0c;future.get&#xff08;&#xff09;这个API的使用也很普及了&#xff0c;当然重点不是这个api而是我们在设置线程池参数的时候如果使用自带的四种拒绝策略&#xff0c;那没什么…

网络安全赛事中开源威胁情报的妙用

写在前面 近期参与了一场网络安全赛事&#xff0c;一些题目的解法涉及到开源网络威胁情报&#xff0c;遂对相关题目及涉及到的知识点进行分析。 什么是OSCTI 开源网络威胁情报 (Open-Source Cyber Threat Intelligence,OSCTI)是详细描述针对某个组织网络安全威胁的数据。OSC…

数组名的指针用法

【题目描述】 读入一些整数&#xff0c;逆序输出到一行中&#xff0c;数中间用空格隔开。已知整数不超过100个。 【样例输入】 94 95 27 【样例输出】 27 95 94 【题目来源】 刘汝佳《算法竞赛入门经典 第2版》程序3-1 逆序输出 【解析】 原书代码&#xff1a; #inc…

【力扣 Hot100 | 第二天】4.11 无重复字符的最长子串

文章目录 2.无重复字符的最长子串2.1题目2.2解法一&#xff1a;滑动窗口2.2.1解题思路2.2.2代码实现 2.无重复字符的最长子串 2.1题目 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例一&#xff1a; 输入: s "abcabcbb" 输…

如何使用 git 提交项目到 github上

前言 由于网上已有众多优秀的教程&#xff0c;本文将不会重复造轮子。 本文的定位是给小伙伴们推荐、归纳和整理一些笔者认为很好的教程。 使用 git 提交项目到 github 文章推荐1&#xff1a;https://zhuanlan.zhihu.com/p/30044692文章推荐2&#xff1a;https://zhuanlan.z…

数据库(5)

目录 21.Redis一般有哪些使用场景? 22.Redis有哪些数据类型? 23.谈谈Redis的对象机制(RedisObject)?

二叉树的递归操作

二叉树的递归是指使用递归方法解决与二叉树相关的问题。二叉树的递归通常涉及到遍历、搜索、插入、删除等操作。 #include <iostream> #include <queue> #include <climits>using namespace std;// 二叉树节点定义 struct TreeNode {int val;TreeNode* left…

从零开始写一个RTSP服务器(三)RTP传输H.264

目录 一、RTP封装1.1 RTP数据结构1.2 源码 二、H.264的RTP打包2.1 H.264格式2.2 H.264的RTP打包方式2.3 H.264 RTP包的时间戳计算2.4 源码 三、H.264 RTP打包的sdp描述四、测试 本篇文章目标&#xff0c;使用vlc打开sdp文件后&#xff0c;可以观看到视频数据 一、RTP封装 1.1 …

2024 CKA 基础操作教程(十三)

题目内容 考点相关内容分析 日志架构 虽然 Kubernetes 没有为集群级日志记录提供原生的解决方案&#xff0c;但是提供了以下几种方式收集容器日志&#xff1a; 使用在每个节点上运行的节点级日志记录代理。 在每个节点上部署一个日志代理&#xff0c;该代理负责收集节点上所有…

线程相关-常用方法

线程 线程状态 一、阻塞状态&#xff1a; Blocked waiting time_waiting 线程关键字 一、sleep()方法 方法类型 静态方法 状态变更 Thread.sleep()方法会阻塞当前调用该方法的线程&#xff0c;状态为&#xff1a;time_waiting&#xff0c;线程睡眠到期后自动苏醒&#…

传奇 mir2韩国2005年原版代码

传奇 mir2韩国2005年原版代码 参考资料;传奇 mir2韩国2005年原版代码-感谢网虫大神分享_98999NET源码资源网

批量重命名文件名,支持取原文件名中间文字来进行重命名,实现文件重命名自由

在信息爆炸的时代&#xff0c;文件管理和命名显得尤为重要。你是否曾为文件命名而烦恼&#xff1f;是否曾经因为文件名过长、格式不统一、无法快速识别内容而浪费大量时间&#xff1f;今天&#xff0c;我要为大家介绍一款强大而灵活的批量文件重命名工具&#xff0c;它能够帮助…

ardupilot开发 --- 视觉伺服基础理论 篇

TOC 0.参考文献 https://zhuanlan.zhihu.com/p/422634446 基础

【24届数字IC秋招总结】正式批面试经验汇总5——蔚来、tp-link

文章目录 一、蔚来-数字芯片验证工程师1.1 一面面试问题1.2 二面面试问题二、tp-link-数字IC验证工程师2.1 面试问题一、蔚来-数字芯片验证工程师 面试时间:9.6 10.6 1.1 一面面试问题 1、 讲下项目结构 2、 scoreboard如何进行数据对比的 3、 golden 数据怎么产生的 4、 在…

JetBrains CLion 2024.1 发布 - C 和 C++ 跨平台 IDE

JetBrains CLion 2024.1 发布 - C 和 C 跨平台 IDE 请访问原文链接&#xff1a;JetBrains CLion 2024.1 (macOS, Linux, Windows) - C 和 C 跨平台 IDE&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org JetBrains CLion - C 和 …

全志R128 SDK HAL 模块开发指南之 UART

UART Universal Asynchronous Receiver/Transmitter&#xff0c;通用异步收发传输器 Compatible with industry-standard 16450/16550 UARTs64-Byte Transmit and receive data FIFOsSupports DMA controller interfaceSupports Software/ Hardware Flow ControlSupports IrD…

如何在Python中处理图像和视频?

如何在Python中处理图像和视频&#xff1f; 在Python中处理图像和视频是一个广泛且深入的主题&#xff0c;涉及到多个库和工具的使用。这些库提供了从基本的图像和视频读取、保存到复杂的图像处理和分析功能。下面&#xff0c;我们将详细讨论如何在Python中处理图像和视频&…