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

zabbix企业级分布式监控

目录

一:监控系统的功能概述

二:监控系统的开源产品

三:zabbixxit概述

四:部署流程

1.资源清单

2.基础环境

3.部署zabbixserver

4.zabbix页面配置

5.部署proxy

6.部署Agent


一:监控系统的功能概述

监控、从中文的字义来看,有两个内容,一是检测,二是控制。重点在第一个字眼,即检测、预防的
意思。
监控,对应的英文单词是 Monitoring。在计算机领域,可以将其分为5种监控类型。

应用性能监控
业务交易监控
网络性能监控
操作系统监控

上面5种类型将监控这个概念划分成了多个领域。我们通常所说的监控,都会模糊的包含以上5个细分的领域。在任何一个 IT业务环境中,都会存在各种各样的硬件设备、软件应用等。
按照逻辑层次划分,我们可以将我们可以将监控行为划分为5个层次:基础设施监控、系统层监控、应用层监控、业务监控、端用户体验监控。


最底层基础设施监控:这层一般由运维人员负责,涉及到的方面比较接近硬件体系,例如网络,交换机,路由器等低层设备,这些设备的可靠性稳定性就直接影响到上层服务应用的稳定性,所以需要对网络
的流量,丢包情况、错包情况,连接数等等这些基础设施的核心指标进行监控。系统层监控:这层涵盖了物理机、虚拟机、操作系统等,这些都是属于系统级别监控的方面,主要对几个核心指标进行监控,如cpu 使用率、内存占用率,磁盘 I0 和网络带宽情况。应用层监控:这层涉及到方面和服务紧密相关,例如对 ur1 访问的性能,访问的调用数,访问的延迟,还有对服务提供性能进行监控,服务的错误率等,同时对 sq1也需要进行监控,查看是否有慢 sq1。对于cache 来说,需要监控缓存的命中率和性能,每个服务的响应时间等等。

业务监控:业务监控具体指什么?举个例子,比如说一个典型的交易网站,需要关注它的用户登录情况、注册情况、下单情况、支付情况等等,这些直接影响到实际触发的业务交易情况,这层监控可以提供给运营和公司高管们,提供他们需要关注的数据,直接以数据支撑公司在战略层面的决策和方向。
端用户体验监控:一个应用程序可能通过 app、h5、pc端的方式交付到用户的手上,用户通过浏览器。客户端打开连到我们的服务,那么在用户端,用户的体验是怎么样?用户端的性能是怎么样?以及有没有产生错误等等…这些信息都需要进行监控并记录下来,如果没有监控,有可能因为某些 BUG 或者性能问题,造成用户体验非常差,而我们并没有感知。其中包括监控用户端的使用性能、返回码,在哪些城市地区,他们的使用情况是怎么样,还有运营商的情况,包括三大运营商不同用户的连接情况。我们需要进一步知道,是否有哪些渠道哪些用户接入的时候存在着问题,我们还需要知道客户端使用的操作系统浏览器的版芥

二:监控系统的开源产品

1: zabbix
Zabbix 是一款出色的企业级运维监控平台,可用于监控从服务器、网络设备到 web 应用程序和数据库的性能和可用性的一切;它可以安装在 Linux、AIX、Windows、Solaris、Mac0s x、FreeBsD、openBSD 等系统上使用,具有非常良好的适配能力

2:Prometheus+Grafana
Prometheus 是一个开源系统监控和警报工具包,主要用于对基础设施的监控,包括服务器(CPU、MEM 等)、数据库(MYSQL、PostgresQL 等)、web 服务等,几乎所有东西都可以通过 Prometheus 进行监控。
3:Cacti
Cacti 是一款网络流量监测图形分析工具,它连接到 RRDTo01,生成与网络数据相关的图表,具有非常强大的数据和用户管理功能,可以指定每一个用户能査看树状结构、host 以及任何一张图,还可以与LDAP 结合进行用户验证,同时也能自己增加模板。
4:Nagios
Nagios 是一个监控系统运行状态和网络信息的监控系统,它可以监控所指定的本地或远程主机以及服务,同时提供异常通知功能等;能够监控几乎所有类型的组件,如网络协议、操作系统、系统指标、应用程序,服务,web服务器,等

