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

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

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