首页 > 编程语言 >Node_exporter+Prometheus+Grafana 安装配置详解

Node_exporter+Prometheus+Grafana 安装配置详解

时间:2022-11-02 15:49:13浏览次数:60  
标签:Node node exporter grafana 解压 prometheus Grafana 安装

在进行性能测试时,想直观看到服务器的CPU、内存占用多少,可以搭建prometheus+node_exporter+grafana来实现。 通过 node_exporter把从服务器(即被监控机器)采集到的信息发到prometheus,经prometheus数据处理后在grafana进行直观的展示。

1.node_exporter安装(安装在被测服务器上)

node_exporter是prometheus官方提供的agent,是我们最常用的exporter之一。它是一个搜集器,负责收集操作系统上的cpu,网络,内存等信息。

安装node_exporter之前,需要先确保所在liunx已经安装了java,若没有安装的话,先去装一下~~

(1)下载安装包

先去prometheus的网站(https://prometheus.io/download/)找到要下载的node_exporter,选择对应的版本即可

在服务器执行命令:

wget -c https://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-amd64.tar.gz

如图所示:

(2)解压

tar -zxvf node_exporter-1.4.0.linux-amd64.tar.gz -C 指定目录

如图所示,这里解压到上一级目录 root 目录下

(3)进入解压后的目录,启动node_exporter(默认监听端口是9100)

./node_exporter &

(4)浏览器访问 服务器IP:9100,看是否能打开,若提示不可用,需要去服务器的防火墙开放9100的端口,看到以下页面说明安装配置完成

点击Metrics,看到类似页面

2.安装Prometheus(此处演示的是在MacOS上安装)

Prometheus是一套开源的监控&报警&时间序列数据库的结合,它既适用于面向服务器等硬件指标的监控,也适用于高动态面向服务架构的监控,本文安装配置的prometheus会主动去node_exporter将搜集的信息拉取过来(我们在prometheus的yml配置文件上,配置了node_exporter的地址),将数据存储在Prometheus 自带的时序数据库中。

(1)先去prometheus的网站(https://prometheus.io/download/)找到需要下载的安装包

 

我是mac,所以直接点击第一个进行下载的,若是linux,执行如下命令(改成当前最新版本)

wget -c https://github.com/prometheus/prometheus/releases/download/v2.37.1/prometheus-2.37.1.linux-amd64.tar.gz

(2)进入包所在的目录,解压(解压可选择解压到什么目录)

tar -zxvf prometheus-2.37.1.linux-amd64.tar.gz

(3)使用命令 vi prometheus.yml 编辑prometheus.yml文件

# 在prometheus.yml文件中加入这种格式的配置,IP换成自己的(192.168.1.1:9100是我随便写的):

- job_name: 'test'

static_configs:

- targets: ['192.168.1.1:9100']

注意:缩进和格式需要与上面红框中的保持一致~~

targets 里面是被监控的目标机器的IP和端口,配置后,按 【esc】回到命令模式,然后按【:wq】保存退出即可。

(4)启动Prometheus

在prometheus对应的目录下,使用如下命令启动

./prometheus --config.file=prometheus.yml &

(5)访问 ip:9090 (我这边是本地装的,所以是127.0.0.1,你们要是服务器安装的话,换成服务器的ip就好了,若无法访问,检查一下 防火墙9090 端口是否打开,9090是prometheus的默认端口)

能看到如下页面

菜单栏选择Status 下拉选择“Targets”

红框里就是我们刚配置的

 

3.安装grafana(此处演示的是在MacOS上安装)

Grafana是一款采用Go语言编写的开源应用,主要用于大规模指数数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具。

(1)在 https://grafana.com/grafana/download 里下载grafana

若是linux安装的话,官网上也告诉了需要执行的命令,比如是CentOS的,按上面操作就好了

我这边是mac,选择mac版本,这边两个命令都给出来了,照着执行就可以

进入终端,进入想要放包的目录,执行第一条命令,下载对应的包

curl -O https://dl.grafana.com/enterprise/release/grafana-enterprise-9.2.2.darwin-amd64.tar.gz

解压( 后面可以指定解压目录,这样就是解压在本文件夹内)

tar -zxvf grafana-enterprise-9.2.2.darwin-amd64.tar.gz -C 你想要解压的目录

(2)进入解压后的目录/conf,里面有个defaults.ini文件,这是默认的配置文件,我们不要修改。拷贝该文件并重命名为 custom.ini(可以使用cp命令拷贝,也可以直接复制修改名字)

编辑custom.ini文件,先修改日志文件保存的目录,如图所示修改成 我自己在解压后目录下手动创建的logs文件夹,其他的有需要在修改(grafana默认端口是3000,我们这里暂时先不修改了)

 

在终端执行如下命令,记得将目录换成你自己的就可以

①指定自定义的配置文件的路径

②指定 homepath 的路径,否则程序启动不了

③指定pid文件的路径(会自动创建pid文件)

nohup /Users/liyiming/FLJWorkspace/grafana-9.2.1/bin/grafana-server -config "/Users/liyiming/FLJWorkspace/grafana-9.2.1/conf/custom.ini" -homepath "/Users/liyiming/FLJWorkspace/grafana-9.2.1" -pidfile "/Users/liyiming/FLJWorkspace/grafana-9.2.1/pid" web > logs/grafana.out 2>&1 &

(若没有权限操作,前面加sudo)

(说明:以上安装若嫌麻烦,也可以通过Home Brew安装,Home Brew安装较为简单,本文不讲解)

(3)启动Grafana,我是本地安装故使用:127.0.0.1:3000打开即可

(默认端口3000,默认登录密码是 admin/admin)

4.将prometheus作为数据源,配置到Grafana中

(1)点击设置图标,点击【Data sources】

(2)在页面点击 Add data source

(3)选择Prometheus


(4)填写名称和URL(URL一定要填写,就是第二大步我们安装的Prometheus的地址),其他项暂不填写,保存即可,这样我们的数据源就配置完成了

5.配置Dashboards

(1)来到Grafana的官网,找到Dashboards

 

https://grafana.com/grafana/dashboards/

找评分好一点,下载多的,点进去

可以看到这边有个ID,我们就使用这个ID

(2)来到Grafana,点击Dashboards,选择import

输入刚刚我们选择的ID 如:11074,点击Load

VictoriaMetrics 中选择刚刚我们配置的数据源,其他项都是默认值,不用修改,直接点击import

(3)然后数据就出来了

以上所有配置就完成啦~~

来来来~~~一起打怪升级吧

公众号

 

个人微信 --> 添加请注明来意 

标签:Node,node,exporter,grafana,解压,prometheus,Grafana,安装
From: https://www.cnblogs.com/fenghuaihuai/p/16851133.html

相关文章

  • 利用node创建命令行工具
    什么是命令行工具?命令行工具(CmmandLineInterface)简称cli,顾名思义就是在命令行终端中使用的工具。我们常用的git、npm、vim等都是cli工具,比如我们可以通过gitclo......
  • isVnode 判断一个对象是否为 vnode 类型
    functionhasOwn(){returnObject.prototype.hasOwnProperty.call.apply(Object.prototype.hasOwnProperty,arguments)}//判断是否为vnode类型functionisV......
  • 理解NodeJS多进程
    序言一次面试中,我提到自己用过pm2,面试接着问:「那你知道pm2父子进程通信方式吗」。我大概听说pm2有cluster模式,但不清楚父子进程如何通信。面试结束后把NodeJS的多进程重新......
  • 记一次node节点无法加入K8S集群
    #问题现象:root@small-virtual-machine:~#kubeadmjoin10.0.0.133:6443--tokend2hyl5.5qt5fzjsdbxm2k5o   --discovery-token-ca-cert-hashsha256:d02674df33b......
  • 安装node.js教程------深入使用Vue
    教程1、下载nodejs引擎网址:https://nodejs.org/en/download/选择32-bit或者64-bit都行2、下载最新版npm.zip压缩包网址:http://nodejs.org/dist/npm/3、将两者下载在......
  • nvm切换node.js环境工具
    下载地址:https://github.com/coreybutler/nvm-windows/releases使用默认安装目录,不用再单独配置环境变量默认安装目录:C:\Users\jay.star\AppData\Roaming\nvm找到setting......
  • LNK4098 defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:
    C++项目编译时遇到警告LNK4098defaultlib'MSVCRT'conflictswithuseofotherlibs;use/NODEFAULTLIB:library 原因使用多线程调试dll(/MDd)模式时,msvcrtd.lib和......
  • UIPath踩坑记一 对 COM 组件的调用返回了错误 HRESULT E_FAIL。UiPath.UiNodeClass.In
      [ERROR] [UiPath.Studio] [1] 错误: System.Exception: 对 COM 组件的调用返回了错误 HRESULT E_FAIL。 ---> System.Exception: 对 COM 组件的调用返......
  • 关于项目需要装依赖生成node_modules太大的解决办法
    记录一下今天跟大神学到的新的东西:描述:前端的项目需要装依赖,久而久之,每个项目的node_modules就非常的大,实在是太占电脑的内存了,于是大神就找了一个解决办法,亲测有用步骤:......
  • 深度理解NodeJS事件循环
    导读ALLTHETIME,我们写的的大部分javascript代码都是在浏览器环境下编译运行的,因此可能我们对浏览器的事件循环机制了解比Node.JS的事件循环更深入一些,但是最近写开始深......