当前位置: 首页 > article >正文

Prometheus部署及linux、mysql、monog、redis、RocketMQ、java_jvm监控配置

Prometheus部署及linux、mysql、monog、redis、RocketMQ、java_jvm监控配置

    • 1.Prometheus部署
      • 1.2.Prometheus修改默认端口
    • 2.grafana可视化页面部署
    • 3.alertmanager部署
    • 4.监控配置
      • 4.1.主机监控node-exporter
      • 4.2.监控mysql数据库mysqld_exporter
      • 4.3.监控mongod数据库mongodb_exporter
      • 4.4.监控redis-redis_exporter
      • 4.5.监控RocketMQ-rocketmq-exporter
      • 4.6.监控java程序

1.Prometheus部署

  1. 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:https://prometheus.io/download/
wget https://github.com/prometheus/prometheus/releases/download/v3.1.0/prometheus-3.1.0.linux-arm64.tar.gz
  1. 安装包下载成功后输入命令进行解压即可;
tar xvf prometheus-3.1.0.linux-arm64.tar.gz
#移动修改一下目录名字,也可以不修改
mv prometheus-3.1.0.linux-arm64 prometheus

在这里插入图片描述
在这里插入图片描述
3. 编写启动脚本,在prometheus目录中创建start.sh脚本文件;

cd prometheus/
vim start.sh

在文件中插入以下内

nohup ./prometheus --config.file=prometheus.yml > log 2>&1 &

以后需要启动的时候,执行这个脚本即可;
prometheus默认端口是9090,通过浏览器访问 http://IP:9090即可;

  1. 配置解析

如图默认的配置如下:

#全局配置
global:
  scrape_interval: 15s #设置抓取数据的时间间隔,默认1分钟
  evaluation_interval: 15s #设置执行告警规则的时间间隔,默认1分钟

#告警配置
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093 #配置告警服务的ip和端口

#告警规则和阈值的配置
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

#收集数据配置
scrape_configs:
  - job_name: "prometheus" #设置收集数据的job名字,名字不能重复
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    static_configs:
      - targets: ["localhost:9090"] #prometheus的服务job
#示例:
#需要添加其他的数据采集任务时就在下面加一个job,如:
  - job_name: "centos"      
    static_configs:
      - targets: ["192.168.1.111:9100"]

1.2.Prometheus修改默认端口

修改默认端口方法
如果需要修改默认端口,则可以在启动时增加参数--web.listen-address=":端口号",其他的job服务也可以通过这种方式修改默认端口:

注意:
需要注意的是修改了默认的端口后,要到prometheus.yml文件中将对应的job – targets的值修改为与之对应的;

--web.listen-address=":端口号"
#如:--web.listen-address=":8080"

在这里插入图片描述

2.grafana可视化页面部署

  1. 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:https://grafana.com/grafana/download
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-11.4.0.linux-amd64.tar.gz
  1. 安装包下载成功后输入命令进行解压即可;
tar xvf grafana-enterprise-11.4.0.linux-amd64.tar.gz
#移动修改一下目录名字,也可以不修改
mv grafana-enterprise-11.4.0.linux-amd64 grafana
  1. 编写启动脚本,在prometheus目录中创建start.sh脚本文件;
cd grafana/
vim start.sh

在文件中插入以下内

nohup grafana server --config=./conf/defaults.ini > log 2>&1 &

以后需要启动的时候,执行这个脚本即可;
grafana默认端口是3000,通过浏览器访问 http://IP:grafana即可;
默认账号:admin
密码:admin

3.alertmanager部署

后续补充

4.监控配置

4.1.主机监控node-exporter

  1. 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:node_exporter-1.8.2.linux-amd64.tar.gz
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
  1. 安装包下载成功后输入命令进行解压即可;
tar xvf node_exporter-1.8.2.linux-amd64.tar.gz
#移动修改一下目录名字,也可以不修改
mv node_exporter-1.8.2.linux-amd64 node_exporter
  1. 编写启动脚本,在prometheus目录中创建start.sh脚本文件;
cd node_exporter/
vim start.sh

在文件中插入以下内

# --web.listen-address=":9191"用来修改默认端口
nohup ./node_exporter --web.listen-address=":9191" > log 2>&1 &

服务启动后只需要将服务地址端口加入到prometheus.yml配置文件中即可,重启Prometheus即可,如图:
编辑文件并插入内容;

