Prometheus监控实战篇Nginx、Hbase操作详解

目录
  • 一、Prometheus监控Nginx
    • 1、监控Nginx相关插件下载地址
    • 2、编译Nginx
      • 2.1下载nginx-release并解压
      • 2.2解压Nginx-module-vts,到/opt/nginx/
      • 2.3执行以下命令,进行编译Nginx
      • 2.4再执行make命令
      • 2.6在Nginx添加以下内容到Nginx配置文件中
      • 2.7重新启动Nginx,并检查服务是否正常
      • 2.8解压Nginx-vts-exporter,并启动
      • 2.9在Prometheus中添加Nginx-vts-exporter,并重启Prometheus
      • 2.10在grafana中添加模块使用的模块是2949,也可以自己定义
  • 二、Prometheus监控hbase
    • 1.监控hbase插件下载地址
    • 2.部署
      • 2.1将下载好的jmx_prometheus_javaagent移动到hbase的lib下
      • 2.2配置hbase_jmx_config.yaml
      • 2.3在hbase-env.sh中添加以下参数,并重启hbase
      • 2.4查看是否采集数据
      • 2.5配置Prometheusserver,并重启服务
      • 2.6在granfan中添加模块

一、Prometheus监控Nginx

1、监控Nginx相关插件下载地址

nginx_exporter下载地址
Nginx_module-vts下载地址
nginx-release下载地址

Prometheus(8.3.3)和grafana(2.32.1)我使用的是官网最新版

2、编译Nginx

注意:我这边是使用rpm安装的Nginx。所以要进行编译一下,可以根据自己的实际情况进行操作

2.1 下载 nginx-release 并解压

如果有这两个目录将其删除掉

rm -rf Makefile objs

2.2 解压 Nginx-module-vts,到/opt/nginx/

2.3 执行以下命令,进行编译Nginx

./configure --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-compat --with-debug --with-file-aio --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_degradation_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_mp4_module --with-http_perl_module=dynamic --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_xslt_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module --with-threads --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --with-ld-opt='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E' --add-module=/opt/nginx/nginx-module-vts-0.1.18

2.4 再执行 make 命令

注意: 不要执行make install

make

2.5 将编译后的二进制文件以及模块放到对应的目录下,并将原来的做备份

2.6 在Nginx 添加以下内容到Nginx配置文件中

location /status {
    vhost_traffic_status_display;
    vhost_traffic_status_display_format html;
}

2.7 重新启动Nginx,并检查服务是否正常

http://127.0.0.1:80/status/

2.8 解压Nginx-vts-exporter,并启动

启动nginx-vts-exporter(默认端口为9913)

nohup ./nginx-vts-exporter -nginx.scrape_uri=http://127.0.0.1:80/status/format/json &

2.9 在Prometheus中添加Nginx-vts-exporter,并重启Prometheus

vim promethues.yml
  - job_name: "nginx_exporter"
    static_configs:
      - targets: ["localhost:9913"]

2.10 在grafana 中添加模块 使用的模块是2949,也可以自己定义

数据展示

二、Prometheus监控hbase

1. 监控hbase插件下载地址

jmx_prometheus_javaagent
grafana模块

2. 部署

2.1 将下载好的jmx_prometheus_javaagent 移动到hbase的lib下

2.2 配置 hbase_jmx_config.yaml

vim /usr/hbase/conf/ hbase_jmx_config.yaml

---
lowercaseOutputName: true
lowercaseOutputLabelNames: true
rules:
- pattern: Hadoop<service=HBase, name=RegionServer, sub=Regions><>Namespace_([^\W_]+)_table_([^\W_]+)_region_([^\W_]+)_metric_(\w+)
  name: HBase_metric_$4
  labels:
    namespace: "$1"
    table: "$2"
    region: "$3"
- pattern: Hadoop<service=(\w+), name=(\w+), sub=(\w+)><>([\w._]+)
  name: hadoop_$1_$4
  labels:
    "name": "$2"
    "sub": "$3"
- pattern: .+

2.3 在hbase-env.sh 中添加以下参数,并重启hbase

注意:分别在master和regionserver 都要添加,但是要注意端口不可以相同。(每台服务都做以上操作)

master

-javaagent:$HBASE_HOME/lib/jmx_prometheus_javaagent-0.16.1.jar=17000:$HBASE_HOME/conf/hbase_jmx_config.yaml

regionserver

-javaagent:$HBASE_HOME/lib/jmx_prometheus_javaagent-0.16.1.jar=18000:$HBASE_HOME/conf/hbase_jmx_config.yaml

