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_exporter:https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz

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

Grafana:https://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=` 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端口

Prometheus + Grafana + Node_Exporter系统指标监控平台搭建_第1张图片

  • 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

Prometheus + Grafana + Node_Exporter系统指标监控平台搭建_第2张图片

 

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

Prometheus + Grafana + Node_Exporter系统指标监控平台搭建_第3张图片 

选择Prometheus

Prometheus + Grafana + Node_Exporter系统指标监控平台搭建_第4张图片

 填写地址,点击保存&test

Prometheus + Grafana + Node_Exporter系统指标监控平台搭建_第5张图片

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

Prometheus + Grafana + Node_Exporter系统指标监控平台搭建_第6张图片

 输入8919点击load

Prometheus + Grafana + Node_Exporter系统指标监控平台搭建_第7张图片

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

Prometheus + Grafana + Node_Exporter系统指标监控平台搭建_第8张图片

 面板展示

Prometheus + Grafana + Node_Exporter系统指标监控平台搭建_第9张图片

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

 

你可能感兴趣的:(性能测试,Linxu系统,linux,exporter,Prometheus,Grafana)