Prometheus + Grafana + Node_Exporter系统指标监控平台搭建

组件简介

Node Exporter

node_exporter是一类数据采集组件的总称。Exporter负责从目标处搜集数据, 并将其转化为Prometheus支持的格式, 它开放了一个http接口(以便Prometheus来抓取数据). 与传统的数据采集组件不同的是, Exporter并不向中央服务器发送数据, 而是等待中央服务器(如Prometheus等)主动前来抓取。Prometheus · GitHub 有很多写好的exporter,可以直接下载使用。

Prometheus

Prometheus(中文名:普罗米修斯)是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB). Prometheus使用Go语言开发, 是Google BorgMon监控系统的开源版本。

Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态, 任意组件只要提供对应的HTTP接口就可以接入监控. 不需要任何SDK或者其他的集成过程。输出被监控组件信息的HTTP接口被叫做exporter,目前开发常用的组件大部分都有exporter可以直接使用, 比如Nginx、MySQL、Linux系统信息、Mongo、ES等

Grafana

Grafana是一个图形化工具, 它可以从很多种数据源(例如Prometheus)中读取数据信息, 使用很漂亮的图表来展示数据, 并且有很多开源的dashborad可以使用,可以快速地搭建起一个非常精美的监控平台。它与Prometheus的关系就类似于Kibana与ElasticSearch。

下载

node_exporterhttps://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz

Prometheushttps://github.com/prometheus/prometheus/releases/download/v2.34.0-rc.0/prometheus-2.34.0-rc.0.linux-amd64.tar.gz

Grafanahttps://dl.grafana.com/enterprise/release/grafana-enterprise-8.4.2.linux-amd64.tar.gz

[root@iZ8vb7u9c6qu93ecd45frhZ media]# ll
total 165192
-rw-r--r-- 1 root root 83911070 Mar  1 21:36 grafana-enterprise-8.4.2.linux-amd64.tar.gz
-rw-r--r-- 1 root root  9033415 Dec  8 16:52 node_exporter-1.3.1.linux-amd64.tar.gz
-rw-r--r-- 1 root root 76202164 Feb 28 23:58 prometheus-2.34.0-rc.0.linux-amd64.tar.gz

快速安装

快速安装方式直接执行以下命令即可安装grafananode_exporterprometheus安装过程访问PasteMe - 一个不算糟糕的可私有文本分享平台查看

curl api.pasteme.cn/8413 | bash

安装后执行以下命令查看各组件运行情况

systemctl status node_exporter
systemctl status prometheus
systemctl status grafana-server

浏览器访问组件查看是否正常,默认账号密码为:admin

node_exporterPrometheusGrafana 的默认端口分别是 910090903000

配置

安装完成之后三个组件为相互独立的,需要通过配置将三个组件关联起来工作。

  • Prometheus

编辑配置文件/usr/local/prometheus/prometheus.yml

# my global config
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'] # 将端口号修改为9100

上述修改的让Prometheus从 localhost:9100/metrics 进行 metrics 信息的读取,默认的 9090Prometheus 本身的 metrics 信息,修改后就读取node_exporter采集到的信息。

监控多个节点时

 - targets: ['localhost1:9100','localhost2:9100']

修改配置后重启Prometheus

systemctl restart prometheus
#查看状态
systemctl status prometheus
  • Grafana

    进入到/usr/local/grafana/bin执行以下命令

chmod +x grafana-cli
./grafana-cli plugins install grafana-piechart-panel
systemctl restart grafana-server

这一步是为了安装一个饼图插件,执行之后用浏览器访问服务器的3000端口

账号密码均为admin

手动安装

  • Grafana

解压到/usr/local

#解压到当前文件夹并移动到/usr/local目录下
tar -xzvf grafana-enterprise-8.4.2.linux-amd64.tar.gz
mv grafana-8.4.2 /usr/local/grafana

/usr/local/grafana/目录下新建grafana-server.service文件并写入以下内容,配置这个文件是为了能用systemctl 管理服务

##grafana-server.service
[Unit]
Description=Grafana Server
After=network.target
 
[Service]
Type=simple
User=root
WorkingDirectory=/usr/local/grafana
ExecStart=/usr/local/grafana/bin/grafana-server
 
Restart=on-failure
LimitNOFILE=65536
 
[Install]
WantedBy=multi-user.target

配置好之后设置软连接

ln -s /usr/local/grafana/grafana-server.service /lib/systemd/system/

启动grafana

systemctl daemon-reload
systemctl start grafana-server

访问服务器3000端口

  • Node_Exporter

解压到/usr/local

##解压并移动到/usr/local
tar -xzvf node_exporter-1.3.1.linux-amd64.tar.gz 
mv node_exporter-1.3.1.linux-amd64 /usr/local/node_exporter

/usr/local/node_exporter/目录下新建node_exporter.service文件并写入以下内容,同样配置这个文件是为了能用systemctl 管理服务

