(mac)Prometheus监控之Node_exporter(CPU、内存、磁盘、网络等)

完整步骤

1.启动 Prometheus 普罗米修斯 

prometheus --config.file=/usr/local/etc/prometheus.yml

浏览器访问 

http://localhost:9090/targets

 2.启动Node_exporter 

node_exporter

访问:http://localhost:9100  

3.启动grafana

brew services start grafana

访问http://localhost:3000 

4.添加数据源

5.查看Dashboard 

一、搭建Node_exporter+Prometheus+Grafana监控系统

 普罗米修斯是后端数据监控平台,通过Node_exporter收集数据,Grafana将数据用图形的方式展示出来

 1. Prometheus安装

官网各平台下载 

(1)通过brew安装

brew install prometheus

(2)验证Prometheus

prometheus --version

(3)查看安装位置

which prometheus

找到默认配置prometheus.yml的位置 

/usr/local/etc/prometheus.yml

(4)启动Prometheus server

prometheus --config.file=/usr/local/etc/prometheus.yml

启动后浏览器输入: http://localhost:9090/targets

http://localhost:9090/targets

查看监控数据 

http://localhost:9090/metrich

查看到这个页面:

(5)配置Prometheus

  • 在Prometheus.yml(/usr/local/etc/prometheus.yml)中有配置文件,我们可以对其进行配置,当然第一次安装也可以不管

配置后重启服务才能生效 

默认配置:

告警管理器(Alertmanager)的配置,目前还没有安装Alertmanager,可以提前配置好:

# 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"

注意输入的格式:yaml格式校验 

修改后如下:

其大致可分为四部分:
- global:全局配置,其中scrape_interval表示抓取一次数据的间隔时间,evaluation_interval表示进行告警规则检测的间隔时间;
- alerting:告警管理器(Alertmanager)的配置,目前还没有安装Alertmanager;
- rule_files:告警规则有哪些;
- scrape_configs:抓取监控信息的目标。一个job_name就是一个目标,其targets就是采集信息的IP和端口。这里默认监控了Prometheus自己,可以通过修改这里来修改Prometheus的监控端口。Prometheus的每个exporter都会是一个目标,它们可以上报不同的监控信息,比如机器状态,或者mysql性能等等,不同语言sdk也会是一个目标,它们会上报你自定义的业务监控信息。

重载 prometheus

prometheus --config.file=/usr/local/etc/prometheus.yml

(6)监听 9090 端口

 查看端口是否被占用 

lsof -i :端口号

杀掉进程

kill PID
//或者
kill -9 PID

  • 访问prometheus
    • 输入: “ip地址”+":9090" 在浏览器中进行访问,如果出现可视化界面说明成功;

示例: 192.168.10.8:9090 直接在自己电脑中访问
如果访问不了,请检查防火墙是否开启9090端口 ,或者端口是否被占用

2.Node_exporter安装 

机器状态监控(监控服务器CPU,硬盘,网络等状态) 

下载 windows的 node_expoeter

(1)通过 Brew安装

安装: 

brew install node_exporter

验证:

node_exporter --version

 

(2)启动 node_exporter 

brew services start node_exporter

 关闭服务

brew services stop node_exporter

或者直接 

node_exporter

关闭终端窗口就关闭服务了

(3)监听9100端口

  • 本Centos中访问: curl http://localhost:9100/metrics
  • 电脑浏览器中访问: ip地址:9100

本地访问:http://localhost:9100 

如果访问有内容显示则成功

启动服务的时候可使用nohup后台启动,如果是直接图中所示内容启动则重开连接

(4)配置Prometheus.yml

 从  上面的1( 3)  可知路径:

/usr/local/etc/prometheus.yml

添加配置scrape_configs部分如下: 

注意输入的格式:yaml格式校验  

scrape_configs:
  - job_name: "prometheus"
    static_configs:
    - targets: ["localhost:9090"]
  - job_name: "Node"
    static_configs:
    - targets: ["192.168.10.22:9100"]

 重载配置:

prometheus --config.file=/usr/local/etc/prometheus.yml 

浏览器查看:

http://localhost:9090/targets

 (5)修改端口


如果未能启动成功,提示端口被占用,需要修改默认端口

node_exporter --web.listen-address=:9199

prometheus.yml的端口也要修改为9100 也要修改为 9199

(6) 查看端口是否被占用

lsof -i :端口号

杀进程

kill PID

  3.Grafana安装

(1)通过 brew安装 

brew install grafana

(2)插件安装

 当grafana自带的图标等不等满足我们的需求时,比如grafana默认的图片是没有饼图的。

可以安装piechart饼状图插件

先了解下  grafana cli

grafana cli --help 

