Prometheus 监控服务 Apache Exporter 接入

Apache Exporter 是一种用于收集和公开 Apache HTTP 服务器指标的工具,Exporter 上报的核心指标,用于异常报警和监控大盘展示。腾讯云可观测平台 Prometheus 提供了 Apache Exporter 集成与开箱即用的 Grafana 监控大盘。

相关产品
Prometheus 监控服务 产品页,含版本规格、价格与购买入口。

一、操作场景

注意:说明:

注意:为了保证 Exporter 能够采集数据,需要确保 Apache 服务已打开 服务状态 相关内容。

二、操作步骤

1. 登录 Prometheus 监控服务控制台。

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 模块,具体步骤如下:

1. 登录 容器服务控制台。

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 部署

1. 登录 容器服务控制台。

2. 在左侧菜单栏中单击集群。

3. 单击需要获取集群访问凭证的集群 ID/名称,进入该集群的管理页面。

4. 执行以下 部署 Apache Exporter > 验证 步骤完成 Exporter 部署。

步骤三:部署 Apache Exporter

1. 在左侧菜单中选择工作负载 > Deployment,进入 Deployment 页面。

2. 在页面右上角单击 YAML 创建资源,创建 YAML 配置,选择对应的命名空间来进行部署服务,可以通过控制台的方式创建。如下以 YAML 的方式部署 Exporter, 配置示例如下:

apiVersion: apps/v1kind: Deploymentmetadata: 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/v1kind: PodMonitormetadata: name: apache-exporter # 填写一个唯一名称 namespace: cm-prometheus # 按量实例: 集群的 namespace; 包年包月实例(已停止售卖): 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 托管服务支持告警配置,可根据业务实际的情况来添加告警策略。详情请参见 新建告警策略。

十、全局配置参数

名称 描述
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 打印版本信息。
赞 (0)
上一篇 4天前
下一篇 4天前