当前位置: 首页 > news >正文

Prometheus+Node_exporter+Grafana实现监控主机

Prometheus+Node_exporter+Grafana实现监控主机

如果没有安装相关的配置,首先要进行安装配置,环境是基于Linux,虚拟机的相关环境配置在文末给出,现在先讲解Prometheus+Node_exporter+Grafana的安装和使用。

一.Prometheus安装

虽然虚拟机可以本地安装Prometheus,但是下载的速度可能缓慢,而且后续寻找配置相对麻烦,在配置文件的过程中也不便于操作,因此在本文中我都采用的安装包配置相应环境。另一方面,便于对虚拟机指令的操作和文件传输,我使用远程控制的方式进行操作。

1.FinalShell远程控制连接
  • 在虚拟机开启共享的服务中的远程登录

在这里插入图片描述

  • 虚拟机Ubuntu默认没有安装ssh的server,需要进行安装

    apt-get install openssh-server

  • 允许远程使用root账号ssh连接本机,修改配置vim /etc/ssh/sshd_config其中内容为

    #PermitRootLogin prohibit-password

    PermitRootLogin yes

  • 需要重启系统或者sshd服务

    sudo /etc/init.d/ssh stop
    sudo /etc/init.d/ssh start
    sudo service ssh restart

  • 系统默认开启系统sshd

    sudo systemctl enable ssh

  • 查看虚拟机IP地址后,打开FinalShell新建SS连接
    在这里插入图片描述

  • 连接成功后就可以在可以在终端操作
    在这里插入图片描述

  • 选择usr/local/为安装目录,三个安装包都在此目录下进行安装配置,同时在终端下方鼠标右键点击相应的文件就可以通过Windows实现文件传输给Linux
    在这里插入图片描述

2.配置Go环境
  • 由于Prometheus是由go语言开发的,所以在安装Prometheus之前需要先在监控主机上安装go环境。下载链接:https://pan.baidu.com/s/1gefGeXmoFmjGxSGxgCuQfw 提取码:cz6l

  • 解压安装包:

    tar -xvf go1.13.1.linux-amd64.tar.gz

  • 配置环境变量

    # vim /etc/profile
    // 在最后一行添加
    export GOROOT=/usr/local/go
    export PATH=$PATH:$GOROOT/bin
    // wq保存退出后source一下
    # source /etc/profile
    
3.安装Prometheus

下载链接:Index of /github-release/prometheus/prometheus/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

  • 将下载后安装包上传至 /usr/local 目录中
    在这里插入图片描述

  • 解压并重新命名为prometheus

    tar -xvf prometheus-2.47.2.linux-amd64.tar.gz
    mv prometheus-2.47.2.linux-amd64/ prometheus

  • 创建services服务文件

    vim /etc/systemd/system/prometheus.service
    [Unit]
    Description=prometheus
    After=network.target
    [Service]
    Type=simple
    ExecStart=/usr/local/prometheus --config.file=/usr/local/prometheus.yml
    Restart=on-failure
    [Install]
    WantedBy=multi-user.target
    
  • 启动Prometheus,将服务设置为开机自启动

    #重新加载配置文件
    systemctl daemon-reload  
    #开启服务
    systemctl start prometheus.service
    #查看状态
    systemctl status prometheus.service
    #服务开机自启动,不用每次启动
    systemctl enable prometheus.service
    
  • 状态显示正常,那么配置就没有问题,如下图所示样例
    在这里插入图片描述

  • 在虚拟机浏览器访问http:127.0.0.1:9090访问查看
    在这里插入图片描述

二、安装Node_exporter

下载地址:Index of nodejs-local (huaweicloud.com)

  • 下载后将文件上传到/usr/local目录下
    在这里插入图片描述

  • 解压安装包:

    tar -xvf node_exporter-0.17.0.linux-amd64.tar.gz

  • 配置环境变量

    vim /etc/systemd/system/node_exporter.service[Unit]
    Description=node_exporter Monitoring System
    Documentation=node_exporter Monitoring System[Service]
    ExecStart=/usr/local/node_exporter --web.listen-address=:9100[Install]
    WantedBy=multi-user.target
    
  • 设置开机自启动

    #设置开机自启
    systemctl daemon-reload
    systemctl start node_exporter.service
    systemctl status node_exporter.service
    systemctl enable node_exporter.service
    
  • 状态显示正常活动,可以通过虚拟机浏览器访问
    在这里插入图片描述
    在这里插入图片描述

三、安装Grafana可视化面板

下载地址:Index of /grafana/apt/dists/beta/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

  • 下载后将文件上传到/usr/local目录下