5:Checkmk
Checkmk 是一个高度可扩展的监控工具,可监控服务器、网络、云资产、数据库、容器、物联网等。
它有两种模式可用,基础版完全开源并提供免费和无限制的监控,企业版附带附加功能。
Checkmk 具有部署快、高度自动化、配置灵活的特点。
6:openNMS
OpenNMS 是一个企业级基于 Java/XML 的分布式网络和系统监控管理平台。它能够显示网络中各中终端和服务器的状态和配置,为管理网络提供有效的信息。它专为Linux 设计,但也支持 Windows、Solaris 和 OSX。
OpenNMS 可以使用 JMX、WMI、SNMP、NRPE、XML HTTP、JDBC、XML、JSON 等收集系统指标。
7:Netdata
Netdata 是一款 Linux 性能实时监测工具,它可以为 Linux 系统、应用程序、SNMP 服务等提供实时的性能监测,目前在物理系统、虚拟机、容器和物联网/边缘设备上运行。Netdata具有监控指标多而广,数据收集速度快等特点,可以同时并发监控数万个指标,交互式可视化和富有洞察力的健康警报,可以即时诊断基础架构中的异常情况。
8:LibreNMS
LibreNMS 是一个开源、功能丰富且强大的网络监控系统,易于安装和配置,可以在多种平台上使用;它提供了广泛的功能,包括对各种协议的支持、性能监控、警报等;支持广泛的供应商、设备和协议,包括 Cisco、Linux、Windows、HP、Juniper、Dell、FreeBsD、Brocade、citrix、F5 Networks 等;还可以根据接口进行接口分组,使用 SNMP、CDP、ARP、FDP、OSPF、LLDP、BGP 自动发现整个网络。

三:zabbixxit概述

1:初识 Zabbix

Zabbix 是什么,它是一种企业级的分布式开源监控系统的解决方案,Zabbix 是一个基于 web 界面
的提供分布式系统监控,以及网络监控功能的企业级开源解决方案。Zabbix 由 Alexei Vladishev 创建,目前由 Zabbix SIA 主导开发和支持。Zabbix 是一款监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的健康和完整性的软件。Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的告警,以实现对服务器问题做出快速反应。zabbix 基于存储的数据提供出色的报告和数据可视化功能。这使得Zabbix 成为容量规划的理想选择。
Zabbix 支持轮询和 trapping。所有 zabbix 报告和统计数据以及配置参数都可以通过基于 web的前端访问。基于 web 的前端确保可以从任何位置评估您的网络状态和服务器的健康状况。如果配置得当,不管对于拥有少量服务器的小型组织还是拥有大量服务器的大公司来讲,zabbix 都可以在监控 IT基础设施方面发挥重要作用。
Zabbix 是免费的。Zabbix 是在 GPL 通用公共许可证第 2 版下编写和分发的。这意味着它的源代码是免费分发的,可供公众使用。

四:部署流程

1.资源清单

操作系统IP主机名角色
openeuler192.168.10.101server01被监控节点
openeuler192.168.10.102server02被监控节点
openeuler192.168.10.103proxyzabbix proxy
openeuler192.168.10.104zabbixzabbix服务器

2.基础环境

修改主机名

[root@localhost ~]# hostnamectl set-hostname zabbix
[root@localhost ~]# hostnamectl set-hostname proxy
[root@localhost ~]# hostnamectl set-hostname server01
[root@localhost ~]# hostnamectl set-hostname server02

3.部署zabbixserver

添加zabbix源

[root@zabbix ~]# rpm -ivh zabbix-release-latest-6.4.el9.noarch.rpm 

[root@zabbix ~]# dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
[root@zabbix ~]# dnf clean all
60 files removed

配置数据库

[root@zabbix ~]# dnf -y install mysql
[root@zabbix ~]# dnf -y install mysql-server-8.0.41
[root@zabbix ~]# dnf -y install net-snmp-libs-5.9.1-17.el9.x86_64.rpm 
[root@zabbix ~]# systemctl start mysqld
[root@zabbix ~]# systemctl enable mysqld

[root@zabbix ~]# mysql -uroot

mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.01 sec)
mysql> create user zabbix@'localhost' identified by 'zabbix';
Query OK, 0 rows affected (0.01 sec)

mysql> grant all privileges on zabbix.* to zabbix@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> create database zabbix_proxy character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.01 sec)

mysql> create user zabbix@'%' identified by 'zabbix';
Query OK, 0 rows affected (0.02 sec)

mysql> grant all privileges on zabbix_proxy.* to zabbix@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on zabbix_proxy.* to zabbix@'localhost';
Query OK, 0 rows affected (0.01 sec)

mysql> set global log_bin_trust_function_creators=1;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> exit
Bye

导入数据