官网查看插件

命令查看可用的插件:

grafana cli plugins list-remote

 

插件有:

grafana-clock-panel

grafana-guidedtour-panel

grafana-polystat-panel

grafana-xyzchart-panel 

本人安装的版本没有grafana-piechart-panel,所以安装了grafana-clock-panel

grafana cli plugins install grafana-clock-panel

(3)启动grafana

brew services start grafana

关闭服务

brew services stop grafana

  • 安装并启动Grafana后,浏览器输入 IP:3000 来访问Grafana,管理员账号密码默认是admin/admin。首次登陆会让你修改管理员密码,不修改也可以,进入后还能修改。

  • 本地访问http://localhost:3000

 

二、监控使用

1. 在grafana添加数据源 

 

先输入名称,然后填入http://ip:9090,然后直接点Save&Test

2. 添加模板

点击Dashboards ,可选择一个,也可多个import

  • 选择左侧边栏,Dashboards,New--Imput, 在Grafana.com Dashboard中输入: 8919或者 1860

也可以自己选择官方展示面板,链接: https://grafana.com/dashboards

 

3. 查看效果

 

node_exporter模板 

三、搭建其他服务器监控系统

监控系统的Prometheus类似于一个注册中心,我们可以只需要配置一个Prometheus,而在其他服务器,只需要安装node_exporter,它们的数据流转就是通过exporter采集数据信息,然后告诉prometheus它的位置;而Prometheus则存储exporter的信息供Grafana询问;Grafana则负责信息的展示;所以可以只配置一个Prometheus,而其他服务器或者本机的服务器的exporter只需要在这一个Promethes中给出它的job_name,targets地址等信息即可;

Node_exporter安装在被测服务器上,启动服务

  • 各步骤的IP地址要换为被测服务器的IP地址
  • Prometheus.yml的 targets值
  • 网页访问的ip部分
  • grafana添加数据源的URL

注意:如果需要监控其他服务器,则只需要在其他服务器安装 node_exporter 即可,将其对应的ip地址,端口号等信息配置到已有的Prometheus的Prometheus.yml内即可;格式参照其他,job_name不能命名成一样的,可改成其他名称;Grafana添加数据源和注册仪表盘都是一致的;

参考:windows的Grafana监控系统搭建 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/566127.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis - Redisson tryLock 函数参数分析

这里有三个参数: waitTime:等待时间leaseTime:超时施放时间TimeUnit:时间单位 等待时间 如果 ABC… 多个线程去抢夺一把锁,A 成功了,如果设置的是 -1,那么 BCD... 就不等待,直接返…

计算机工作者学习平台

给大家分享了几个非常有用的学习平台,可以作为参考,具体为: 1.中国大学MOOC 中国大学MOOC_优质在线课程学习平台 2.牛客 牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网 3.CSDN https://www…

气压计LPS22HB开发(1)----轮询获取气压计数据

气压计LPS22HB开发----1.轮询获取气压计数据 概述硬件准备视频教学样品申请源码下载产品特性通信模式速率生成STM32CUBEMX串口配置IIC配置CS和SA0地址设置串口重定向参考程序SA0设置模块地址获取ID复位操作BDU设置设置低通滤波器设置速率轮询读取数据演示 概述 最近在弄ST的课…

[Algorithm][二分查找][山峰数组的峰顶索引][寻找峰值][寻找旋转排序数组中的最小值][0~n-1中缺失的数字]详细讲解

目录 1.山脉数组的峰顶索引1.题目链接2.算法原理详解3.代码实现 2.寻找峰值1.题目链接2.算法原理详解3.代码实现 3.寻找旋转排序数组中的最小值1.题目链接2.算法原理详解3.代码实现 4.0〜n-1 中缺失的数字1.题目链接2.算法原理详解3.代码实现 1.山脉数组的峰顶索引 1.题目链接…

TaskWeaver使用记录

TaskWeaver使用记录 1. 基本介绍2. 总体结构与流程3. 概念细节3.1 Project3.2 Session3.3 Memory3.4 Conversation3.5 Round3.6 Post3.7 Attachment3.8 Plugin3.9 Executor 4. 代码特点5. 使用过程5.1 api调用5.2 本地模型使用5.3 添加插件 6. 存在的问题与使用体验6.1 判别模型…

模板初阶

