prometheus安装

  • Post category:other

Prometheus安装的完整攻略

Prometheus是一款开源的监控系统,用于监控各种应用程序和系统组件。本文将介绍如何在Linux系统上安装和配置Prometheus,包括以下步骤:

  1. 安装Prometheus
  2. 配置Prometheus
  3. 添加监控目标
  4. 示例1:监控Node.js应用程序
  5. 示例2:监控MySQL数据库

步骤1:安装Prometheus

在Linux系统上安装Prometheus,可以通过以下步骤完成:

  1. 下载Prometheus二进制文件

bash
$ wget https://github.com/prometheus/prometheus/releases/download/v2.28.1/prometheus-2.28.1.linux-amd64.tar.gz

  1. 解压缩文件

bash
$ tar -xzf prometheus-2.28.1.linux-amd64.tar.gz

  1. 进入解压缩后的目录

bash
$ cd prometheus-2.28.1.linux-amd64

  1. 启动Prometheus

bash
$ ./prometheus

Prometheus将会默认端口9090上启动。

步骤2:配置Prometheus

在Prometheus中,配置文件为prometheus.yml。可以通过以下步骤编辑配置文件:

  1. 进入Prometheus目录

bash
$ cd prometheus-2.28.1.linux-amd64

  1. 编辑prometheus.yml文件

bash
$ vi prometheus.yml

  1. 添加监控目标

yaml
scrape_configs:
- job_name: 'nodejs'
static_configs:
- targets: ['localhost:3000']
- job_name: 'mysql'
static_configs:
- targets: ['localhost:9104']

在上面的配置中,我们添加了两个监控目标一个是Node.js应用程序,另一个是MySQL数据库。其中,Node.js应用程序运行在本地的3000端口,MySQL数据库的监控端口为9104。

  1. 保存并退出

bash
:wq

步骤3:添加监控目标

在上面的配置中,我们添加了两个监控目标:Node.js应用程序和MySQL数据库。接下来,我们将分别介绍如何添加这两个监控目标。

示例1:监控Node.js应用程序

假设我们有一个Node.js应用程序运行在本地的3000端口。我们可以通过以下步骤添加该应用程序的监控目标:

  1. 安装prom-client模块

bash
npm install prom-client

  1. 在Node.js应用程序中添加以下代码

“`javascript
const prometheus = require(‘prom-client’)

const counter = new prometheus.Counter({
name: ‘myapp_requests_total’,
help: ‘Total number of requests to my app’
})

// Increment the counter on each request
app.use((req, res, next) => {
counter.inc()
next()
})

// Expose the metrics endpoint
app.get(‘/metrics’, (req, res) => {
res.set(‘Content-Type’, prometheus.register.contentType)
res.end(prometheus.register.metrics())
})
“`

在上面的代码中,我们首先引入了prom-client模块,然后创建了一个名为myapp_requests_total的计数器。在每个请求中,我们都会增加该计数器的值。最后,我们通过/metrics路由暴露Prometheus的指标数据。

  1. 重启Node.js应用程序

bash
$ pm2 restart app

  1. 在Prometheus配置文件中添加监控目标

yaml
scrape_configs:
- job_name: 'nodejs'
static_configs:
- targets: ['localhost:3000']

  1. 重启Prometheus

bash
$ ./prometheus --config.file=prometheus.yml

Prometheus将会在默认端口9090上启动。

示例2:监控MySQL数据库

假设我们有一个MySQL数据库运行本地的3306端口。我们可以通过以下步骤添加该数据库的监控目标:

  1. 安装mysqld_exporter工具

bash
$ wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.13.0/mysqld_exporter-0.13.0.linux-amd64.tar.gz
$ tar -xzf mysqld_exporter-0.13.0.linux-amd64.tar.gz
$ cd mysqld_exporter-0.13.0.linux-amd64

  1. 启动mysqld_exporter

bash
$ ./mysqld_exporter --collect.global_status --collect.info_schema.innodb_metrics --collect.auto_increment.columns --web.listen-address=":9104" --config.my-cnf="/etc/my.cnf"

在上面的命令中,我们启动了mysqld_exporter工具指定了监听端口为9104。同时,我们还指定了MySQL的配置文件路径为/etc/my.cnf

  1. 在Prometheus配置文件中添加监控目标

yaml
scrape_configs:
- job_name: 'mysql'
static_configs:
- targets: ['localhost:9104']

  1. 重启Prometheus

bash
$ ./prometheus --config.file=prometheus.yml

Prometheus将会在默认端口9090上启动。

结论

在本文中,我们介绍了如何在Linux系统上安装和配置Prometheus,并添加了两个监控目标:Node.js应用程序和MySQL数据库。通过Prometheus,我们可以轻松地监控各种应用程序和系统组件,从而提升应用的可靠性和性能。