[root@zabbix ~]# cd /usr/share/zabbix-sql-scripts/
[root@zabbix zabbix-sql-scripts]# ls
mysql  postgresql  sqlite3
[root@zabbix zabbix-sql-scripts]# cd mysql/
[root@zabbix mysql]# ls
double.sql  history_pk_prepare.sql  proxy.sql  server.sql.gz
[root@zabbix mysql]# zcat server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

配置文件

root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf 
DBPassword=zabbix       #129行

配置zabbix界面

[root@zabbix ~]# vim /etc/nginx/conf.d/zabbix.conf 
注释

    listen     8080;

    server_name      _;

启动服务

[root@zabbix ~]# systemctl restart zabbix-server zabbix-agent nginx php-fpm
[root@zabbix ~]# systemctl enable zabbix-server zabbix-agent nginx php-fpm

4.zabbix页面配置

登录:192.168.10.106:8080

检查环境

5.部署proxy

添加zabbix源

[root@proxy ~]# rpm -ivh zabbix-release-latest-6.4.el9.noarch.rpm 
[root@proxy ~]# dnf clean all
50 files removed

安装软件包

[root@proxy ~]# dnf -y install zabbix-proxy-mysql zabbix-sql-scripts zabbix-selinux-policy mysql
[root@proxy ~]# dnf -y install net-snmp-libs-5.9.1-17.el9.x86_64.rpm 

[root@zabbix ~]# mysql -uroot -p123456

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set global log_bin_trust_function_creators=1;
Query OK, 0 rows affected, 1 warning (0.00 sec)

导入数据

[root@proxy ~]# cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix_proxy -h 192.168.10.106
Enter password: 
[root@proxy ~]# 

配置zabbix proxy

[root@proxy ~]# vim /etc/zabbix/zabbix_proxy.conf 
Server=192.168.10.106

Hostname=Zabbix proxy

DBHost=192.168.10.106

DBPassword=zabbix

[root@proxy ~]# systemctl start zabbix-proxy

web页面添加proxy

6.部署Agent

添加zabbix

[root@server01 ~]# rpm -ivh zabbix-release-latest-6.4.el9.noarch.rpm 
[root@server01 ~]# dnf clean all
50 files removed
[root@server01 ~]# dnf -y install zabbix-agent

[root@server01 ~]# vim /etc/zabbix/zabbix_agentd.conf 

Server=192.168.10.106
ServerActive=192.168.10.106
Hostname=server01

启动服务

[root@server01 ~]# systemctl start zabbix-agent

添加主机

http://www.lryc.cn/news/595358.html

相关文章:

  • Java 实现 UDP 多发多收通信
  • C++unordered系列的map和set类(封装)
  • WAMP配置局域网https服务
  • C# 实现:动态规划解决 0/1 背包问题
  • Nacos 探活机制深度解析:临时 / 永久实例差异及与 Sentinel 的熔断协作
  • OpenAI API(1)补全Responses(Chat Completions)API和记忆Assistants API对比分析
  • Java 大视界 -- 基于 Java 的大数据分布式计算在地球物理勘探数据处理与地质结构建模中的应用(356)
  • 16 BTLO 蓝队靶场 Drill Down 解题记录
  • 前缀和题目:元素和小于等于阈值的正方形的最大边长
  • 计算机发展史:互联网时代的万物互联与全球变革
  • MySQL 17 如何正确地显示随机消息?
  • 【爬虫】06 - 自动化爬虫selenium
  • 元宇宙与游戏:虚实交融的数字文明新纪元
  • ni-app 对鸿蒙的支持现状
  • 深入浅出 BeanUtil.copyProperties:Java 属性复制的利器与避坑指南
  • compser json和lock的作用区别
  • 基于ArcFace损失函数训练的人脸特征提取模型
  • PDF 表单字段属性详解
  • Java学习----NIO模型
  • 识别PDF中的二维码
  • 软件中如何实现自动记忆上一次选的打印机(Python示例)
  • 数据结构 之 【排序】(直接插入排序、希尔排序)
  • 二分查找-35.搜索插入位置-力扣(LeetCode)
  • C语言-字符串数组
  • Vue过度与动画效果
  • FastAPI 中,数据库模型(通常使用 SQLAlchemy 定义)和接口模型(使用 Pydantic 定义的 schemas)的差异
  • Excel函数 —— TEXTJOIN 文本连接
  • 系统分析师-计算机系统-操作系统-存储器管理设备管理
  • LeafletJS 插件开发:扩展自定义功能
  • Java 实现 TCP 一发一收通信