当前位置: 首页 > 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添加数据源展示
  • 选择数据源并配置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

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

相关文章:

  • 2023辽宁省数学建模B题数据驱动的水下导航适配区分类预测完整原创论文分享(python求解)
  • 聊聊springboot的LogbackLoggingSystem
  • 【Kubernetes】初识k8s--扫盲阶段
  • Git 的基本操作 ——命令行
  • LLaMA-Adapter源码解析
  • 【数据结构】树家族
  • Linux背景介绍与环境搭建
  • 你的编程能力从什么时候开始突飞猛进?
  • 2014年亚太杯APMCM数学建模大赛A题无人机创造安全环境求解全过程文档及程序
  • 京东大数据平台-第三方京东平台数据查询分析软件系统
  • 【Ubuntu】安装chrome之后无法启动
  • ChatGLM3设置角色和工具调用的解决方案
  • SkyWalking官方文档-1-概述
  • 程序员笔记本电脑选 windows 还是 MAC
  • Spring Boot 面试题——常用注解
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • Apache Spark Streaming 使用实例
  • fetch 从初识到应用
  • Odoo domain写法及运用
  • php的插入排序,通过双层for循环
  • python3 使用 asyncio 代替线程
  • SpringBoot 实战 (三) | 配置文件详解
  • Terraform入门 - 3. 变更基础设施
  • TypeScript迭代器
  • 如何合理的规划jvm性能调优
  • 如何在GitHub上创建个人博客
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 移动端高清、多屏适配方案
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • $().each和$.each的区别
  • (待修改)PyG安装步骤
  • (附源码)ssm码农论坛 毕业设计 231126
  • (四) 虚拟摄像头vivi体验
  • (一)基于IDEA的JAVA基础12
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .net 程序发生了一个不可捕获的异常
  • .NET 依赖注入和配置系统
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .so文件(linux系统)
  • @Bean, @Component, @Configuration简析
  • @基于大模型的旅游路线推荐方案
  • [ Linux ] Linux信号概述 信号的产生
  • [100天算法】-x 的平方根(day 61)
  • [2]十道算法题【Java实现】
  • [ACTF2020 新生赛]Include
  • [ASP.NET 控件实作 Day7] 设定工具箱的控件图标
  • [BUAA软工]第一次博客作业---阅读《构建之法》
  • [C#]获取指定文件夹下的所有文件名(递归)
  • [C]整形提升(转载)