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

  • 配置环境变量

    go 复制代码
    # 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服务文件

    go 复制代码
    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,将服务设置为开机自启动

    go 复制代码
    #重新加载配置文件
    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

  • 配置环境变量

    go 复制代码
    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
  • 设置开机自启动

    go 复制代码
    #设置开机自启
    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

    go 复制代码
    [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

  • 在文件最后添加内容

    go 复制代码
      - 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添加数据源展示
  • 选择数据源并配置


  • 可视化模版并导入

  • 最后监控数据可以显示了

    今天就记录这些了,希望有所帮助!

相关推荐
张声录12 天前
【Prometheus】【实战篇(七)】在 Grafana 中配置数据源并使用 Prometheus Node Exporter
grafana·prometheus
DevilHeart灬2 天前
使用Grafana中按钮插件实现收发HTTP请求
http·grafana
泰勒今天不想展开2 天前
jvm接入prometheus监控
jvm·windows·prometheus
-KamMinG2 天前
Centos7.9安装openldap+phpldapadmin+grafana配置LDAP登录最详细步骤 亲测100%能行
运维·grafana
Mitch3113 天前
【漏洞复现】CVE-2021-45788 SQL Injection
sql·web安全·docker·prometheus·metersphere
福大大架构师每日一题4 天前
37.1 prometheus管理接口源码讲解
ios·iphone·prometheus
Cairry.5 天前
WatchAlert - 开源多数据源告警引擎
云原生·开源·prometheus
Mitch3115 天前
【漏洞复现】CVE-2023-37461 Arbitrary File Writing
web安全·网络安全·prometheus·metersphere·漏洞复现
福大大架构师每日一题7 天前
36.3 grafana-dashboard看图分析
linux·网络·grafana·prometheus
福大大架构师每日一题8 天前
36.2 内置的k8s采集任务分析
算法·贪心算法·kubernetes·prometheus