Zabbix实现7x24小时架构监控

上篇:https://blog.csdn.net/Lzcsfg/article/details/138774511

文章目录

        • Zabbix功能介绍
        • Zabbix平台选择
        • 安装Zabbix监控端
        • 部署MySQL数据库
        • Zabbix参数介绍
        • 登录Zabbix WEB
        • WEB界面概览
        • 修改WEB界面语言
        • 添加被控主机
        • 导入监控模板
        • 主机绑定模板
        • 查看主机状态
        • 查看监控数据
        • 解决Zabbix乱码
        • 监控Nginx状态信息
        • 监控PHP状态信息
        • 监控Redis状态信息

源码链接:https://pan.baidu.com/s/1HbbZJzqD8-l565H9Mb8W1g?pwd=2euj
提取码:2euj


Zabbix功能介绍

Zabbix 是C语言编写的企业级开源免费的分布式监控解决方案,可监控网络的众多参数以及服务器、虚拟机、应用程序、数据库、网站、云等的健康状况和完整性。

Zabbix 使用灵活的报警通知机制,允许用户为几乎任何事件配置电子邮件的警报。这允许对服务器问题做出快速反应。

Zabbix 可通过存储的数据提供出色的报告和数据可视化功能。

官网地址:https://www.zabbix.com/

常用的监控软件:Cacti、Nagios、Ganglia、Open-Falcon、zabbix、prometheus

选择一款监控软件,需要软件具备什么功能?

  • 指标采集:服务器状态、程序状态、CPU、内存、磁盘、网络
  • 指标存储:实现数据持久化,后期分析监控指标
  • 指标可视化:提供web页面,通过浏览器访问页面
  • 故障报警:出现问题,及时发送报警通知

Zabbix版本介绍

Zabbix稳定版:LTS代表稳定版,官方提供技术支持时间长达5年时间

Zabbix标准版:不带LTS标签,官方提供技术支持时间7个月

Zabbix组件介绍

zabbix agent:指标采集器,在被监控主机上采集指标数据,并将采集到的数据发送给zabbix server

zabbix server:负责提供监控功能,负责接收agent发送的数据,统计数据、管理数据

zabbix database:用于存储所有zabbix的配置信息以及监控数据

zabbix web:管理员通过web界面管理、配置以及查看相关监控信息

zabbix proxy:分布式监控,用来分担zabbix server的压力(不是必须)

Zabbix平台选择

在这里插入图片描述



安装Zabbix监控端
主机名IP地址操作系统硬件环境
zbx-server192.168.226.133CentOS 72 Core/4G Memory

更改主机名

hostnamectl set-hostname zbx-server

下载Zabbix5.0存储库(二进制安装方式)

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

安装zabbix软件包

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

下载centos-release-scl仓库(提供zabbix前端所需的一些软件包)

yum install centos-release-scl -y

启用zabbix前端仓库

vim /etc/yum.repos.d/zabbix.repo
#...
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1   #改为1启用仓库
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

安装Zabbix前端软件包(两个软件中内置PHP与Apache)

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


部署MySQL数据库

下载MySQL仓库

rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

导入GPG密钥文件

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

安装MySQL

yum install mysql-server -y

启动MySQL

systemctl enable mysqld --now

查看MySQL的root初始密码

grep -i password /var/log/mysqld.log

通过初始密码登录到数据库

 mysql -uroot -p'密码'

修改密码复杂度策略(即不验证复杂度)

mysql> set global validate_password_policy=0;

设置root本机登录密码(长度须满足8位)

mysql> alter user root@"localhost" identified by "admin123456";

退出数据库,修改my.cnf文件,在文件中定义密码策略,让策略永久生效

vim /etc/my.cnf
#...
[mysqld]
validate_password_policy=0

重启MySQL

systemctl restart mysqld

登录数据,创建一个名为 zabbix 的数据库用于存储监控指标,并支持中文

mysql> create database zabbix character set utf8 collate utf8_bin;

创建一个名为 zabbix 的用户用于连接数据库,并设置密码

mysql> create user zabbix@localhost identified by '12345678';

授权 zabbix 用户对 zabbix 库的所有权限

mysql> grant all privileges on zabbix.* to zabbix@localhost;

导入数据库所需的表文件

zcat /usr/share/doc/zabbix-server-mysql-*/create.sql.gz | mysql -uzabbix -p12345678 zabbix

