5 分钟搭建 Prometheus + Grafana 监控

一.安装 Prometheus

复制代码
cd /usr/local/
wget https://github.com/prometheus/prometheus/releases/download/v2.38.0/prometheus-2.38.0.linux-amd64.tar.gz
tar xvf prometheus-2.38.0.linux-amd64.tar.gz
ln -s prometheus-2.38.0.linux-amd64 prometheus

二.安装 node_exporter

在被监控机器上下载 node_exporter

复制代码
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
tar xvf node_exporter-1.3.1.linux-amd64.tar.gz
ln -s node_exporter-1.3.1.linux-amd64 node_exporter

启动 node_exporter

复制代码
nohup ./node_exporter  --web.listen-address=":9100"&
netstat -ntlup | grep 9100

三.安装 mysqld_exporter

在被监控机器上下载 mysqld_exporter

复制代码
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.14.0/mysqld_exporter-0.14.0.linux-amd64.tar.gz
tar xvf mysqld_exporter-0.14.0.linux-amd64.tar.gz
ln -s mysqld_exporter-0.14.0.linux-amd64 mysqld_exporter

创建监控⽤户

复制代码
create user 'monitor'@'127.0.0.1' identified with mysql_native_password by '123456';
grant select,replication client, process on *.* to 'monitor'@'127.0.0.1';

添加客户端账号

复制代码
vim /usr/local/mysqld_exporter/.my.cnf

 [client]
 host=127.0.0.1
 port=3306
 user=monitor
 password=123456

重启 mysqld_exporter

复制代码
nohup /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf &

netstat -ntlup | grep 9104

四.修改 prometheus 配置⽂件

添加被监控主机

复制代码
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["localhost:9090"]


  - job_name: 'node2'
    static_configs:
      - targets: ['192.168.80.11:9100']

  - job_name: 'node-mysql'
    static_configs:
      - targets: ['192.168.80.11:9104']

重启 prometheus

复制代码
pkill prometheus
/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml &

检查 Targets

五.安装 Grafana

下载 Grafana

复制代码
wget https://dl.grafana.com/oss/release/grafana-9.1.5.linux-amd64.tar.gz
tar -zxvf grafana-9.1.5.linux-amd64.tar.gz
ln -s grafana-9.1.5 grafana

启动 grafana

复制代码
cd grafana
./bin/grafana-server &

登录 grafana

初始账号密码:admin/admin

六.导入主机

Add data source

这个 1860 对应的模板地址是 https://grafana.com/grafana/dashboards/1860-node-exporter-full/![](https://i-blog.csdnimg.cn/direct/d7f36b4db3034f82ab5223da316fc402.png)

查看效果

七.导入mysql

导⼊⽅式同上,只不过对应的 ID 是 7362。

https://grafana.com/grafana/dashboards/7362-mysql-overview/

完成。

相关推荐
Elastic 中国社区官方博客6 小时前
两个依赖和一个配置块:通过 Prometheus 远程写入将 Spring Boot 指标发送到 Elasticsearch
大数据·数据库·spring boot·elasticsearch·搜索引擎·全文检索·prometheus
User_芊芊君子1 天前
Prometheus接入Pushgateway实战:二进制与Docker部署、指标推送及远程上报
docker·容器·prometheus
lbb 小魔仙7 天前
OpenClaw + cpolar 实战:远程 NAS、分享小游戏、RDP,再配置公网 AI 入口
数据库·人工智能·redis·oracle·prometheus
zhoupenghui1688 天前
Golang pprof 工具详解:监控、压测与调优实战指南
prometheus·pprof
ggaofeng9 天前
prometheus时序数据库
prometheus
DylanlZhao11 天前
我想看看本地 LLM 给我省了多少钱,于是我监控了它
llm·grafana
A心有千千结13 天前
Nginx网关可观测建设:打通流量入口,加速线上故障诊断
nginx·prometheus·devops
天天喝旺仔13 天前
Prometheus + Grafana 监控告警体系搭建实战:从 Exporter 指标采集、PromQL 查询到 Alertmanager 告警落地
容器·kubernetes·grafana·prometheus·时序数据库
川石课堂软件测试17 天前
涨薪技术|Prometheus之HTTP API中使用PromQL
网络协议·测试工具·jmeter·http·单元测试·postman·prometheus
IT界的老黄牛19 天前
Prometheus TSDB 拆不出来、也存不了一年:4 条外部存储出路 + 容量测算
prometheus·时序数据库·监控·thanos·victoriametrics·remote_write