vim prometheus.yml
- job_name: "centos"
    static_configs:
      - targets: ["192.168.1.23:9191"]

在这里插入图片描述

4.2.监控mysql数据库mysqld_exporter

  1. 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:mysqld_exporter
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz
  1. 安装包下载成功后输入命令进行解压即可;
tar xvf mysqld_exporter-0.15.1.linux-amd64.tar.gz
#移动修改一下目录名字,也可以不修改
mv mysqld_exporter-0.15.1.linux-amd64 mysqld_exporter
  1. 编写mysql相关的配置信息
vim .my.cnf
[client]
host=127.0.0.1
port=3306
user=root
password=123456
  1. 编写启动脚本,在prometheus目录中创建start.sh脚本文件;
cd mysqld_exporter/
vim start.sh

在文件中插入以下内

# --web.listen-address=":9191"用来修改默认端口
nohup ./mysqld_exporter --config.my-cnf=./.my.cnf --web.listen-address=":9192" > log 2>&1 &

服务启动后只需要将服务地址端口加入到prometheus.yml配置文件中即可,重启Prometheus即可
编辑文件并插入内容;

vim prometheus.yml
- job_name: "mysql"
    static_configs:
      - targets: ["192.168.1.23:9192"]

4.3.监控mongod数据库mongodb_exporter

  1. 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:mongodb_exporter
wget https://github.com/percona/mongodb_exporter/releases/download/v0.43.1/mongodb_exporter-0.43.1.linux-amd64.tar.gz
  1. 安装包下载成功后输入命令进行解压即可;
tar xvf mongodb_exporter-0.43.1.linux-amd64.tar.gz
#移动修改一下目录名字,也可以不修改
mv mongodb_exporter-0.43.1.linux-amd64 mongodb_exporter
  1. 编写启动脚本,在prometheus目录中创建start.sh脚本文件;
cd mongodb_exporter/
vim start.sh

在文件中插入以下内

# --web.listen-address=":9193"用来修改默认端口
nohup ./mongodb_exporter --mongodb.uri=mongodb://root:123456@127.0.0.1:27017/?authSource=admin --collect-all --compatible-mode --web.listen-address=":9193"> log 2>&1 &

服务启动后只需要将服务地址端口加入到prometheus.yml配置文件中即可,重启Prometheus即可
编辑文件并插入内容;

vim prometheus.yml
- job_name: "mongo"
    static_configs:
      - targets: ["192.168.1.23:9193"]

4.4.监控redis-redis_exporter

  1. 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:redis_exporter
wget https://github.com/oliver006/redis_exporter/releases/download/v1.67.0/redis_exporter-v1.67.0.linux-amd64.tar.gz
  1. 安装包下载成功后输入命令进行解压即可;
tar xvf redis_exporter-v1.67.0.linux-amd64.tar.gz
#移动修改一下目录名字,也可以不修改
mv redis_exporter-v1.67.0.linux-amd64 redis_exporter
  1. 编写启动脚本,在prometheus目录中创建start.sh脚本文件;
cd redis_exporter/
vim start.sh

在文件中插入以下内

#-redis.addr用来指定地址、端口
#-redis.password=123456用来指定认证密码
# --web.listen-address=":9194"用来修改默认端口
nohup ./redis_exporter -redis.addr=localhost:6379 -redis.password=123456 --web.listen-address=":9194" > log 2>&1 &

服务启动后只需要将服务地址端口加入到prometheus.yml配置文件中即可,重启Prometheus即可
编辑文件并插入内容;

vim prometheus.yml
- job_name: "redis"
    static_configs:
      - targets: ["192.168.1.23:9194"]

4.5.监控RocketMQ-rocketmq-exporter

官网的rocketmq-exporter需要将代码拉下来进行编写生成jar文件,编译依赖于git、mvaen环境;

也可以通过网盘分享的文件进行下载:rocketmq-exporter-0.0.3-SNAPSHOT-exec.jar
链接: https://pan.baidu.com/s/1MdqHaDAfYmPL5jPKHYp3bA?pwd=diqc 提取码: diqc
–来自百度网盘超级会员v2的分享
官网下载方法:

