前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >老张监控技术|Zabbix4.2集成Prometheus基础入门+自动发现详解

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

作者头像
Zabbix
发布2021-02-03 11:16:50
1.7K0
发布2021-02-03 11:16:50
举报
文章被收录于专栏:Zabbix中国官方

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
复制
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
复制
# 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
复制
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
复制
# 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
复制
node_network_receive_bytes_total{device="{#INTERFACE}"}

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

同样配置配置,网卡发送

metrics

代码语言:javascript
复制
# 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
复制
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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Prometheus Exporter
    • 安装
      • 数据结构
        • 说明
        • 类型
        • 数据
    • 集成Prometheus
      • 一般采集
        • LLD(低级别发现)
        • 总结
        相关产品与服务
        Prometheus 监控服务
        Prometheus 监控服务(TencentCloud Managed Service for Prometheus,TMP)是基于开源 Prometheus 构建的高可用、全托管的服务,与腾讯云容器服务(TKE)高度集成,兼容开源生态丰富多样的应用组件,结合腾讯云可观测平台-告警管理和 Prometheus Alertmanager 能力,为您提供免搭建的高效运维能力,减少开发及运维成本。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档