Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >老张监控技术|Zabbix4.2集成Prometheus基础入门+自动发现详解

老张监控技术|Zabbix4.2集成Prometheus基础入门+自动发现详解

作者头像
Zabbix
发布于 2021-02-03 03:16:50
发布于 2021-02-03 03:16:50
1.8K00
代码可运行
举报
文章被收录于专栏:Zabbix中国官方Zabbix中国官方
运行总次数:0
代码可运行

Zabbix能够以多种不同的方式(推/拉)从各种数据源收集数据,包括JMX,SNMP,WMI,HTTP / HTTPS,RestAPI,XML Soap,SSH,Telnet,代理,脚本和其他数据源,4.2版本支持了Prometheus数据源。使用单个HTTP agnet调用获取所有数据,通过依赖指标高效的收集大量的Prometheus指标,然后仅将其用于相关指标监控,还可以将Prometheus数据转换JSON格式,直接用于低级别发现。

Prometheus Exporter

Prometheus提供了基本的采集客户端称为: Exporter,下载对应的Exporter运行,采集指标通过http暴露。

以采集主机信息的node_exporter为例:

安装

Linux node_exporter为例 下载并运行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
tar zxvf node_exporter-0.17.0.linux-amd64.tar.gzcd node_exporter-0.17.0.linux-amd64
./node_exporter

表示启动成功,访问http://Ip:9100/metrics 可以看到所有采集的Metrics,安装成功

数据结构

通过http可以看到所有的metric,metric有固定的数据结构

主要分为以下几个部分

说明

以#号开头HELP metric的说明,前面为metric名称,空格后为说明

类型

以#号开头TYPE metric的类型,前面为metric名称,空格后为类型 Metrics类型有四种

指标类型

描述

说明

Counter

只增不减的计数器,其值只能增加或在重启时重置为零

例如,您可以使用计数器来表示服务的总请求数,已完成的任务或错误总数

Gauge

用来存放一个可以任意变大变小的数值

例如温度或当前内存使用情况,或者运行的goroutine数量

Histogram

一段时间范围内对数据进行采样

通常用它计算分位数的直方图

Summary

客户端定义的数据分布统计图

统计事件发生的次数或者大小,以及其分布情况

- 其中Counter和Gauge最为常用

数据

数据结构

集成Prometheus

Prometheus的Exporter为http方式,因此需要使用Zabbix的http agent,配合使用Zabbix的Dependent items做到一次采集所有指标。由于Prometheus metric较为通用,建议配置独立的模版。 建立一个名为Templage Prometheus的模版,添加一个Master Item

关键配置

配置node_exporter的地址为宏变量

一般采集

配置好之后,配置一个监控操作系统Load5的Item 新建Item

配置之后要配置数据预处理策略

配置之后关联到主机,之后查看数据,已经采集

LLD(低级别发现)

使用Zabbix agent,用LLD可实现自动发现磁盘空间,网卡等不定项的指标,利用LLD也可以Prometheus指标的发现。本次以配置自动发现网卡流量为例。 在模版里配置发现规则

配置数据预处理

这里使用如下metrics

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# HELP node_network_device_id device_id value of /sys/class/net/<iface>.
# TYPE node_network_device_id gauge
node_network_device_id{interface="enp0s3"} 0
node_network_device_id{interface="enp0s8"} 0
node_network_device_id{interface="lo"} 0

使用通配符获取所有网卡。通配符及语法使用方法查看https://www.zabbix.com/documentation/4.2/manual/config/items/itemtypes/prometheus Parameters配置为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
node_network_device_id{interface=~".*"}

配置之后,复制一个metric(完整的metric,包括value),点击test all steps,粘贴metric,点击test

如提示错误,表示规则配置有问题,需要修改。如没有错误,下方会出现处理后的Json,复制Json文本,格式化

根据Json格式配置宏

提取Lables里的interface即网卡名称作为宏 配置如下过滤规则,过滤lo网卡

网卡分为发送和接收2个方向,因此需要创建2个基本的Item发现原型 配置网卡接收Item

Prometheus 的网卡接收Metrics如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# HELP node_network_receive_bytes_total Network device statistic receive_bytes.# TYPE node_network_receive_bytes_total counternode_network_receive_bytes_total{device="enp0s3"} 5.703155e+06node_network_receive_bytes_total{device="enp0s8"} 6.303864e+06node_network_receive_bytes_total{device="lo"} 3.00503e+07

Prometheus pattern参数配置为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
node_network_receive_bytes_total{device="{#INTERFACE}"}