#通过wget获取源码,也可以:git clone https://github.com/apache/rocketmq-exporter.git
wget https://codeload.github.com/apache/rocketmq-exporter/zip/refs/heads/master
#修改获取文件的名字并解压,git clone方式获取的不需要要这两个步骤,我这里由于网络原因无法通过只能使用wget方式
mv master master.zip
unzip master.zip

#进入到解压后的目录中
cd rocketmq-exporter-master
#将源码编译打包为jar文件
mvn clean install -D maven.test.skip=true

编译完成后,在源码的rocketmq-exporter-master/target目录中会生成一个rocketmq-exporter-0.0.3-SNAPSHOT-exec.jar文件即编译成功;
接下来就是编写启动脚本

vim rocketmq-exporter-master/start.sh

然后插入以下内容即可

#--rocketmq.config.namesrvAddr=127.0.0.1:9876指定nameSrv地址
#--server.port=9195指定程序端口
nohup java -jar target/rocketmq-exporter-0.0.3-SNAPSHOT-exec.jar --rocketmq.config.namesrvAddr=127.0.0.1:9876 --server.port=9195 > log 2>&1 &

同样的,服务启动后只需要将服务地址端口加入到prometheus.yml配置文件中即可,重启Prometheus即可
编辑文件并插入内容;

vim prometheus.yml
- job_name: "redis"
    static_configs:
      - targets: ["192.168.1.23:9195"]

4.6.监控java程序

  1. 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:jmx_prometheus_javaagent
wget https://github.com/prometheus/jmx_exporter/releases/download/1.1.0/jmx_prometheus_javaagent-1.1.0.jar

然后,在启动需要监控的java程序时,添加启动参数即可

-javaagent:/data/smsv1/counter/JMX_exporter/jmx_prometheus_javaagent-0.3.1.jar=9196:/data/smsv1/counter/JMX_exporter/config.yml

同样的,服务启动后只需要将服务地址端口加入到prometheus.yml配置文件中即可,重启Prometheus即可
编辑文件并插入内容;

vim prometheus.yml
- job_name: "redis"
    static_configs:
      - targets: ["192.168.1.23:9196"]

config.yaml是你想要的JMX指标。例子如下:

例一

lowercaseOutputName: true
rules:
  - pattern: 'Catalina<type=(\w+), name=(\w+)><>(\w+):'
    name: tomcat_$3_$2
    labels:
      server: "$1"
      name: "$2"
  - pattern: 'java.lang<type=Memory><>(\w+):'
    name: java_lang_memory_$1
  - pattern: 'java.lang<type=GarbageCollector, name=(\w+), error=(\w+)><>CollectionCount:'
    name: java_lang_garbagecollector_$1_collection_count
    labels:
      error: "$2"

例二

lowercaseOutputLabelNames: true
lowercaseOutputName: true
whitelistObjectNames: ["java.lang:type=OperatingSystem"]
rules:
 - pattern: 'java.lang<type=OperatingSystem><>((?!process_cpu_time)\w+):'
   name: os_$1
   type: GAUGE
   attrNameSnakeCase: true

http://www.kler.cn/a/514047.html

相关文章:

  • 基于Redis实现短信验证码登录
  • 【Elasticsearch】 Ingest Pipeline `processors`属性详解
  • js截取video视频某一帧为图片
  • Qt基础项目篇——Qt版Word字处理软件
  • C++ ——— 模拟实现 vector 类
  • Linux容器(初学了解)
  • QT 中 UDP 的使用
  • 专业138总分400+中国科学技术大学843信号与系统考研中科大电子信息通信生医先研,真题,大纲,参考书。
  • Java面试专题——常见面试题1
  • (5)STM32 USB设备开发-USB键盘
  • TiDB 的优势与劣势
  • 基于卷积神经网络的验证码识别
  • oneplus3t-lineageos-16.1编译-android9,
  • 机器学习有哪些应用场景
  • Java后端Controller参数校验的一些干货及问题~
  • element-plus中的table为什么相同的数据并没有合并成一个
  • Ollama能本地部署Llama 3等大模型的原因解析(ollama核心架构、技术特性、实际应用)
  • html转义符+h5提供的新标签
  • HTML `<head>` 元素详解
  • PHP同城配送小程序
  • 《LT8712X》Type-c转HDMI2.0芯片
  • Spring Boot AOP实现动态数据脱敏
  • vue3 通过ref 进行数据响应
  • Vue 引入及简单示例
  • Java中的错误与异常详解
  • Excel 实现文本拼接方法