tencent cloud

Prometheus 监控服务

产品简介
产品概述
产品优势
应用场景
基本概念
相关限制
功能特性
开服地域
购买指南
计费概述
按量付费(后付费)
免费试用介绍
托管采集器付费介绍
归档存储付费介绍
购买方式
欠费说明
快速入门
接入指南
抓取配置说明
自定义监控
EMR 接入
Java 应用接入
Golang 应用接入
Exporters 接入
Nacos 接入
通用组件监控
健康巡检
TKE 集群内安装组件说明
云监控
非腾讯云主机监控
通过 Remote Read 读取云托管 Prometheus 实例数据
Agent 自助接入
Pushgateway 接入
安全组开放说明
操作指南
实例
容器监控
集成中心
数据多写
预聚合
实例诊断
归档存储
告警策略
标签管理
访问控制
Grafana
API 使用指南
容器服务指标
相关资源使用及计费说明
实践教程
自建 Prometheus 迁入
云服务器场景下自定义接入
容器场景监控
TKE Serverless 集群如何放通外网
Prometheus 监控服务如何接入本地 Grafana
Prometheus 实例访问公网
配置 Prometheus 公网地址
Terraform
Terraform 概述
使用 Terraform 管理 Prometheus 实例
使用 Terraform 管理 Prometheus 实例的集成中心
使用 Terraform 采集容器监控数据
使用 Terraform 配置告警策略
常见问题
基础问题
集成容器服务相关
产品咨询
使用&技术问题
云监控问题
服务等级协议
TMP 政策
TMP 隐私协议
TMP 数据处理和安全协议

Apache Exporter 接入

PDF
聚焦模式
字号
最后更新时间: 2024-10-24 19:04:48

操作场景

Apache Exporter 是一种用于收集和公开 Apache HTTP 服务器指标的工具,Exporter 上报的核心指标,用于异常报警和监控大盘展示。腾讯云可观测平台 Prometheus 提供了 Apache Exporter 集成与开箱即用的 Grafana 监控大盘。
说明:
为了保证 Exporter 能够采集数据,需要确保 Apache 服务已打开 服务状态 相关内容。

接入方式

方式一:一键安装(推荐)

操作步骤

2. 在实例列表中,选择对应的 Prometheus 实例。
3. 进入实例详情页,选择数据采集 > 集成中心
4. 在集成中心搜索 Apache,找到后单击它即会弹出一个安装窗口。
5. 在弹出窗口的安装页面,填写指标采集名称、地址、路径等信息,并单击保存




配置说明

参数
说明
名称
集成名称,命名规范如下:
名称具有唯一性。
名称需要符合下面的正则:'^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$'。
地址
Apache HTTP 服务的连接地址。
路径
Apache HTTP 服务的服务状态路径,默认为 /server-status
用户名
Apache HTTP 服务的用户名称。
密码
Apache HTTP 服务的密码。
标签
给指标添加自定义 Label。

方式二:自定义安装

说明:
为了方便安装管理 Exporter,推荐使用腾讯云 容器服务 来统一管理。

前提条件

在 Prometheus 实例对应地域及私有网络(VPC)下,创建腾讯云容器服务 Kubernetes 集群,并为集群创建 命名空间
Prometheus 监控服务控制台 > 选择对应的 Prometheus 实例 > 数据采集 > 集成容器服务中找到对应容器集群完成关联集群操作。可参见指引 关联集群

操作步骤