配置zabbix连接数据库

vim /etc/zabbix/zabbix_server.conf
#...
DBName=zabbix         #数据库名称,在100行
DBUser=zabbix         #连接数据库的用户名,在116行
DBPassword=12345678   #用户密码,在124行

为PHP配置正确时区

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
#修改参数,记得修改注释
php_value[date.timezone] = Asia/Shanghai

启动所有服务并设置服务随机自启

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


Zabbix参数介绍

zabbix-server 端口:10051

zabbix-agent 端口:10050

zabbix server主配置文件:/etc/zabbix/zabbix_server.conf

zabbix agent主配置文件:/etc/zabbix/zabbix_agentd.conf

zabbix自定义监控项路径:/etc/zabbix/zabbix_agentd.d

zabbix日志文件路径:/var/log/zabbix/



登录Zabbix WEB

从浏览器上访问Zabbix前端URL:http://192.168.226.133/zabbix

在这里插入图片描述

环境检查

请确保这里的 Check of pre-requisites 全部OK后点击下一步

在这里插入图片描述

配置数据库连接

在这里插入图片描述

Zabbix server信息

在这里插入图片描述

安装前回顾所有配置

在这里插入图片描述

完成安装

在这里插入图片描述

登录Zabbix:管理员 Admin , 密码 zabbix

在这里插入图片描述



WEB界面概览

侧边栏的菜单可使用Zabbix各功能,菜单可以整个折叠或隐藏

  • 折叠, 单击Zabbix logo旁边的 img

  • 隐藏, 单击Zabbix logo旁边的 img

在这里插入图片描述



修改WEB界面语言

在这里插入图片描述
在这里插入图片描述



添加被控主机

在主机discuz-db discuz01 discuz02 master-proxy backup-proxy 中安装 zabbix-agent 客户端程序用于采集主机指标

下载Zabbix5.0存储库(二进制安装方式)

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

安装zabbix agent

yum install zabbix-agent -y

修改zabbix-agent配置文件,定义zabbix server地址

vim /etc/zabbix/zabbix_agentd.conf
#大约在117行,这里意思是谁可以监控我,统一修改成zbx-server主机的IP,代表监控服务端主机可以监控这些集群机器
Server=192.168.226.133 

启动服务并设置服务随机自启

systemctl start zabbix-agent
systemctl enable zabbix-agent

上述步骤是针对这discuz-db discuz01 discuz02 master-proxy backup-proxy,下面是对 zbx-server 主机操作。

回到Zabbix WEB界面,通过配置主机创建主机 添加被控主机

在这里插入图片描述
在这里插入图片描述

其他主机均按照以上方法添加

在这里插入图片描述



导入监控模板

通过配置 → 模板单击右上角的导入按钮,选择要导入的文件,单击导入按钮。

在这里插入图片描述



主机绑定模板

通过配置 → 主机找到你的主机,然后选择模板,选择好模板后,点击更新

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

提示:其他主机均按照以上方法绑定模板。


查看主机状态

通过监测→主机查看Zabbix Server是否采集到主机指标

在这里插入图片描述

灰色 未采集到指标

icon_zbx_green.png 以采集到指标

icon_zbx_red.png 指标采集失败

查看监控数据

可通过主机右边的最新数据来查看监控的指标项

在这里插入图片描述



解决Zabbix乱码

zbx-server 主机将准备好的字体文件传到zabbix存放字体文件路径,并覆盖原文件内容。

cd /usr/share/zabbix/assets/fonts/

从windows中C:\Windows\Fonts这个目录里选择一款字体,要选正常字体,规整细点的,不然下面图中的数据看不清,对工作不利。

选择一款字体上传到/usr/share/zabbix/assets/fonts/目录里,**覆盖**原字体文件的内容即可。

cp SIMSUN.TTC graphfont.ttf

会有个提示是否覆盖,输入y回车,原字体文件删不删除都行

刷新界面即可

在这里插入图片描述



监控Nginx状态信息

通过监控NGINX的状态可实时了解服务器处理请求的情况,及服务器的负载情况。

以下都对master-proxybackup-proxy 主机操作

master-proxybackup-proxy 主机创建目录用于存放监控脚本

mkdir /etc/zabbix/script/
cd /etc/zabbix/script

