经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Windows » 查看文章
k8s中使用prometheus operator监控外部服务器部署的windows exporter
来源:cnblogs  作者:星空流年  时间:2023/2/20 15:17:25  对本文有异议

k8s中使用prometheus operator监控外部服务器部署的windows exporter

0、文档说明

(1)Prometheus Operator是一个流行的k8s集群监控套件,项目地址:https://github.com/prometheus-operator/kube-prometheus,在参考文档部署前,请先确保在k8s环境中已经部署成功Prometheus Operator组件

(2)本文档通过 ServiceMonitor 方式部署监控信息,至于其他方式的部署,这里不做说明

(3)在k8s中监控外部资源,并不仅限于windows exporter,可以是k8s外部任意类型的服务对应的exporter,例如Node、Mysql、Redis、etcd等。本文档中部署的10.1.121.157为非集群节点

(4)Windows Exporter 由 Prometheus Community 维护的一个采集 Windows 机器指标的采集器,支持 Windows Server 2008R2 以上版本或者 Windows 7 以上版本,官方地址是:https://github.com/prometheus-community/windows_exporter,当前版本是 v0.20.0。

(5)在参考本文档之前,请先确保外部服务器已经安装成功 windows exporter,关于windows exporter的安装,这里不再说明,windows exporter的下载地址如下:https://github.com/prometheus-community/windows_exporter/releases

(6)版本说明

资源名称版本信息说明
Kubernetes v1.23.7 k8s服务器
Kuboard v3.5.2.0 k8s连接管理工具
windows exporter v0.20.0 windows exporter版本
prometheus operator v0.43.2 prometheus operator版本
Grafana v9.0.2 Grafana版本

1、部署操作步骤

1.1、外部服务器安装windows exporter

(1)Windows Exporter 在发布的时候提供了两种格式的文件,即 *.exe 和 *.msi 。MSI (Microsoft Installers)是 Windows 的包管理器,类似于 Linux 的 rpm。Windows Exporter 每个版本都提供一个 .msi 安装程序。安装程序将 windows_exporter 设置为 Windows 服务,并在 Windows 防火墙中创建一个异常。我们在使用的时候可以选择任意一种格式来进行安装。下载地址如下:https://github.com/prometheus-community/windows_exporter/releases

(2)关于windows exporter的安装,这里不再对此说明,可以参考如下安装:https://help.aliyun.com/document_detail/463494.html

1.2、在k8s中创建Service

在k8s容器中需要为外部服务器上安装的windows exporter定义一个不需要Pod的Service,从而将k8s与外界服务器建立联系。外部服务器的服务定义与k8s中普通服务定义非常相似,对应的yml文件如下:

  1. ---
  2. apiVersion: v1
  3. kind: Service
  4. metadata:
  5. name: windows-exporter-157
  6. namespace: prometheus-exporter
  7. labels:
  8. app: windows-exporter-157
  9. app.kubernetes.io/name: windows-exporter-157
  10. spec:
  11. clusterIP: None
  12. ports:
  13. - name: metrics
  14. port: 9182
  15. protocol: TCP
  16. targetPort: 9182

说明:

(1)windows_exporter默认端口是9182,这里配置的端口号和外部服务器安装的windows exporter保持一致

(2)这里部署的Service下没有关联pod,仅是一个单独的service,需要建立endpoints将其外部服务与service建立关联

1.3、为创建的Service建立endpoints

  1. ---
  2. apiVersion: v1
  3. kind: Endpoints
  4. metadata:
  5. name: windows-exporter-157
  6. namespace: prometheus-exporter
  7. labels:
  8. app: windows-exporter-157
  9. app.kubernetes.io/name: windows-exporter-157
  10. subsets:
  11. - addresses:
  12. # 这里是外部资源列表
  13. - ip: 10.1.121.157
  14. ports:
  15. - name: metrics
  16. port: 9182

说明:

(1)Service名称必须和Endpoints名称一致才能使Service指向对应的资源

(2)通过采用IP指定的方式,将endpoints与外部资源关联起来

1.4、在k8s中创建ServiceMonitor

  1. ---
  2. apiVersion: monitoring.coreos.com/v1
  3. kind: ServiceMonitor
  4. metadata:
  5. name: windows-exporter-157
  6. namespace: prometheus-exporter
  7. labels:
  8. app: windows-exporter-157
  9. release: prometheus
  10. spec:
  11. selector:
  12. matchLabels:
  13. app: windows-exporter-157
  14. namespaceSelector:
  15. matchNames:
  16. - prometheus-exporter
  17. endpoints:
  18. - port: metrics
  19. interval: 1m
  20. path: /metrics
  21. scheme: http

说明:

(1)服务创建完成需要配置一个ServiceMonitor来监控服务监控采集地址,默认情况下监控采集地址为 /metrics

(2)Service Monitor中endpoints配置部分的port名称与之前部署的endpoints保持一致

1.5、在k8s中查看监控数据

1.5.1、Prometheus Targets

1.5.2、Grafana dashboard

Grafana dashboard中导入的看板ID为:10467,grafana模板地址如下:https://grafana.com/grafana/dashboards/,windows exporter对应的监控指标以官方文档为准,因为在导入模板进行数据展示的时候,发现有些监控指标已经更改了名称,当然监控指标也可以在上述内容部署成功之后,通过prometheus的可视化界面查询得到当前监控的指标数据(官方文档地址:https://github.com/prometheus-community/windows_exporter/blob/master/docs/README.md),所以针对监控指标表示的意思这里不再进行说明,感兴趣的小伙伴可以参考官方说明。

原文链接:https://www.cnblogs.com/cndarren/p/17137233.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号