由于网卡流量为bytes,Metric类型counter,配置数据预处理,如图

同样配置配置,网卡发送

metrics

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# HELP node_network_transmit_bytes_total Network device statistic transmit_bytes.
# TYPE node_network_transmit_bytes_total counter
node_network_transmit_bytes_total{device="enp0s3"} 1.4358114e+07
node_network_transmit_bytes_total{device="enp0s8"} 9510
node_network_transmit_bytes_total{device="lo"} 3.00503e+07

Prometheus pattern参数配置为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
node_network_transmit_bytes_total{device="{#INTERFACE}"}

配置同样的预处理规则

注意配置2个Item的key不能重复 最后创建一个图形原型

配置完成之后,可以看到数据已采集 最新数据

图形

总结

Zabbix4.2提供了很多新的功能及特性,对Prometheus的支持可以整合现有的Prometheus监控资源,利用Throttling等功能可以做到高效的资源监控。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Zabbix开源社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Zabbix6.0 LTS 采集 Prometheus node_exporter 指标及自动发现
Zabbix 4.2开始支持通过对PromQL语言原生的支持来实现对Prometheus导出工具的集成。此外,依赖性指标的引入,使得Zabbix能够以高效方式收集大量Prometheus指标:使用单一HTTP调用获取所有数据,而后将其作为主依赖监控项获取对应的相关指标。
Kevin song
2023/02/22
1.5K0
Zabbix6.0 LTS 采集 Prometheus node_exporter 指标及自动发现
Prometheus 基础入门 (一)
Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。2016年由Google发起Linux基金会旗下的原生云基金会(Cloud Native Computing Foundation), 将Prometheus纳入其下第二大开源项目。Prometheus和Heapster(Heapster是K8S的一个子项目,用于获取集群的性能数据。)相比功能更完善、更全面。
Kevin song
2023/02/09
1.4K0
Prometheus 基础入门 (一)
Prometheus 监控Linux Windows主机(七)
Node_exporter 用于采集Linux系统指标数据数据,prometheus官方提供的exporter,除node_exporter外,官方还提供consul,memcached,haproxy,mysqld等exporter。
Kevin song
2023/02/22
4.6K0
Prometheus 监控Linux Windows主机(七)
prometheus实战之二:使用常见指标
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《prometheus实战》系列的第二篇,在《prometheus实战之一:用ansible部署》一文咱们部署了prometheus服务,并且在应用服务器部署了node_exporter,整体情况如下图 目前,prometheus已经可以通过node_exporter从应用服务器取得监控数据,本篇就来学习如何使用这些监控数据来展现应用
程序员欣宸
2023/05/03
5.5K0
prometheus实战之二:使用常见指标
构建企业级监控平台系列(十六):Prometheus Node Exporter 详解
Exporter是Prometheus的指标数据收集组件。它负责从目标Jobs收集数据,并把收集到的数据转换为Prometheus支持的时序数据格式。和传统的指标数据收集组件不同的是,他只负责收集,并不向Server端发送数据,而是等待Prometheus Server 主动抓取,node-exporter 默认的抓取url地址:http://ip:9100/metrics。
民工哥
2023/10/23
3.3K0
构建企业级监控平台系列(十六):Prometheus Node Exporter 详解
如何精简 Prometheus 的指标和存储占用
随着 Prometheus 监控的组件、数量、指标越来越多,Prometheus 对计算性能的要求会越来越高,存储占用也会越来越多。
东风微鸣
2022/12/01
1.5K0
如何精简 Prometheus 的指标和存储占用
Prometheus 入门与实践
随着容器技术的迅速发展,Kubernetes 已然成为大家追捧的容器集群管理系统。Prometheus 作为生态圈 Cloud Native Computing Foundation(简称:CNCF)中的重要一员,其活跃度仅次于 Kubernetes, 现已广泛用于 Kubernetes 集群的监控系统中。本文将简要介绍 Prometheus 的组成和相关概念,并实例演示 Prometheus 的安装,配置及使用,以便开发人员和云平台运维人员可以快速的掌握 Prometheus。
菲宇
2019/06/13
9170
Prometheus 入门与实践
基于Prometheus和Grafana的监控平台 - 运维告警
今天我们就来聊聊 基于Prometheus和Grafana的监控平台的异常告警功能,这也是Prometheus系列的最后一篇。
JAVA日知录
2019/10/30
1.8K0
基于Prometheus和Grafana的监控平台 - 运维告警
Prometheus监控服务器
监控服务器CPU、内存、磁盘、I/O等信息,首先需要安装node_exporter。node_exporter的作用是用于机器系统数据收集。
拓荒者
2019/08/01
3.8K0
3.Prometheus监控入门之指标与标签使用说明
描述: 在使用prometheus时常常会给导出器采集的数据配置一个指标名称,所以指标命名对于数据采集或者使用有一定的重要性,即构建指标标准名称可以按照以下规则进行。
全栈工程师修炼指南
2022/09/29
5.2K0
使用Docker部署Prometheus实现微信邮件报警
从上图可以看出,Prometheus的主要模块包括:Prometheus server,exporters,Pushgateway,PromQL,Alertmanager以及图形界面。
肉眼品世界
2020/11/11
1.3K0
使用Docker部署Prometheus实现微信邮件报警
03 . Prometheus监控容器和HTTP探针应用及服务发现
指定样式格式的版本 在Exporter响应的HTTP头信息中,可以通过Content-Type指定特定的规范版本,例如:
iginkgo18
2020/09/27
1.8K0
03 . Prometheus监控容器和HTTP探针应用及服务发现
性能监控之 node_exporter+Prometheus+Grafana 实现主机监控
在 Prometheus 的架构设计中,Prometheus Server 并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的 CPU 使用率,我们需要使用到 Exporter。Prometheus 周期性的从 Exporter 暴露的 HTTP 服务地址(通常是 /metrics)拉取监控样本数据。
高楼Zee
2021/04/01
8.9K1
性能监控之 node_exporter+Prometheus+Grafana 实现主机监控
【实践】Docker环境部署Prometheus+Grafana监控系统
Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。
辉哥
2021/03/30
2.1K0
【实践】Docker环境部署Prometheus+Grafana监控系统
1.Prometheus监控入门之介绍整体架构及安装
[TOC] 0x00 前言简述 0.学习导读 Q: 什么是监控? 描述: 一般的将这类可操作的计算机系统归纳为以下四个特征; 1.告警: 掌握故障的发生时间并通知相应人员(监控的重要目标)。 2.调
全栈工程师修炼指南
2022/09/29
7780
1.Prometheus监控入门之介绍整体架构及安装
Prometheus+Grafana+钉钉部署一个单机的MySQL监控告警系统
以上单机版的prometheus服务端就部署完成了,接下来我们部署下node_export 和 mysqld_export 来采集系统和 MySQL 的监控数据。
GreatSQL社区
2023/02/24
8530
Prometheus+Grafana+钉钉部署一个单机的MySQL监控告警系统
以上单机版的prometheus服务端就部署完成了,接下来我们部署下node_export 和 mysqld_export 来采集系统和 MySQL 的监控数据。
GreatSQL社区
2022/05/26
7060
2.Prometheus监控入门之监控配置说明
描述: 如果我们采用prometheus提供的二进制可执行文件进行搭建prometheus服务器,可以按照以下流程进行操作运行,二进制Release下载地址: https://github.com/prometheus/prometheus/releases
全栈工程师修炼指南
2022/09/29
5.8K0
2.Prometheus监控入门之监控配置说明
《Prometheus监控实战》第4章 监控主机和容器
第4章 监控主机和容器 首先,我们将在每台主机上安装exporter,然后配置节点和Docker指标让Prometheus来抓取。基本主机资源监控 CPU 内存 磁盘 可用性 然后,我们利用收集的指标来构建一些聚合指标并保存为记录规则 最后,我们会简要介绍Grafana,并对收集的数据进行基本的可视化 回顾USE: 使用率(Utilization) 饱和度(Saturation) 错误(Error) USE方法可以概括为:针对每个资源,检查使用率、饱和度和错误。该方法对于监控那些受高使用率或饱和度的性能问题
yeedomliu
2019/12/19
5.6K0
Grafana Prometheus Altermanager
Prometheus 是一套开源的系统监控、报警、时间序列数据库的组合,最初有 SoundCloud 开发的,后来随着越来越多公司使用,于是便独立成开源项目。Alertmanager 主要用于接收 Prometheus 发送的告警信息,它支持丰富的告警通知渠道,例如邮件、微信、钉钉、Slack 等常用沟通工具,而且很容易做到告警信息进行去重,降噪,分组等,是一款很好用的告警通知系统。
小陈运维
2022/11/12
9730
推荐阅读
相关推荐
Zabbix6.0 LTS 采集 Prometheus node_exporter 指标及自动发现
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验