步骤一:Apache 服务开启 mod_status 模块
说明:
容器服务相关操作可参见 容器服务 相关文档。
因为 Apache Exporter 是通过 Apache 的 mod_status 模块对其进行监控,所以需要确保 Apache 服务打开了 mod_status 模块,具体步骤如下:
2. 在左侧菜单栏中单击集群,找到业务 Apache 服务所在集群,进入集群,找到业务 Apache 服务。
3. 若未添加 Apache 服务相关 ConfigMap,登录到业务 Apache 服务,将配置目录下的 httpd.conf、mime.types、extra/httpd-info.conf 等配置信息进行拷贝,创建 ConfigMap,将配置信息添加到该 ConfigMap 中,ConfigMap 相关操作指引见 ConfigMap 管理
4. 在 httpd.conf 中将这一行 LoadModule status_module modules/mod_status.so 注释去掉(即去掉最前面的#)。若服务存在 extra 相关配置,则在 httpd.conf 中放开相应配置,方法为去掉相关配置的注释。示例如下图所示:



5. 修改 httpd-info.conf 为业务需要的规则,并放开 ExtendedStatus,若不存在 extra 相关配置,则在 httpd.conf 中修改即可。示例如下图所示:



6. 验证mod_status模块是否开放成功,访问服务的 /server-status 相关接口,若正常返回数据即开放成功。示例如下图所示:



步骤二:Exporter 部署
2. 在左侧菜单栏中单击集群。
3. 单击需要获取集群访问凭证的集群 ID/名称,进入该集群的管理页面。
4. 执行以下 部署 Apache Exporter > 验证 步骤完成 Exporter 部署。
步骤三:部署 Apache Exporter
1. 在左侧菜单中选择工作负载 > Deployment,进入 Deployment 页面。
2. 在页面右上角单击 YAML 创建资源,创建 YAML 配置,选择对应的命名空间来进行部署服务,可以通过控制台的方式创建。如下以 YAML 的方式部署 Exporter, 配置示例如下:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
k8s-app: apache-exporter # 根据业务需要调整成对应的名称,建议加上 Apache 实例的信息
name: apache-exporter # 根据业务需要调整成对应的名称,建议加上 Apache 实例的信息
namespace: apache-demo # 根据业务需要调整成对应的命名空间
spec:
replicas: 1
selector:
matchLabels:
k8s-app: apache-exporter # 根据业务需要调整成对应的名称,建议加上 Apache 实例的信息
template:
metadata:
labels:
k8s-app: apache-exporter # 根据业务需要调整成对应的名称,建议加上 Apache 实例的信息
spec:
containers:
- args:
- --web.listen-address=:9117
- --scrape_uri=http://192.1.1.2:8080/server-status?auto # 根据业务需要调整成 Apache 实例对应地址
image: ccr.ccs.tencentyun.com/rig-agent/common-image:apache-exporter-v1.0.7
name: apache-exporter
ports:
- containerPort: 9117
name: metric-port
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
imagePullSecrets:
- name: qcloudregistrykey
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30

验证
1. 在 Deployment 页面单击上述步骤创建的 Deployment,进入 Deployment 管理页面。
2. 单击日志页签,可以查看到 Exporter 成功启动并暴露对应的访问地址,如下图所示:



3. 单击 Pod 管理页签进入 Pod 页面。
4. 在右侧的操作项下单击远程登录,即可登录 Pod,在命令行窗口中执行以下 curl 命令对应 Exporter 暴露的地址,可以正常得到对应的 Apache 指标。如发现未能得到对应的数据,请检查连接串是否正确,具体如下:
curl localhost:9117/metrics
执行结果如下图所示:



步骤四:添加采集任务
1. 登录 腾讯云可观测平台 Prometheus 控制台,选择对应 Prometheus 实例进入管理页面。
2. 单击数据采集 > 集成容器服务,选择已经关联的集群,通过数据采集配置 > 新建自定义监控 > YAML 编辑来添加采集配置。
3. 通过服务发现添加 PodMonitors 来定义 Prometheus 抓取任务,YAML 配置示例如下:
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: apache-exporter # 填写一个唯一名称
namespace: cm-prometheus # 按量实例: 集群的 namesapce; 包年包月实例(已停止售卖): namespace 固定,不要修改
spec:
podMetricsEndpoints:
- interval: 30s
port: metric-port # 填写pod yaml中Prometheus Exporter对应的Port的Name
path: /metrics # 填写Prometheus Exporter对应的Path的值,不填默认/metrics
relabelings:
- action: replace
sourceLabels:
- instance
regex: (.*)
targetLabel: instance
replacement: 'crs-xxxxxx' # 调整成对应的 Apache 实例信息
namespaceSelector: # 选择要监控pod所在的namespace
matchNames:
- apache-demo
selector: # 填写要监控pod的Label值,以定位目标pod
matchLabels:
k8s-app: apache-exporter


查看监控

前提条件

Prometheus 实例已绑定 Grafana 实例。

操作步骤

1. 登录 Prometheus 控制台,选择对应 Prometheus 实例进入管理页面。
2. 单击数据采集 > 集成中心,进入集成中心页面。找到 Apache 监控,安装对应的 Grafana Dashboard 即可开启 Apache 监控大盘,查看实例相关的监控数据,如下图所示:




配置告警

腾讯云 Prometheus 托管服务支持告警配置,可根据业务实际的情况来添加告警策略。详情请参见 新建告警策略

附录:Apache Exporter 采集参数说明

全局配置参数

名称
描述
telemetry.endpoint
指标暴露路径,默认 /metrics
scrape_uri
apache 服务状态页面 url,默认 http://localhost/server-status/?auto
host_override
覆盖 HTTP 主机标头,空字符串为没有覆盖。
[no-]insecure
如果使用 https,则忽略服务器证书。
custom_headers
将自定义标头添加到 Exporter。
[no-]web.systemd-socket
使用 systemd 套接字监听器代替端口监听器(仅限 Linux)。
web.listen-address
监听地址,默认:9117。
web.config.file
配置文件的路径,可以启用 TLS 或身份验证(实验性参数)。
log.level
日志级别,默认 info。
log.format
日志消息的输出格式,取值范围:[logfmt,json],默认 logfmt。
version
打印版本信息。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