在这里插入图片描述

  • 解压并重命名

    tar -xvf grafana-enterprise-10.0.2.linux-amd64.tar.gz

    mv grafana-enterprise-10.0.2.linux-amd64.tar.gz grafana

  • 配置环境变量实现开机自启动vim /usr/lib/systemd/system/grafana.service

    [Unit]
    Description=Grafana
    After=network.target
    [Service]
    Type=notify
    ExecStart=/data/grafana/bin/grafana-server -homepath /data/grafana
    Restart=on-failure
    [Install]
    WantedBy=multi-user.target
  • 配置相关指令

    #重新加载服务配置文件
    systemctl daemon-reload
    #启动 grafana
    systemctl start grafana.service
    #查看 grafana状态
    systemctl status grafana.service
    #设置开机自启
    systemctl enable grafana.service
    #重启 grafana
    systemctl restart grafana.service
    #停止 grafana
    systemctl stop grafana.service
    
  • 访问Grafana,访问地址为http:127.0.0.1:3000,初始账号密码为admin和admin(j记得修改)
    在这里插入图片描述

四、监控多台Linux服务器
  • 首先被监控的主机要安装node_exporter提供数据接口,配置的过程和主机配置Node_exporter一样,可参考上文。

  • 配置prometheus server端可以拉取node信息

    vim /usr/local/prometheus/prometheus.yml

  • 在文件最后添加内容

      - job_name: 'linux'static_configs:- targets: ['192.168.45.143:9100','192.168.45.22:9100']
    
  • 添加完成后重新启动prometheus

    systemctl restart prometheus.service

  • 此时如果相应的端口没开放还是看不到数据的,添加的主机都需要开放相应的9100端口,Prometheus才能拉取到数据。

    firewall-cmd --zone=public --add-port=9100/tcp --permanent

开放指定端口firewall-cmd --zone=public --add-port=1935/tcp --permanent命令含义:
--zone #作用域
--add-port=1935/tcp  #添加端口,格式为:端口/通讯协议
--permanent  #永久生效,没有此参数重启后失效
  • 获取到主机数据

在这里插入图片描述

五、Grafana添加数据源展示
  • 选择数据源并配置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 可视化模版并导入
    在这里插入图片描述

  • 最后监控数据可以显示了
    在这里插入图片描述
    今天就记录这些了,希望有所帮助!
    在这里插入图片描述

相关文章:

Prometheus+Node_exporter+Grafana实现监控主机

PrometheusNode_exporterGrafana实现监控主机 如果没有安装相关的配置,首先要进行安装配置,环境是基于Linux,虚拟机的相关环境配置在文末给出,现在先讲解PrometheusNode_exporterGrafana的安装和使用。 一.Prometheus安装 虽然…...

odoo启动-加载模块(load_modules)

odoo启动-加载模块(load_modules) odoo每次启动的时候都会加载模块,加载模块的过程就是调用load_modules 函数 在函数位于 odoo\modules\loading.py 代码中注释也写的很清楚,共分了9个步骤,其实是8个步骤。 这个函…...

【入门Flink】- 02Flink经典案例-WordCount

WordCount 需求&#xff1a;统计一段文字中&#xff0c;每个单词出现的频次 添加依赖 <properties><flink.version>1.17.0</flink.version></properties><dependencies><dependency><groupId>org.apache.flink</groupId><…...

go语言将cmd stdout和stderr作为字符串返回而不是打印到控制台

go语言将cmd stdout和stderr作为字符串返回而不是打印到控制台 1、直接打印到控制台 从 golang 应用程序中执行 bash 命令&#xff0c;现在 stdout 和 stderr 直接进入控制台&#xff1a; cmd.Stdout os.Stdout cmd.Stderr os.Stderrpackage mainimport ("fmt"…...

OpenGL ES入门教程(二)之绘制一个平面桌子

OpenGL ES入门教程&#xff08;二&#xff09;之绘制一个平面桌子 前言0. OpenGL绘制图形的整体框架概述1. 定义顶点2. 定义着色器3. 加载着色器4. 编译着色器5. 将着色器链接为OpenGL程序对象6. 将着色器需要的数据与拷贝到本地的数组相关联7. 在屏幕上绘制图形8. 让桌子有边框…...

el-select 搜索无选项时 请求接口添加输入的值

el-select 搜索无选项时 请求接口添加输入的值 <template><div class"flex"><el-select class"w250" v-model"state.brand.id" placeholder"请选择" clearable filterable :filter-method"handleQu…...

基于单片机的商场防盗防火系统设计

收藏和点赞&#xff0c;您的关注是我创作的动力 文章目录 概要 一、系统分析二、系统总设计2.1基于单片机的商场防火防盗系统的总体功能2.2系统的组成 三 软件设计4.1软件设计思路4.2软件的实现4.2.1主控模块实物 四、 结论五、 文章目录 概要 本课题设计一种商场防火防盗报警…...

【Java|golang】2103. 环和杆---位运算

总计有 n 个环&#xff0c;环的颜色可以是红、绿、蓝中的一种。这些环分别穿在 10 根编号为 0 到 9 的杆上。 给你一个长度为 2n 的字符串 rings &#xff0c;表示这 n 个环在杆上的分布。rings 中每两个字符形成一个 颜色位置对 &#xff0c;用于描述每个环&#xff1a; 第 …...

[SSD综述 1.4] SSD固态硬盘的架构和功能导论

依公知及经验整理,原创保护,禁止转载。 专栏 《SSD入门到精通系列》 <<<< 返回总目录 <<<< ​ 前言 机械硬盘的存储系统由于内部结构, 其IO访问性能无法进一步提高,CPU与存储器之间的性能差距逐渐扩大。以Nand Flash为存储介质的固态硬盘技术的发展,…...

