• Prometheus、Grafana安装-部署-监控linux


    Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的.Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统,不需要任何SDK或者其他的集成过程。这样做非常适合虚拟化环境比如VM或者Docker 。
    node_exporter用于收集主机运行信息,比如CPU、内存、磁盘等资源使用情况。正常情况下是安装在节点服务器上,本次操作都是一个服务器上操作。
    ……
    Grafana 是一个监控仪表系统,它是由 Grafana Labs 公司开源的的一个系统监测 (System Monitoring) 工具。它可以大大帮助你简化监控的复杂度,你只需要提供你需要监控的数据,它就可以帮你生成各种可视化仪表。同时它还有报警功能,可以在系统出现问题时通知你。

    参考

    Prometheus安装部署及监控linux主机 - 梦徒 - 博客园 (cnblogs.com)
    Linux主机详情 dashboard for Grafana | Grafana Labs
    Prometheus自带指标整理_追光叶子的博客-CSDN博客_prometheus默认指标
    Prometheus配置文件prometheus.yml 四个模块详解 – 21运维 (21yunwei.com)
    Prometheus监控Linux服务器 - 简书 (jianshu.com)
    Grafana 中文入门教程 | 构建你的第一个仪表盘 - 腾讯云开发者社区-腾讯云 (tencent.com)
    Prometheus 中文文档
    在这里插入图片描述

    下载

    下载太慢,使用三方网站下载,暂不知道能用多久
    在这里插入图片描述
    https://d.serctl.com/
    在这里插入图片描述

    prometheus下载

    prometheus下载
    主程序
    在这里插入图片描述
    prometheus警报组件alertmenager,独立
    在这里插入图片描述
    prometheus组件node_exporter 收集主机运行信息
    在这里插入图片描述

    Grafana告警管理平台

    Grafana
    在这里插入图片描述
    在这里插入图片描述

    操作

    创建临时目录,因为软件都是下载到window,需要上传到服务器。具体怎么操作,请百度或使用工具。这里就不说了,我用的是finalshell

    mkdir prometheus
    cd prometheus/
    wget https://github.com/prometheus/prometheus/releases/download/v2.37.0/prometheus-2.37.0.linux-amd64.tar.gz
    # 因为直接下载外网软件太慢,故使用第三方网站下载,在上传到服务器
    
    • 1
    • 2
    • 3
    • 4

    安装prometheus

    #创建用户组
    groupadd prometheus
    useradd -g prometheus -m -s /sbin/nologin prometheus
    # 解压配置
    tar -zxvf prometheus-2.26.0.linux-amd64.tar.gz
    mv prometheus-2.26.0.linux-amd64 /usr/local/prometheus
    # 替换配置文件内容 localhost 为自己服务器ip
    sed -i 's/localhost/{服务器ip}/g' /usr/local/prometheus/prometheus.yml
    cat /usr/local/prometheus/prometheus.yml
    # 创建数据目录
    mkdir /usr/local/prometheus/data/
    ll /usr/local/prometheus
    # 权限修改
    chown -R prometheus.prometheus /usr/local/prometheus
    ll /usr/local | grep prometheus
    # 检查并加载配置文件
    cd /usr/local/prometheus
    ./promtool check config prometheus.yml
    #### 创建systemd服务
    cat < /usr/lib/systemd/system/prometheus.service
    > [Unit]
    > Description=prometheus
    > After=network.target
    > [Service]
    > Type=simple
    > User=prometheus
    > ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/usr/local/prometheus/data/ --web.enable-lifecycle --storage.tsdb.retention.time=365d
    > Restart=on-failure
    > [Install]
    > WantedBy=multi-user.target
    > EOF
    # --config.file: 指定配置文件
    # --web.enable-lifecycle: 支持通过http请求重载配置
    # --storage.tsdb.path: 指定数据存储目录(默认当前目录的的data目录,若不存在则新建)
    # --storage.tsdb.retention.time: 指定数据保留时间(默认15d)
    #####
    # 启动服务
    systemctl daemon-reload
    systemctl start prometheus
    systemctl status prometheus && systemctl enable prometheus
    # 确认端口已经被监听
    ss -lnput | grep 9090
    tcp    LISTEN     0      128      :::9090                 :::*                   users:(("prometheus",pid=12579,fd=7))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    访问prometheus验证

    地址:192.168.xxx.xxx:9090/metrics

    curl  http://127.0.0.1:9090/-/healthy
    Prometheus is Healthy.
    curl  http://127.0.0.1:9090/-/ready
    Prometheus is Ready.
    curl http://127.0.0.1:9090/metrics
    . . .
    # 通过web接口重载,启动时需增加选项  --web.enable-lifecycle
    curl -XPOST http://127.0.0.1:9090/-/reload
    # 停止Prometheus
    # 同样需启动时增加--web.enable-lifecycle选项
    curl -XPUT http://127.0.0.1:9090/-/quit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述
    在这里插入图片描述

    安装node_exporter

    #创建用户组
    # groupadd prometheus
    # useradd -g prometheus -m -s /sbin/nologin prometheus
    #安装并解压
    tar -zxvf node_exporter-1.1.2.linux-amd64.tar.gz -C /usr/local/
    mv /usr/local/node_exporter-1.1.2.linux-amd64 /usr/local/node_exporter
    ll /usr/local/ | grep node
    # 权限修改
    chown -R prometheus.prometheus /usr/local/node_exporter
    ll /usr/local/ | grep node
    
    # 创建systemd服务
    cat > /usr/lib/systemd/system/node_exporter.service < [Unit]
    > Description=node_export
    > Documentation=https://github.com/prometheus/node_exporter
    > After=network.target
    > [Service]
    > Type=simple
    > User=prometheus
    > ExecStart=/usr/local/node_exporter/node_exporter
    > Restart=on-failure
    > [Install]
    > WantedBy=multi-user.target
    EOF
    # 启动服务
    systemctl daemon-reload
    systemctl enable node_exporter && systemctl start node_exporter
    systemctl status node_exporter
    ss -lnput | grep 9100
    tcp    LISTEN     0      128      :::9100                 :::*                   users:(("node_exporter",pid=4666,fd=3))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    增加Prometheus节点

    在prometheus的yml增加检测节点,然后重启prometheus

    vim /usr/local/prometheus/prometheus.yml
    ####
    # 增加监控节点
      - job_name: "centos7_test"
        static_configs:
          - targets: ["192.168.xxx.xxx:9100"]
    ####
    systemctl restart prometheus
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    访问prometheus验证

    地址:192.168.xxx.xxx:9090/targets
    未配置时候
    在这里插入图片描述
    配置后
    在这里插入图片描述

    安装grafana

    # 因为直接下载外网软件太慢,故使用第三方网站下载,在上传到服务器
    wget https://dl.grafana.com/oss/release/grafana-9.0.7-1.x86_64.rpm
    yum -y install grafana-9.0.7-1.x86_64.rpm
    systemctl daemon-reload
    systemctl enable grafana-server && systemctl start grafana-server
    systemctl status grafana-server
    ss -lnput | grep 3000
    tcp    LISTEN     0      128      :::3000                 :::*                   users:(("grafana-server",pid=21914,fd=15))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    grafana添加Prometheus数据源

    地址:http://192.168.200.148:3000/
    访问grafana的3000端口进行登录,默认用户名和密码为: admin/admin。第一次登陆修改更改密码!

    Configuration -> Data Sources -> Prometheus
    URL:http://localhost:9090
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    添加后

    在这里插入图片描述
    可以直接引入面板

    在这里插入图片描述
    默认路径
    Setting Default value
    GF_PATHS_CONFIG /etc/grafana/grafana.ini
    GF_PATHS_DATA /var/lib/grafana
    GF_PATHS_HOME /usr/share/grafana
    GF_PATHS_LOGS /var/log/grafana
    GF_PATHS_PLUGINS /var/lib/grafana/plugins
    GF_PATHS_PROVISIONING /etc/grafana/provisioning

    安装面板

    服务器插件路径
    在这里插入图片描述
    直接修改面包json内title会提示属于插件无法修改,可以使用另存功能,马上进来一次改完,然后更新就可以了
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    prometheus

    配置数据,自带面板
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    添加node_exporter的节点面板

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    END

  • 相关阅读:
    Servlet运行原理_API详解_请求响应构造进阶之路(Servlet_2)
    Ubuntu 配置
    小白如何选择阿里云服务器配置?CPU内存带宽系统盘选择
    Java 类和对象(下)
    NA of optical fiber(光纤的数值孔径)
    Day125.JUC:线程间通信(Conditon)、并发容器类(CopyOnWrite)、JUC强大辅助类、Callable
    第05章 Pandas 入门
    VSCode 工具常用插件
    kubernates 集群实战-安装K3s集群
    ODOO原生会计6大核心业务凭证生成详细说明(干货!)
  • 原文地址:https://blog.csdn.net/privateobject/article/details/126300762