码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【30天精通Prometheus:一站式监控实战指南】第18天:apache_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细


    亲爱的读者们👋

      欢迎加入【30天精通Prometheus】专栏!📚 在这里,我们将探索Prometheus的强大功能,并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。🚀

      Prometheus是云原生和DevOps的核心监控工具,我们将从基础概念开始,逐步涵盖配置、查询、告警和可视化。💪

      在接下来的30天里,我们将解锁Prometheus的实战技巧,通过案例和分享,助你深入理解其工作原理。📆

      目标:30天后,你将熟练掌握Prometheus,为未来的项目挑战做好准备!💯

      这是一段精彩旅程,期待你的加入!🎉


    • 【30天精通Prometheus:一站式监控实战指南】第1天:深入探索Prometheus:30天一站式监控实战指南的开篇之旅
    • 【30天精通Prometheus:一站式监控实战指南】第2天:Prometheus从入门到实战:安装、配置详解与生产环境搭建指南
    • 【30天精通Prometheus:一站式监控实战指南】第3天:Alertmanager从入门到实战:安装、配置详解与生产环境搭建指南
    • 【30天精通Prometheus:一站式监控实战指南】第4天:node_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第5天:kafka_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第6天:mysqld_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第7天:postgres_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第8天:redis_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第9天:elasticsearch_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第10天:blackbox_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第11天:consul_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第12天:windows_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第13天:graphite_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第14天:jmx_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第15天:ipmi_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第16天:snmp_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第17天:nginx-prometheus-exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第18天:apache_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第19天:haproxy_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第20天:dcgm-exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
    • 【30天精通Prometheus:一站式监控实战指南】第21天:深入解析PromQL(Prometheus Query Language)的高级用法,解锁监控数据的无限可能,释放监控数据潜能
    • 【30天精通Prometheus:一站式监控实战指南】第22天:如何将Prometheus与Grafana集成,通过可视化的方式展示监控数据,提高监控效率
    • 【30天精通Prometheus:一站式监控实战指南】第23天:如何搭建高可用的Prometheus集群,以应对大规模监控场景和单点故障问题,确保监控服务的稳定性
    • 【30天精通Prometheus:一站式监控实战指南】第24天:Prometheus数据存储与性能调优攻略,通过优化存储和查询性能来提升监控系统的整体效率
    • 【30天精通Prometheus:一站式监控实战指南】第25天:微服务架构下的Prometheus实战,Kubernetes与Prometheus集成:集群监控实战
    • 【30天精通Prometheus:一站式监控实战指南】第26天:构建健壮的高可用Prometheus集群,以应对大规模监控挑战与单点故障风险
    • 【30天精通Prometheus:一站式监控实战指南】第27天:Prometheus与第三方工具集成:提升监控能力
    • 【30天精通Prometheus:一站式监控实战指南】第28天:故障排查与告警分析实战案例分享
    • 【30天精通Prometheus:一站式监控实战指南】第29天:Prometheus监控策略与最佳实践指南
    • 【30天精通Prometheus:一站式监控实战指南】第30天:Prometheus监控技术回顾与未来展望

      文章目录

      • 一、apache_exporter概述📘
      • 二、安装apache_exporter💾
        • 2.1 访问apache_exporter官方网站 🌐
        • 2.2 选择适合的版本🔍
        • 2.3 下载apache_exporter⬇️
        • 2.4 解压安装包📂
        • 2.5 运行apache_exporter🚀
      • 三、apache_exporter指标和配置详解📖
        • 3.1 apache_exporter.service
      • 四、实战演练:生产环境搭建指南🔨
        • 4.1 创建普通用户管理apache_exporter👤
        • 4.2 解压apache_exporter.tar.gz📦
        • 4.3 将apache_exporter集成到Prometheus配置中✂️
        • 4.4 更改apache_exporter软件包名称✂️
        • 4.5 编辑apache_exporter.service文件📝
        • 4.6 启动apache_exporter.service🔌
        • 4.7 查看服务是否正常启动🔍
      • 五、基于云原生的部署方案 🚀
        • 5.1 使用Docker部署apache_exporter🐳
          • 5.1.1 获取Prometheus Docker镜像 📸
          • 5.1.2 运行apache_exporter容器 🏃
          • 5.1.3 验证Docker部署 ✅
        • 5.2 利用Docker-Compose简化部署 📘
          • 5.2.1 编写docker-compose.yml配置文件 📜
          • 5.2.2 使用Docker-Compose启动服务 🚀
          • 5.2.3 验证Docker部署 ✅
        • 5.3 在Docker Swarm中部署apache_exporter🐝——待更新,敬请期待!!!
        • 5.4 在Kubernetes(K8s)上部署apache_exporter🚀——待更新,敬请期待!!!
      • 相关资料下载地址📚

    一、apache_exporter概述📘

    定义
      apache_exporter是一个用于收集和公开Apache HTTP服务器指标的工具。它能够抓取Apache服务器的各项性能指标,如请求数量、连接数、响应时间等,并将这些信息格式化为Prometheus可以理解和收集的格式。

    功能
      指标收集:apache_exporter能够收集Apache服务器的多种性能指标,包括但不限于请求处理数量、当前连接数、服务器响应时间等。

      数据格式化:收集到的数据会被格式化为Prometheus监控系统的标准格式,便于后续的数据分析和可视化。

      集成与兼容性:apache_exporter与Prometheus和Grafana等监控和可视化工具紧密集成,可以无缝地将数据导入这些工具中进行进一步的分析和展示。

      错误跟踪与报告:在数据抓取过程中,如果遇到任何错误,apache_exporter能够记录和报告这些错误,帮助管理员快速定位和解决问题。

    应用场景
      服务器性能监控:在需要实时监控Apache服务器性能的场景中,apache_exporter可以持续收集服务器的各项性能指标,帮助管理员了解服务器的运行状态和性能瓶颈。

      故障排查与预警:当服务器出现异常或性能下降时,通过apache_exporter收集的数据,管理员可以快速定位问题所在,并及时进行预警和处理。

      资源优化与规划:通过对apache_exporter收集的历史数据进行分析,管理员可以更好地了解服务器的负载情况,从而进行合理的资源优化和规划。

    二、安装apache_exporter💾

    注意事项和常见问题
      1.环境配置:确保安装环境符合apache_exporter的要求,比如操作系统版本、内存和存储空间等。设置好相应的环境变量,如GOPATH,以便正确编译和运行apache_exporter。

      2.依赖安装:安装前需确认是否已安装所有必要的依赖,如Go语言环境(若从源码编译)。确保Apache服务器已安装并正常运行,因为apache_exporter是用于监控Apache的。

      3.权限配置:安装和运行apache_exporter可能需要管理员权限,确保以足够权限的用户身份执行安装命令。

      4.配置文件:根据需要修改apache_exporter的配置文件,以确保其能够正确连接到Apache服务器并获取所需指标。

      5.安全性和认证:如果Apache服务器配置了访问控制,确保apache_exporter有权访问/server-status或相关监控页面。考虑到安全性,建议为apache_exporter设置合理的用户认证和权限。

    2.1 访问apache_exporter官方网站 🌐

    • 打开浏览器,访问apache_exporter的官方下载页面,通常位于Github官方网站的apache_exporter下:https://github.com/Lusitaniae/apache_exporter/releases

    2.2 选择适合的版本🔍

    • 在下载页面,你将看到不同操作系统的apache_exporter二进制包。根据你的操作系统选择适合的版本。例如,如果你使用的是Linux 64位系统,就选择apache_exporter-1.0.7.linux-amd64.tar.gz(其中x.x.x是版本号)。

    2.3 下载apache_exporter⬇️

    • 将下载的apache_exporter压缩包解压到你想要安装的目录。你可以使用命令行工具(如tar)来完成这个步骤。解压后,你将看到一个名为apache_exporter的目录,其中包含apache_exporter的二进制文件和其他相关文件。
    tar -xzf apache_exporter-1.0.7.linux-amd64.tar.gz
    

    2.4 解压安装包📂

    • 将下载的apache_exporter压缩包解压到你想要安装的目录。你可以使用命令行工具(如tar)来完成这个步骤。解压后,你将看到一个名为apache_exporter-1.0.7.linux-amd64的目录,其中包含apache_exporter的二进制文件和其他相关文件。
    tar -xzf apache_exporter-1.0.7.linux-amd64.tar.gz
    

    2.5 运行apache_exporter🚀

    • 进入解压后的目录,并运行apache_exporter服务器。在Linux下,你可以使用如下命令。如果一切正常,你应该能在终端看到apache_exporter的启动日志。
    cd apache_exporter-1.0.7.linux-amd64
    
    ./apache_exporter --scrape_uri="http://localhost/server-status/?auto" --web.listen-address=:9117
    

    三、apache_exporter指标和配置详解📖

    • 黑色:作为默认文本颜色。
    • 绿色:表示常规配置项
    • 橙色:表示具有互斥参数的配置项 / 建议开启(根据自己的场景确定需求)
    • 蓝色:不重要的配置项 / 建议不开启
    • 红色:表示关键信息和警告 / 最好开启

    注意:

    • 1.相关参数配置建议仅供参考,具体要以自己生产的实际需要自行配置。
    • 2.以下配置参数介绍是基于apache_exporter-1.0.7.linux-amd64版本说明的,其它版本会有不同。

    3.1 apache_exporter.service

    • - -telemetry.endpoint=“/metrics”
        定义 apache_exporter 暴露 Prometheus 监控指标的 HTTP 路径。默认情况下,这个路径是 /metrics。Prometheus 服务器会访问这个路径来抓取 Apache 服务器的监控数据
    • - -scrape_uri=“http://localhost/server-status/?auto”
        指定apache_exporter 从哪里获取 Apache 服务器的状态信息。通常是 Apache 的 mod_status 模块提供的 URI
    • - -host_override=“”
        允许你覆盖在 Apache 状态页中报告的主机名。如果留空(默认情况),则使用 Apache 服务器返回的实际主机名
    • - -[no-]insecure
        控制是否验证从 Apache 服务器获取的证书。如果设置为 insecure(或不使用 no- 前缀),则 apache_exporter 将不会验证 SSL/TLS 证书
    • - -[no-]web.systemd-socket
        控制 apache_exporter 是否应该监听通过 systemd socket 激活的请求。如果启用了此选项(即不使用 no- 前缀),则 exporter 将尝试使用 systemd 提供的套接字进行监听。通常用于与 systemd 的服务集成
    • - -web.listen-address=:9117
        定义apache_exporter 监听的地址和端口,Prometheus 服务器将连接到这个地址和端口来抓取数据
    • - -web.config.file=“”
        允许指定一个包含 Web 服务器配置的文件路径。如果留空(默认情况),则使用默认配置
    • - -custom_headers=CUSTOM_HEADERS
        允许你设置自定义的 HTTP 头,这些头将在 apache_exporter 向 Apache 服务器发送请求时包含在内。CUSTOM_HEADERS 应该是一个键值对的列表,用于定义要添加的额外头信息

    四、实战演练:生产环境搭建指南🔨

    4.1 创建普通用户管理apache_exporter👤

    useradd deploy
    

    4.2 解压apache_exporter.tar.gz📦

    注意:
      我的是x86,所以使用apache_exporter-1.0.7.linux-amd64.tar.gz,您可以使用uname -a命令查看系统架构

    mkdir /home/deploy/apache_exporter
    
    tar xvf apache_exporter-1.0.7.linux-amd64.tar.gz -C /home/deploy/apache_exporter/
    

    4.3 将apache_exporter集成到Prometheus配置中✂️

      将apache_exporter集成到Prometheus配置中,确保数据能够正常采集。编辑Prometheus的配置文件(通常是prometheus.yml),在scrape_configs部分添加apache_exporter的配置。告诉Prometheus将采集apache_exporter:9117的数据。

      - job_name: 'apache_exporter'
        static_configs:
          - targets:
          - targets: ["localhost:9117"]
            labels:
              exporter: apache_exporter
    

    4.4 更改apache_exporter软件包名称✂️

    mv /home/deploy/apache_exporter-1.0.7.linux-amd64 /home/deploy/apache_exporter
    

    4.5 编辑apache_exporter.service文件📝

    • 注意:
        此处我的–scrape_uri=http://127.0.0.1/server-status之所以这样配置是因为httpd.conf的server-status模块我定义的访问路径是server-status,需要自行根据自己的配置进行更改
    cat > /etc/systemd/system/apache_exporter.service <<EOF
    [Unit]
    Description=Apache exporter
    After=network.target
    
    [Service]
    Type=simple
    User=deploy
    Group=deploy
    ExecStart=/home/deploy/apache_exporter/apache_exporter \
    --scrape_uri=http://127.0.0.1/server-status/?auto \
    --web.listen-address=:9117
    ExecReload=/bin/kill -HUP
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    EOF
    

    4.6 启动apache_exporter.service🔌

    sudo systemctl daemon-reload
    
    sudo systemctl enable --now apache_exporter.service
    

    4.7 查看服务是否正常启动🔍

    # 查看service服务是否启动
    sudo systemctl status apache_exporter.service
    
    # 查看端口是否存在
    sudo ss -ntulp | grep 9117
    

    五、基于云原生的部署方案 🚀

    5.1 使用Docker部署apache_exporter🐳

    5.1.1 获取Prometheus Docker镜像 📸

    • 从docker-hub下载镜像
    docker pull  bitnami/apache-exporter:1.0.7 
    
    docker tag  bitnami/apache-exporter:1.0.7  apache-exporter:v1.0.7
    
    • 从阿里云下载镜像(如果访问不到docker-hub)
    // 如果访问不到docker-hub的可以访问如下地址
    docker pull registry.cn-beijing.aliyuncs.com/insights-ops/apache-exporter:v1.0.7
    
    docker tag registry.cn-beijing.aliyuncs.com/insights-ops/apache-exporter:v1.0.7 apache-exporter:v1.0.7
    
    • 从百度网盘下载镜像
    docker load -i apache-exporter-1.0.7.tar
    
    docker tag bitnami/apache-exporter:1.0.7 apache-exporter:v1.0.7
    

    5.1.2 运行apache_exporter容器 🏃

    docker run -itd -p 9117:9117 --name apache-exporter apache-exporter:v1.0.7
    

    5.1.3 验证Docker部署 ✅

    # 查看容器是否正常启动,Status为Up为正常
    docker ps -a | grep apache_exporter
    
    # 端口监听
    ss -ntulp | grep 9117
    

    5.2 利用Docker-Compose简化部署 📘

    5.2.1 编写docker-compose.yml配置文件 📜

    ---
    version: '3'  
      
    services:  
      apache-exporter:  
        image: apache-exporter:v1.0.7  
        container_name: apache-exporter  
        ports:  
          - "9117:9117"  
        restart: always 
    

    5.2.2 使用Docker-Compose启动服务 🚀

    docker-compose up -d
    

    5.2.3 验证Docker部署 ✅

    # 查看容器是否正常启动,Status为Up为正常
    docker ps -a | grep apache_exporter
    
    # 端口监听
    ss -ntulp | grep 9117
    

    5.3 在Docker Swarm中部署apache_exporter🐝——待更新,敬请期待!!!

    5.4 在Kubernetes(K8s)上部署apache_exporter🚀——待更新,敬请期待!!!

    相关资料下载地址📚

    • 官方文档:https://prometheus.io/docs/introduction/overview/
    • 下载地址:https://github.com/prometheus/prometheus/releases/tag/v2.52.0
    • 文档地址:https://prometheus.io/docs/prometheus/latest/installation/
    • 离线包下载链接:https://pan.baidu.com/s/1ANF_AlFnM5_FMIbKBuzBmg 提取码:yqpt
  • 相关阅读:
    神经网络原理及代码实现
    西门子触摸屏上电显示初始画面几秒后,自动切换到下一个画面的具体方法
    zabbix监控的部署
    图解SOC中的Timer(一):系统里有哪些Timer?
    手把手带你从官网下载安装 Vivado
    智慧工地源代码 SaaS模式云平台
    【STM32】定时器
    java中main方法和@Test注解的区别
    专有网络VPC 是什么
    MDK之程序的编译与链接
  • 原文地址:https://blog.csdn.net/qq_46001933/article/details/139365010
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号