cd /usr/local/node_exporter
touch node_exporter.service
vi touch node_exporter.service

写入以下内容

##node_exporter.service
[Unit]
Description=Node Exporter
After=network.target
Wants=network-online.target
 
[Service]
Type=simple
User=root
ExecStart=/usr/local/node_exporter/node_exporter
 
Restart=on-failure
LimitNOFILE=65536
 
[Install]
WantedBy=multi-user.target

配置软连接

ln -s /usr/local/node_exporter/node_exporter.service /lib/systemd/system/

启动node_exporter

systemctl daemon-reload
systemctl start node_exporter

查看node_exporter状态

systemctl status node_exporter
  • Prometheus

解压到/usr/local

##解压并移动到/usr/local
tar -zxvf prometheus-2.34.0-rc.0.linux-amd64.tar.gz
mv prometheus-2.34.0-rc.0.linux-amd64 /usr/local/prometheus

/usr/local/prometheus/目录下新建prometheus.service文件并写入以下内容,同样配置这个文件是为了能用systemctl 管理服务

cd /usr/local/node_exporter
touch node_exporter.service
vi touch node_exporter.service

写入内容

##node_exporter.service
[Unit]
Description=Prometheus
After=network.target
 
[Service]
Type=simple
User=root
WorkingDirectory=/usr/local/prometheus
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml
 
Restart=on-failure
LimitNOFILE=65536
 
[Install]
WantedBy=multi-user.target

配置软连接

ln -s /usr/local/prometheus/prometheus.service /lib/systemd/system/

启动prometheus

systemctl daemon-reload
systemctl start prometheus

查看prometheus状态

systemctl status prometheus

配置

  • Prometheus

同样手动安装之后也需要配置prometheus,配置内容同上述prometheus配置,即配置/usr/local/prometheus/prometheus.yml文件

  • Grafana

登录Grafana默认账号密码admn/admin

 

配置数据源,即Grafana从什么地方获取数据

 

选择Prometheus

 填写地址,点击保存&test

 导入ID为8919面板,这是已经写好的node_export面板,可查看这个网址查看效果。https://grafana.com/dashboards/8919

 输入8919点击load

 填写名称选择创建好的数据源

 面板展示

欢迎大家关注我的订阅号,会定期分享一些关于测试相关的文章,有问题也欢迎一起讨论学习!
在这里插入图片描述 

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,下面是prometheus+node_exporter+grafana的详细部署流程: 1. 下载并安装Prometheus 首先,需要从Prometheus的官方网站 https://prometheus.io/download/ 下载最新版本Prometheus。下载完成后,解压缩并将其放在合适的位置。然后,可以通过以下命令启动Prometheus: ``` ./prometheus --config.file=prometheus.yml ``` 这里的“prometheus.yml”是Prometheus的配置文件,可以根据需要进行修改。 2. 下载并安装Node Exporter Node Exporter是一个用于收集主机指标的代理程序,可以通过以下命令下载最新版本Node Exporter: ``` wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz ``` 下载完成后,解压缩并将其放在合适的位置。然后,可以通过以下命令启动Node Exporter: ``` ./node_exporter ``` 3. 配置Prometheus监控Node Exporter监控Node Exporter,需要将其添加到Prometheus的配置文件中。打开“prometheus.yml”文件并添加以下内容: ``` scrape_configs: - job_name: 'node_exporter' scrape_interval: 5s static_configs: - targets: ['localhost:9100'] ``` 这里的“targets”是Node Exporter的地址和端口号。如果要监控多个Node Exporter,则可以添加多个目标。 4. 下载并安装Grafana Grafana是一个用于可视化监控数据的开源平台,可以通过以下命令下载最新版本Grafana: ``` wget https://dl.grafana.com/oss/release/grafana-7.1.5.linux-amd64.tar.gz ``` 下载完成后,解压缩并将其放在合适的位置。然后,可以通过以下命令启动Grafana: ``` ./bin/grafana-server ``` 5. 配置Grafana 要将PrometheusGrafana集成,需要在Grafana中添加一个数据源。打开Grafana并导航到“Configuration”>“Data Sources”>“Add Data Source”: - 在“Name”字段中输入数据源的名称。 - 在“Type”字段中选择“Prometheus”。 - 在“HTTP”字段中输入Prometheus的地址和端口号。 - 单击“Save & Test”以保存数据源并测试连接。 接下来,可以创建一个仪表盘并添加一个面板以显示Prometheus的数据。导航到“Create”>“Dashboard”>“Add Panel”: - 选择要显示的指标。 - 选择要显示的图表类型。 - 单击“Apply”以保存面板。 6. 查看监控数据 现在,可以通过Grafana查看收集到的监控数据。导航到仪表盘,将其刷新以更新数据,并查看面板中的图表。 以上就是prometheus+node_exporter+grafana的详细部署流程。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值