泛型编程: 泛型编程:编写与类型无关的通用代码,模板是泛型编程的基础 class Test { public:void Swap(int& left, int& right){int tmp left;left right;right tmp;}void Swap(double& left, double& right){double tmp…

一句话或一张图讲清楚系列之——ISERDESE2的原理

主要参考: https://blog.csdn.net/weixin_50810761/article/details/137383681 xilinx原语详解及仿真——ISERDESE2 作者:电路_fpga https://blog.csdn.net/weixin_45372778/article/details/122036112 Xilinx ISERDESE2应用笔记及仿真实操 作者&#x…

鸿蒙OpenHarmony【小型系统编写“Hello World”程序】 (基于Hi3516开发板)

编写“Hello World”程序 下方将展示如何在单板上运行第一个应用程序,其中包括新建应用程序、编译、烧写、运行等步骤,最终输出“Hello World!”。 前提条件 已参考[创建工程并获取源码],创建Hi3516开发板的源码工程。 鸿蒙开发…

【Python-装饰器】

Python-装饰器 ■ 简介■ 装饰器的一般写法(闭包写法)■ 装饰器的语法 (outer写法) ■ 简介 装饰器其实是一种闭包, 功能就是在不破坏目标函数原有的代码和功能的前提下为目标函数增加新功能。 ■ 装饰器的一般写法(闭包写法&am…

服务器数据恢复—StorNext文件系统下raid5阵列数据恢复案例

服务器数据恢复环境: 昆腾某型号存储,8个存放数据的存储柜1个存放元数据的存储柜。 元数据存储:8组RAID1阵列1组RAID10阵列4个全局热备硬盘。 数据存储:32组RAID5阵列,划分2个存储系统。 服务器故障: 数据…

鸿蒙开发模拟器的坑, No Devices

问题 我已经安装了模拟器,并且模拟器已经运行了 在Device Manager页面开启模拟器 No Devices 但是这里没有模拟器的选项 解决 添加环境变量 下面步骤 1、清除用户数据 2、 关闭Device Manager 3、 关闭ide 重启ide、开启模拟器 看到有模拟器的选项了

SLICEM是如何将查找表配置为分布式RAM/移位寄存器的

1.首先说SliceM和SliceL如何配置为ROM的 一个SLICE包含4个六输入查找表,因此每个查找表就能存储64bit的数据,要实现128bit的ROM,只需要通过两个LUT就可实现,具体如下表: 2.如何配置成为分布式RAM SLICEM中的LUT如下图&#xff…

iOS - Runloop在实际开发中的应用

文章目录 iOS - Runloop在实际开发中的应用1. 控制线程生命周期(线程保活)2. 解决NSTimer在滑动时停止工作的问题2.1. 案例2.2 解决 3. 监控应用卡顿4. 性能优化 iOS - Runloop在实际开发中的应用 1. 控制线程生命周期(线程保活)…

夜神、雷电、android studio手机模拟器资源占用情况

夜神、雷电、android studio手机模拟器内存资源占用情况 由于开发电脑只有16G内存,出于开发需要和本身硬件资源的限制,对多个手机模拟器进行了机器资源占用(主要是内存)的简单比较。 比较的模拟器包括: 1. Android S…

[Linux][多线程][二][线程互斥][互斥量][可重入VS线程安全][常见锁概念]

目录 1.线程互斥1.互斥相关背景概念2.多个线程并发的操作共享变量,会带来一些问题3.互斥量mutex 2.互斥量的接口1.初始化互斥量2.销毁互斥量3.加锁4.解锁5.使用 -- 改善上面代码 3.互斥量实现原理探究1.加锁是如何保证原子性的?2.如何保证锁是原子性的&a…

交通工程绪论

一、交通工程 交通工程学定义交通工程学研究的内容交通工程学的产生与发展交通工程学在道路运输管理中的作用 1. 交通工程学定义 早在20世纪30年代,美国交通工程师协会(American Institute of Traffic Engineers)给交通工程学(Traffic Engineering)下了一个定义&a…

Java中使用Graphics2D绘制字符串文本自动换行 算法

效果: 代码: /*** return void* Author xia* Description //TODO 写字换行算法* Date 18:08 2021/4/1* Param []**/private static void drawWordAndLineFeed(Graphics2D g2d, Font font, String words, int wordsX, int wordsY, int wordsWidth) {FontD…

Java微服务架构之Spring Boot —上篇

SpringBoot 概述 SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度…

CentOS 7虚拟机配置过程中所需组件的安装(二)

1.安装net-tools组件(解决无 ifconfig) # yum install net-tools 2.安装gcc、c编译器以及内核文件 # yum -y install gcc gcc-c kernel-devel 验证安装成功 3.安装nano(文本编辑器) # yum install nano

stm32——GPIO学习

对于许多刚入门stm32的同学们来说,GPIO是我们的第一课,初出茅庐的我们会对GPIO的配置感到疑惑不解,也是劝退我们的第一课,今天我们就来一起学习一下stm32的GPIO,提振一下信心。好的,发车了小卷卷们&#xf…