【C++那些事儿】类与对象(1)

君兮_的个人主页 即使走的再远&#xff0c;也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们&#xff0c;这里是君兮_&#xff0c;我之前看过一套书叫做《明朝那些事儿》&#xff0c;把本来枯燥的历史讲的生动有趣。而C作为一门接近底层的语言&#xff0c;无疑是抽象且难度颇…...

集简云x slack(自建)无需API开发轻松连接OA、电商、营销、CRM、用户运营、推广、客服等近千款系统

slack是一个工作效率管理平台&#xff0c;让每个人都能够使用无代码自动化和 AI 功能&#xff0c;还可以无缝连接搜索和知识共享&#xff0c;并确保团队保持联系和参与。在世界各地&#xff0c;Slack 不仅受到公司的信任&#xff0c;同时也是人们偏好使用的平台。 官网&#x…...

JS模块化,ESM模块规范的 导入、导出、引用、调用详解

JS模块化&#xff0c;ESM模块规范的 导入、导出、引用、调用详解 写在前面实例代码1、模块导出 - export导出之 - 独立导出导出之 - 集中多个导出导出之 - 默认导出导出之 - 集中默认导出导出之 - 混合导出 2、模块导入 - import导入之 - 全部导入导入之 - 默认导入导入之 - 指…...

markdown常用的快捷键

一级标题 #加 空格 是一级标题 二级标题 ##加空格是二级标题 三级标题 字体 * 粗体&#xff1a;两个**号 斜体&#xff1a;一个 斜体加粗&#xff1a;三个 删除&#xff1a;两个~~ 我是字体 我是字体 我是字体 我是字体 引用 箭头符号>加空格 回车 分割线 三个 - …...

VSCode中的任务什么情况下需要配置多个问题匹配器problemMatcher?多个问题匹配器之间的关系是什么?

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、简介 在 VS Code 中&#xff0c;tasks.json 文件中的 problemMatcher 字段用于定义如何解析任务输出中的问题&#xff08;错误、警告等&#xff09;。 problemMatcher是一个描述问题匹配器的接口&…...

C语言鞍点数组改进版

题目内容&#xff1a; 给定一个n*n矩阵A。矩阵A的鞍点是一个位置&#xff08;i&#xff0c;j&#xff09;&#xff0c;在该位置上的元素是第i行上的最大数&#xff0c;第j列上的最小数。一个矩阵A也可能没有鞍点。 你的任务是找出A的鞍点。 改进目标&#xff1a; 网络上很多…...

K8s:部署 CNI 网络组件+k8s 多master集群部署+负载均衡及Dashboard k8s仪表盘图像化展示

目录 1 部署 CNI 网络组件 1.1 部署 flannel 1.2 部署 Calico 1.3 部署 CoreDNS 2 负载均衡部署 3 部署 Dashboard 1 部署 CNI 网络组件 1.1 部署 flannel K8S 中 Pod 网络通信&#xff1a; ●Pod 内容器与容器之间的通信 在同一个 Pod 内的容器&#xff08;Pod 内的容…...

【数据结构】树家族

目录 树的相关术语树家族二叉树霍夫曼树二叉查找树 BST平衡二叉树 AVL红黑树伸展树替罪羊树 B树B树B* 树 当谈到数据结构中的树时&#xff0c;我们通常指的是一种分层的数据结构&#xff0c;它由节点&#xff08;nodes&#xff09;组成&#xff0c;这些节点之间以边&#xff08…...

Vert.x学习笔记-Vert.x的基本处理单元Verticle

Verticle介绍 Verticle是Vert.x的基本处理单元&#xff0c;Vert.x应用程序中存在着处理各种事件的处理单元&#xff0c;比如负责HTTP API响应请求的处理单元、负责数据库存取的处理单元、负责向第三方发送请求的处理单元。Verticle就是对这些功能单元的封装&#xff0c;Vertic…...

干货分享:基于 LSTM 的广告库存预估算法

近年来&#xff0c;随着互联网的发展&#xff0c;在线广告营销成为一种非常重要的商业模式。出于广告流量商业化售卖和日常业务投放精细化运营的目的&#xff0c;需要对广告流量进行更精准的预估&#xff0c;从而更精细的进行广告库存管理。 因此&#xff0c;携程广告纵横平台…...

dataframe删除某一列

drop import pandas as pd data {‘A’: [1, 2, 3], ‘B’: [4, 5, 6], ‘C’: [7, 8, 9]} df pd.DataFrame(data) #使用drop方法删除列 df df.drop(‘B’, axis1) # 通过指定列名和axis1来删除列 del import pandas as pd data {‘A’: [1, 2, 3], ‘B’: [4, 5, 6]…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者&#xff1a;吴岐诗&#xff0c;杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言&#xff1a;融合数据湖与数仓的创新之路 在数字金融时代&#xff0c;数据已成为金融机构的核心竞争力。杭银消费金…...

spring Security对RBAC及其ABAC的支持使用

RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型&#xff0c;它将权限分配给角色&#xff0c;再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...