实战k8s监控--Exporter

Exporter介绍Exporter是什么广义上讲所有可以向Prometheus提供监控样本数据的程序都可以被称为一个Exporter。而Exporter的一个实例称为target,如下所示,Prometheus通过轮询的方式定期从这些target中获取样本数据Exporter的来源从Exporter的来源上来讲,主要分为两类:社区提供的Prometheus社区提供了丰富的Exporter实现,涵盖了从基础设施,中间件以及网络等各个方面的监控功能。这些Exporter可以实现大部分通用的监控
摘要由CSDN通过智能技术生成

Exporter介绍

Exporter是什么

广义上讲所有可以向Prometheus提供监控样本数据的程序都可以被称为一个Exporter。而Exporter的一个实例称为target,如下所示,Prometheus通过轮询的方式定期从这些target中获取样本数据
在这里插入图片描述

Exporter的来源

从Exporter的来源上来讲,主要分为两类:

  • 社区提供的
    Prometheus社区提供了丰富的Exporter实现,涵盖了从基础设施,中间件以及网络等各个方面的监控功能。这些Exporter可以实现大部分通用的监控需求。
  • 用户自定义的
    除了直接使用社区提供的Exporter程序以外,用户还可以基于Prometheus提供的Client Library创建自己的Exporter程序,目前Promthues社区官方提供了对以下编程语言的支持:Go、Java/Scala、Python、Ruby。同时还有第三方实现的如:Bash、C++、Common Lisp、Erlang,、Haskeel、Lua、Node.js、PHP、Rust等。

Exporter的运行方式

从Exporter的运行方式上来讲,又可以分为:

  • 独立使用的
    由于操作系统本身并不直接支持Prometheus,同时用户也无法通过直接从操作系统层面上提供对Prometheus的支持。因此,用户只能通过独立运行一个程序的方式,通过操作系统提供的相关接口,将系统的运行状态数据转换为可供Prometheus读取的监控数据。 这些Exporter程序扮演了一个中间代理人的角色。
  • 集成到应用中的
    为了能够更好的监控系统的内部运行状态,有些开源项目如Kubernetes,ETCD等直接在代码中使用了Prometheus的Client Library,提供了对Prometheus的直接支持。这种方式打破的监控的界限,让应用程序可以直接将内部的运行状态暴露给Prometheus,适合于一些需要更多自定义监控指标需求的项目。

常用Exporter

交付kube-state-metric

为prometheus采集k8s资源数据的exporter,能够采集绝大多数k8s内置资源的相关数据,例如pod、deploy、service等等。同时它也提供自己的数据,主要是资源采集个数和采集发生的异常次数统计
官网https://quay.io/repository/coreos/kube-state-metrics?tab=tags

[root@node7-200 ~]# docker pull quay.io/coreos/kube-state-metrics:v1.5.0
[root@node7-200 ~]# docker images|grep kube-state
[root@node7-200 ~]# docker tag 91599517197a harbor.od.com/public/kube-state-metrics:v1.5.0
[root@node7-200 ~]# docker push harbor.od.com/public/kube-state-metrics:v1.5.0
[root@node7-200 ~]# mkdir /data/k8s-yaml/kube-state-metrics
[root@node7-200 ~]# cd /data/k8s-yaml/kube-state-metrics
[root@node7-200 kube-state-metrics]# vi rbac.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    addonmanager.kubernetes.io/mode: Reconcile
    kubernetes.io/cluster-service: "true"
  name: kube-state-metrics
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    addonmanager.kubernetes.io/mode: Reconcile
    kubernetes.io/cluster-service: "true"
  name: kube-state-metrics
rules:
- apiGroups:
  - ""
  resources:
  - configmaps
  - secrets
  - nodes
  - pods
  - services
  - resourcequotas
  - replicationcontrollers
  - limitranges
  - persistentvolumeclaims
  - persistentvolumes
  - namespaces
  - endpoints
  verbs:
  - list
  - watch
- apiGroups:
  - policy
  resources:
  - poddisruptionbudgets
  verbs:
  - list
  - watch
- apiGroups:
  - extensions
  resources:
  - daemonsets
  - deployments
  - replicasets
  verbs:
  - list
  - watch
- apiGroups:
  - apps
  resources:
  - statefulsets
  verbs:
  - list
  - watch
- apiGroups:
  - batch
  resources:
  - cronjobs
  - jobs
  verbs:
  - list
  - 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Prometheus Black-exporter 是一个用于监控黑名单端口的工具。它可以通过监听网络流量,并根据设定的黑名单规则来检测是否存在未授权的端口访问。 当监控到黑名单中的端口被访问时,Prometheus Black-exporter 会触发告警,通知管理员或相关团队。这样可以帮助及时发现并应对潜在的安全威胁。 该工具可以与 Prometheus 监控系统结合使用,通过将监控数据导入到 Prometheus 中,可以更加灵活地处理告警信息并进行可视化展示。 为了配置并启动 Prometheus Black-exporter 监控端口,我们可以按照以下步骤进行操作: 1. 首先,在服务器上安装并配置 Prometheus 和 Black-exporter。可以通过下载官方提供的二进制文件或使用包管理工具进行安装。 2. 接下来,编辑 Black-exporter 的配置文件,设置黑名单规则和要监听的端口。 3. 启动 Black-exporter 服务,并确保其正常运行。可以通过查看日志文件或进行端口扫描来验证。 4. 在 Prometheus 的配置文件中,添加 Black-exporter监控目标,并指定其相关信息,例如 IP 地址和端口号。 5. 重启 Prometheus 服务,使其加载新的配置文件,并开始收集和处理 Black-exporter 提供的监控数据。 6. 最后,设置 Prometheus 的告警规则,定义当监控数据中出现黑名单端口访问时触发告警的条件和动作。 通过以上步骤的配置和使用,我们可以实现对黑名单端口的实时监控和告警。及时发现和处理未授权的端口访问,有助于提高网络安全性,防止潜在的安全漏洞和攻击。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值