2.4 查看是否采集数据

http://127.0.0.1:17000/metrics

2.5 配置Prometheus server,并重启服务

IP地址根据实际情况改写

vim prometheus.yml
  - job_name: "hbase_exporter"
    static_configs:
      - targets: ["127.0.0.1:17000"]
      - targets: ["127.0.0.1:18000"]
      - targets: ["127.0.0.1:18000"]
      - targets: ["127.0.0.1:18000"]
      - targets: ["127.0.0.1:18000"]

2.6 在granfan中添加模块

grafana模块

数据展示

到此这篇关于Prometheus监控实战篇Nginx、Hbase的文章就介绍到这了,更多相关Prometheus监控Nginx、Hbase内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python调用Prometheus监控数据并计算

    目录 Prometheus是什么 Prometheus基础概念 什么是时间序列数据 什么是targets(目标) 什么是metrics(指标) 什么是PromQL(函数式查询语言) 如何监控远程Linux主机 Prometheus HTTP API 支持的 API 认证方法 数据返回格式 数据写入 监控数据查询 什么是Grafana 工作使用场景 CPU峰值计算 CPU均值计算 内存峰值计算 内存均值计算 导出excel 参考链接: Prometheus是什么 Prometheus是一套开源监控

  • 解析prometheus+grafana监控nginx的方法

    目录 1.下载 2.安装nginx与nginx-vts-exporter 3.安装nginx-vts-exporter-0.9.1.linux-amd64.tar 4.配置Prometheus 5.配置Grafana ​在prometheus需要向ngxin中打入探针,通过探针获取ngxin信息,并通过接口输出.下文将讲述如何监控ngxin. 1.下载 为了各位小伙伴方便,这里提供了一波下载地址,如果模板不是特别满意,也可以去官网自行下载. nginx: 链接: https://pan.baid

  • SpringBoot使用prometheus监控的示例代码

    本文介绍SpringBoot如何使用Prometheus配合Grafana监控. 1.关于Prometheus Prometheus是一个根据应用的metrics来进行监控的开源工具.相信很多工程都在使用它来进行监控,有关详细介绍可以查看官网:https://prometheus.io/docs/introduction/overview/. 2.有关Grafana Grafana是一个开源监控利器,如图所示. 从图中就可以看出来,使用Grafana监控很高大上,提供了很多可视化的图标. 官网地

  • Prometheus 监控MySQL使用grafana展示

    目录 prometheus通过exporter监控mysql,并用grafana图表展示 1.测试机器 2.配置mysql host01 3.创建exporter帐号 4.下载,安装mysqld_exporter 4.1 编辑文件输入密码 4.2 添加启动服务文件 4.3 启动mysqld_exporter 4.4 测试验证 5.下载,安装node_exporter 5.1 添加启动服务文件 5.2 启动node_exporter 5.3 测试验证 6.安装prometheus+grafana

  • 关于Prometheus + Spring Boot 应用监控的问题

    1. Prometheus是什么 Prometheus是一个具有活跃生态系统的开源系统监控和告警工具包.一言以蔽之,它是一套开源监控解决方案. Prometheus主要特性: 多维数据模型,其中包含由指标名称和键/值对标识的时间序列数据 PromQL,一种灵活的查询语言 不依赖分布式存储: 单服务器节点是自治的 时间序列收集通过HTTP上的pull模型进行 通过中间网关支持推送(push)时间序列 通过服务发现或静态配置发现目标 支持多种模式的图形和仪表盘 为什么用pull(拉取)而不用push

  • Prometheus监控实战篇Nginx、Hbase操作详解

    目录 一.Prometheus监控Nginx 1.监控Nginx相关插件下载地址 2.编译Nginx 2.1下载nginx-release并解压 2.2解压Nginx-module-vts,到/opt/nginx/ 2.3执行以下命令,进行编译Nginx 2.4再执行make命令 2.6在Nginx添加以下内容到Nginx配置文件中 2.7重新启动Nginx,并检查服务是否正常 2.8解压Nginx-vts-exporter,并启动 2.9在Prometheus中添加Nginx-vts-expo

  • prometheus监控springboot应用简单使用介绍详解

    对于springboot应用,需要以下几个步骤 springboot应用开启endpoint,添加actuator的以来和promethus的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> &

  • Java Fluent Mybatis 项目工程化与常规操作详解流程篇 上

    目录 前言 Maven依赖 配置文件调整 Knife4j配置 添加必要实体 增/改 总结 前言 接着上一篇,上篇已经测试通过,成功添加了数据.那么这篇主要是继续上一个项目,将项目进行工程化包装,增加一些必要配置,并且生成增删改查接口. GitHub代码仓库:GitHub仓库 Maven依赖 增加了druid数据库连接池,所以之前的配置文件也需要调整,下面会发出来. <dependency> <groupId>cn.hutool</groupId> <artifac

  • Java Fluent Mybatis 项目工程化与常规操作详解流程篇 下

    目录 前言 查询 查询写法1 查询写法2 代码说明 新问题 删 总结 前言 接着上一篇:Java Fluent Mybatis 项目工程化与常规操作详解流程篇 上 仓库地址:GitHub仓库 查询 定义查询请求体 package com.hy.fmp.dto.req; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** @

  • MySQL筑基篇之增删改查操作详解

    目录 一.增加表中数据 1.无自增列时 2.有自增列时 二.删除表中数据 1.使用delete 2.使用truncate 三.修改表中数据 四.*查询操作 1.简单查询 2.条件查询 3.排序 一.增加表中数据 1.无自增列时 1.指定字段添加数据 给表中的部分列添加数据:值的顺序必须跟指定列的顺序保持一致 语法:insert into 表名(列1,列2,...) values(值1,值2,...) 2.默认添加数据 向表中的所有列添加数据:值的顺序必须跟字段顺序保持一致 语法:insert i

  • Redis实战之Jedis使用技巧详解

    目录 一.摘要 二.Jedis 2.1.基本使用 2.2.连接池 2.3.连接池配置 2.4.字符串常用 API 操作 2.5.哈希常用 API 操作 2.6.列表常用 API 操作 2.7.集合常用 API 操作 2.8.有序集合常用 API 操作 三.集群配置 3.1.哨兵模式 3.2.集群模式 四.小结 一.摘要 在上一篇文章中,我们详细的介绍了 redis 的安装和常见的操作命令,以及可视化工具的介绍. 刚知道服务端的操作知识,还是远远不够的,如果想要真正在项目中得到应用,我们还需要一个

  • Linux 监控文件被什么进程修改(详解)

    安装: apt-get install auditd. 1.auditd 是后台守护进程,负责监控记录 2.auditctl 配置规则的工具 3.auditsearch 搜索查看 4.aureport 根据监控记录生成报表 比如,监控 /root/.ssh/authorized_keys 文件是否被修改过: aditctl -w /root/.ssh/authorized_keys -p war -k auth_key •-w 指明要监控的文件 •-p awrx 要监控的操作类型,append,

  • 滚动 docker 中的 nginx 日志思路详解

    docker使用 1. docker ps 查看运行中的容器 2. docker images 查看docker镜像 3. docker rm id(容器id)  删除容器(容器id可以通过docker ps查看,容器必须停止后才能删除) 3.1 删除全部的容器 docker rm `docker ps -a -q` 4. docker stop  id(容器id) 停止容器运行 5. docker rmi  id(镜像id) 删除镜像 6. docker pull ubuntu:16.04(镜

  • JavaCV实战之调用摄像头基础详解

    目录 关于<JavaCV的摄像头实战>系列 本篇概览 环境和版本信息 源码下载 基本套路分析 基本框架编码 部署媒体服务器 关于<JavaCV的摄像头实战>系列 <JavaCV的摄像头实战>顾名思义,是使用JavaCV框架对摄像头进行各种处理的实战集合,这是欣宸作为一名Java程序员,在计算机视觉(computer vision)领域的一个原创系列,通过连续的编码实战,与您一同学习掌握视频.音频.图片等资源的各种操作 另外要说明的是,整个系列使用的摄像头是USB摄像图或

  • Node.js基础入门之缓存区与文件操作详解

    目录 缓存区 1. 什么是缓存区? 2. 创建指定长度的缓存区 3. 通过数组创建缓存区 4. 通过字符串创建缓存区 5. 读写缓存区 6. 复制缓存区 文件操作 1. 异步直接读取 2. 同步直接读取 3. 流式读取 4. 写入文件 5. 流式写入文件 6. 读取文件信息 7. 删除文件 8. 管道 9. 链式流 经过前面三天的学习,Node.js的基础知识已逐渐掌握,今天继续学习缓存区和文件操作,并稍加整理加以分享,如有不足之处,还请指正. 缓存区 1. 什么是缓存区? JavaScript

随机推荐