Prometheus安装的完整攻略
Prometheus是一款开源的监控系统,用于监控各种应用程序和系统组件。本文将介绍如何在Linux系统上安装和配置Prometheus,包括以下步骤:
- 安装Prometheus
- 配置Prometheus
- 添加监控目标
- 示例1:监控Node.js应用程序
- 示例2:监控MySQL数据库
步骤1:安装Prometheus
在Linux系统上安装Prometheus,可以通过以下步骤完成:
- 下载Prometheus二进制文件
bash
$ wget https://github.com/prometheus/prometheus/releases/download/v2.28.1/prometheus-2.28.1.linux-amd64.tar.gz
- 解压缩文件
bash
$ tar -xzf prometheus-2.28.1.linux-amd64.tar.gz
- 进入解压缩后的目录
bash
$ cd prometheus-2.28.1.linux-amd64
- 启动Prometheus
bash
$ ./prometheus
Prometheus将会默认端口9090上启动。
步骤2:配置Prometheus
在Prometheus中,配置文件为prometheus.yml
。可以通过以下步骤编辑配置文件:
- 进入Prometheus目录
bash
$ cd prometheus-2.28.1.linux-amd64
- 编辑
prometheus.yml
文件
bash
$ vi prometheus.yml
- 添加监控目标
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。
- 保存并退出
bash
:wq
步骤3:添加监控目标
在上面的配置中,我们添加了两个监控目标:Node.js应用程序和MySQL数据库。接下来,我们将分别介绍如何添加这两个监控目标。
示例1:监控Node.js应用程序
假设我们有一个Node.js应用程序运行在本地的3000端口。我们可以通过以下步骤添加该应用程序的监控目标:
- 安装
prom-client
模块
bash
npm install prom-client
- 在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的指标数据。
- 重启Node.js应用程序
bash
$ pm2 restart app
- 在Prometheus配置文件中添加监控目标
yaml
scrape_configs:
- job_name: 'nodejs'
static_configs:
- targets: ['localhost:3000']
- 重启Prometheus
bash
$ ./prometheus --config.file=prometheus.yml
Prometheus将会在默认端口9090上启动。
示例2:监控MySQL数据库
假设我们有一个MySQL数据库运行本地的3306端口。我们可以通过以下步骤添加该数据库的监控目标:
- 安装
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
- 启动
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
。
- 在Prometheus配置文件中添加监控目标
yaml
scrape_configs:
- job_name: 'mysql'
static_configs:
- targets: ['localhost:9104']
- 重启Prometheus
bash
$ ./prometheus --config.file=prometheus.yml
Prometheus将会在默认端口9090上启动。
结论
在本文中,我们介绍了如何在Linux系统上安装和配置Prometheus,并添加了两个监控目标:Node.js应用程序和MySQL数据库。通过Prometheus,我们可以轻松地监控各种应用程序和系统组件,从而提升应用的可靠性和性能。