将脚本 ngx_status.sh 上传到该目录并为脚本添加执行权限

chmod +x ngx_status.sh

进入自定义监控路径,将自定义监控文件 nginx_status.conf 上传到该目录

cd /etc/zabbix/zabbix_agentd.d/

修改zabbix agent配置文件,开启自定义监控功能

vim /etc/zabbix/zabbix_agentd.conf 
#...
 #自定监控路径对照下不要错,大概在314行
Include=/etc/zabbix/zabbix_agentd.d/*.conf 

#改为1为开启自定义监控功能,默认该功能为关闭状态,大概在333行
UnsafeUserParameters=1    

重启zabbix agent服务

systemctl restart zabbix-agent

这里开始对zbx-server主机操作

zabbix server获取监控项数据,下载zabbix-get软件包,用于在命令行获取客户端监控项的值

yum install zabbix-get -y

获取客户端监控项数据,命令如下(按照自己的环境修改IP)

#当前活动用户的连接数量
zabbix_get -s 192.168.226.131 -k nginx.active

#已接收的客户端连接总数量
zabbix_get -s 192.168.226.131 -k nginx.accepts

#已处理的连接总数量
zabbix_get -s 192.168.226.131 -k nginx.handled

#客户端请求的总数量
zabbix_get -s 192.168.226.131 -k nginx.requests

#正在读取请求的连接数
zabbix_get -s 192.168.226.131 -k nginx.reading 

#将响应反回客户端的连接数
zabbix_get -s 192.168.226.131 -k nginx.writing

#客户端正在等待服务器的响应数量
zabbix_get -s 192.168.226.131 -k nginx.waiting

通过配置 → 模板 → 导入 将模板导入到zabbix中

在这里插入图片描述

通过配置 → 主机 找到你的主机,将master-proxy和backup-proxy主机的新增的模板文件绑定到主机

在这里插入图片描述

随后通过 监测最新数据 查看监控指标
在这里插入图片描述



监控PHP状态信息

通过监控PHP的状态,可实时了解到PHP进程相关信息及PHP处理请求的情况。

discuz01discuz02 主机主机操作

discuz01discuz02 主机创建目录用于存放监控脚本

mkdir /etc/zabbix/script/
cd /etc/zabbix/script

将脚本 phpfpm_status.sh 上传到该目录并为脚本添加执行权限

chmod +x phpfpm_status.sh 

进入自定义监控路径,将自定义监控文件 phpfpm_status.conf 上传到该目录

cd /etc/zabbix/zabbix_agentd.d/

修改zabbix agent配置文件,开启自定义监控功能

vim /etc/zabbix/zabbix_agentd.conf 
#...
 #自定监控路径,大概在314行
Include=/etc/zabbix/zabbix_agentd.d/*.conf 

#改为1为开启自定义监控功能,默认该功能为关闭状态,大概在333行
UnsafeUserParameters=1    

重启zabbix agent服务

systemctl restart zabbix-agent

zabbix server获取客户端监控项数据,命令如下(按照自己的环境修改IP),这里是在zbx-server主机操作的查看命令

#php-fpm运行时长
zabbix_get -s 192.168.226.129 -k phpfpm_status[start_since]

#当前接收的连接数
zabbix_get -s 192.168.226.129 -k phpfpm_status[accepted_conn]

#等待连接的请求数
zabbix_get -s 192.168.226.129 -k phpfpm_status[listen_queue]

#请求等待队列最高的数量
zabbix_get -s 192.168.226.129 -k phpfpm_status[max_listen_queue]

#socket等待队列长度
zabbix_get -s 192.168.226.129 -k phpfpm_status[listen_queue_len]

#空闲进程数量
zabbix_get -s 192.168.226.129 -k phpfpm_status[idle_processes]

#活跃进程数量
zabbix_get -s 192.168.226.129 -k phpfpm_status[active_processes]

#总进程数量
zabbix_get -s 192.168.226.129 -k phpfpm_status[total_processes]

#最大的活跃进程数量
zabbix_get -s 192.168.226.129 -k phpfpm_status[max_active_processes]

#进程最大数量限制的次数
zabbix_get -s 192.168.226.129 -k phpfpm_status[max_children_reached]

#php-fpm慢请求
zabbix_get -s 192.168.226.129 -k phpfpm_status[slow_requests]  

通过配置 → 模板 → 导入 将模板导入到zabbix中

在这里插入图片描述

通过配置 → 主机 找到你的discuz01和discuz02主机,把模板文件绑定到主机

在这里插入图片描述

随后通过 监测最新数据 查看监控指标

在这里插入图片描述



监控Redis状态信息

通过监控Redis的状态信息,可实时了解到Redis进程相关、内存消耗、Redis处理请求数量、Redis持久化情况。

discuz-db 主机创建目录用于存放监控脚本

mkdir /etc/zabbix/script/
cd /etc/zabbix/script

将脚本 redis_status.sh 上传到该目录并为脚本添加执行权限

chmod +x redis_status.sh

进入自定义监控路径,将自定义监控文件 custom_redis_status.conf 上传到该目录

cd /etc/zabbix/zabbix_agentd.d/

修改zabbix agent配置文件,开启自定义监控功能

vim /etc/zabbix/zabbix_agentd.conf 
#...
 #自定监控路径,大概在314行
Include=/etc/zabbix/zabbix_agentd.d/*.conf 

#改为1为开启自定义监控功能,默认该功能为关闭状态,大概在333行
UnsafeUserParameters=1    

重启zabbix agent服务

systemctl restart zabbix-agent

通过配置 → 模板 → 导入 将模板导入到zabbix中

在这里插入图片描述

通过配置 → 主机 找到你的主机,把模板文件绑定到主机

在这里插入图片描述

随后通过 监测最新数据 查看监控指标

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python实现对应分析的随笔记

文档来源: Correspondence analysis 1 对应分析 参考: SPSS(十二)SPSS对应分析(图文数据集)案例6:SPSS–对应分析10 对应分析 对应分析的实质(理论很复杂,但是结果很明…

创新工具|AI革新内容营销:策略、工具与实施指南

探索如何利用人工智能(AI)提升内容营销策略,从SEO优化到个性化推荐。本指南详细介绍了11款顶尖AI工具,旨在帮助中国的中高级职场人士、创业家及创新精英高效地策划和生成引人入胜的内容,同时确保内容的专业性、权威性和…

靶机hackNos Os-Bytesec练习报告

hackNos: Os-Bytesec靶机练习实践报告 下载地址*😗 https://drive.google.com/open?id1yBuih2CsBx45oTUDpFr4JldrzkaOTTeZ https://download.vulnhub.com/hacknos/Os-ByteSec.ova https://download.vulnhub.com/hacknos/Os-ByteSec.ova.torrent ( Magnet) …

爬虫基础1

一、爬虫的基本概念 1.什么是爬虫? 请求网站并提取数据的自动化程序 2.爬虫的分类 2.1 通用爬虫(大而全) 功能强大,采集面广,通常用于搜索引擎:百度,360,谷歌 2.2 聚焦爬虫&#x…

集合框框框地架

这一次来介绍一下常用的集合: 首先是两种集合的《家庭系谱图》: 接下来介绍一下集合的种类: Collection Set SetTreeSet:基于红⿊树实现,⽀持有序性操作,例如:根据⼀个范围查找元素的操作。但…

LAMDA面试准备(2024-05-23)

有没有学习过机器学习,提问了 FP-Growth 相比 Apriori 的优点 1. 更高的效率和更少的计算量(时间) FP-Growth 通过构建和遍历 FP-树 (Frequent Pattern Tree) 来挖掘频繁项集,而不需要像 Apriori 那样生成和测试大量的候选项集。具…

这种电脑原来这么耗电……震惊了粉丝小姐姐

前言 在今年1月份的时候,一位来自重庆的小姐姐加了小白,咨询电脑的问题: 哦豁,这个电脑看着确实闪闪发光,是真的很漂亮~(嗯,小姐姐也很漂亮) 电脑无法开机,按…

Vue从入门到实战Day12

一、Pinia快速入门 1. 什么是Pinia Pinia是Vue的最新状态管理工具,是Vuex的替代品 1. 提供更加简单的API(去掉了mutation) 2. 提供符合组合式风格的API(和Vue3新语法统一) 3. 去掉了modules的概念,每一…

LiveGBS流媒体平台GB/T28181用户手册-用户管理:添加用户、编辑、关联通道、搜索、重置密码

LiveGBS流媒体平台GB/T28181用户手册-用户管理:添加用户、编辑、关联通道、搜索、重置密码 1、用户管理1.1、添加用户1.2、编辑用户1.3、关联通道1.4、重置密码1.5、搜索1.6、删除 2、搭建GB28181视频直播平台 1、用户管理 1.1、添加用户 添加用户,可以配置登陆用户…

自动驾驶---Tesla的自动驾驶技术进化史(PerceptionPlanning)

1 前言 笔者在专栏《自动驾驶Planning模块》中已经详细讲解了传统自动驾驶Planning模块的内容:包括行车的Behavior Planning和Motion Planning,以及低速记忆泊车的Planning(最开始有15篇,目前逐渐更新到17篇)。读者对整…

linux:信号深入理解

文章目录 1.信号的概念1.1基本概念1.2信号的处理基本概念1.3信号的发送与保存基本概念 2.信号的产生2.1信号产生的五种方式2.2信号遗留问题(core,temp等) 3.信号的保存3.1 信号阻塞3.2 信号特有类型 sigset_t3.3 信号集操作函数3.4 信号集操作函数的使用 4.信号的处理4.1 信号的…

SSRF攻击技术

1、SSRF形成原因 SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF是要目标网站的内部系统。(因为他是从内部系统访问的,所有可以通过它攻击外网无法访问的内部系…

人类交互2 听觉处理和语言中枢

人类听觉概述 人类听觉是指通过耳朵接收声音并将其转化为神经信号,从而使我们能够感知和理解声音信息的能力。听觉是人类五种感觉之一,对我们的日常生活和交流至关重要。 听觉是人类交流和沟通的重要工具。通过听觉,我们能够听到他人的语言…

inventor 2021 Inventor 无法访问您的许可。网络许可不可用 也会出现在其他软件上

错误提示一般如下图 Inventor 无法访问您的许可。 无法访问您的许可 最常见的原因有: 未连接到 Internet许可服务器不工作许可服务器找不到有效许可 您可以执行以下操作: 检查是否连接到 Intemnet停止/重新启动许可服务器 如需进一步帮助,您可以: -与 CAD或IT管理…

2:硬件产品经理面试

流程: 市场评估: 组织立项:项目的交付时问,项目资金预算,项目组成员的确定及责任划分,开发和测试。 名种设计:外观材质的工业设计,硬件的架构设计,软件的功能设计&#x…

Go源码--sync库(1)sync.Once和

简介 这篇主要介绍 sync.Once、sync.WaitGroup和sync.Mutex sync.Once once 顾名思义 只执行一次 废话不说 我们看源码 英文介绍直接略过了 感兴趣的建议读一读 获益匪浅 其结构体如下 Once 是一个严格只执行一次的object type Once struct {// 建议看下源码的注解&#xf…

(Askchat.ai、360智脑、鱼聪明、天工AI、DeepSeek)

目录 1、Askchat.ai - 梦想为蓝图,ChatGPT为笔。 2、360智脑 — 以人为本,安全可信 3、鱼聪明AI - 做您强大的AI助手 (yucongming.com) 4、天工AI-搜索、对话、写作、文档分析、画画、做PPT的全能AI助手 (tiangong.cn) 5、DeepSeek | 深度求索 1、Askch…

字符函数:分类函数与转换函数

字符函数 一.字符分类函数二.字符转换函数 在编程的过程中,我们经常要处理字符和字符串,为了方便操作字符和字符串,C语⾔标准库中提供了一系列库函数,接下来我们就学习⼀下这些函数。 一.字符分类函数 C语言中有⼀系列的函数是专门…

allegro 无法删除Xnet

allegro 无法删除Xnet Orcad中打开Constraint Manager之后,再生成网表,导入PCB后就会出现一堆Xnet网络。无法去除Xnet。 解决办法 在原理图ORCAD中, 1、打开Edit Object properties 2、选择Filter by:Capture 3、点击New Property 4、设置…

头歌openGauss-存储过程第2关:修改存储过程

任务描述 本关任务&#xff1a; 修改存储过程pro0101&#xff0c;并调用&#xff1b; --修改sel_course表中成绩<60的记录为成绩10&#xff0c;然后将计算机学院所有学生的选课成绩输出&#xff1b; --a、需要先删除存储过程pro0101&#xff1b; drop procedure if exists p…