源码安装prometheus(普罗米修斯监控)

IP角色系统规格
192.168.0.38Prometheus 服务端CentOS 74c8g
192.168.0.25node_exporter 客户端CentOS 74c8g

普罗米修斯下载网址: Download | Prometheus

1.下载prometheus

[root@prometheus opt]#  wget https://github.com/prometheus/prometheus/releases/download/v2.47.2/prometheus-2.47.2.linux-amd64.tar.gz
[root@prometheus opt]# tar xvfz prometheus-2.47.2.linux-amd64.tar.gz -C /usr/local/
[root@prometheus opt]# cd /usr/local/
[root@prometheus local]# mv prometheus-2.47.2.linux-amd64 prometheus
[root@prometheus local]# cd prometheus
[root@prometheus prometheus]# ls
console_libraries  consoles  data  LICENSE  NOTICE  prometheus  prometheus.yml  promtool

2.查看版本信息

[root@prometheus prometheus]# ./prometheus --version
prometheus, version 2.47.2 (branch: HEAD, revision: 3f3172cde1ee37f1c7b3a5f3d9b031190509b3ad)
  build user:       root@79f2ad339b75
  build date:       20231012-16:07:10
  go version:       go1.21.3
  platform:         linux/amd64
  tags:             netgo,builtinassets,stringlabels

 3. 查看帮助

[root@prometheus prometheus]# ./prometheus --help
prometheus, version 2.47.2 (branch: HEAD, revision: 3f3172cde1ee37f1c7b3a5f3d9b031190509b3ad)
  build user:       root@79f2ad339b75
  build date:       20231012-16:07:10
  go version:       go1.21.3
  platform:         linux/amd64
  tags:             netgo,builtinassets,stringlabels
  …………
  • 4.prometheus.yml 配置文件解释

[root@prometheus prometheus]# cat prometheus.yml
# my global config
global:
  # 默认情况下,每15s拉取一次目标采样点数据。
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  # 每15秒评估一次规则。默认值为每1分钟。
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).
​
# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093
​
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"
​
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # job名称会增加到拉取到的所有采样点上,同时还有一个instance目标服务的host:port标签也会增加到采样点上
  - job_name: 'prometheus'
​
    # 覆盖global的采样点,拉取时间间隔5s
    scrape_interval: 5s
    static_configs:
    - targets: ['localhost:9090']

  5.启动prometheus

[root@prometheus prometheus]# ./prometheus --config.file=prometheus.yml
  • 6.可指定的启动参数

    # 指定配置文件
    --config.file="prometheus.yml"
    # 默认指定监听地址端口,可修改端口
    --web.listen-address="0.0.0.0:9090" 
    # 最大连接数
    --web.max-connections=512
    # tsdb数据存储的目录,默认当前data/
    --storage.tsdb.path="data/"
    # premetheus 存储数据的时间,默认保存15天
    --storage.tsdb.retention=15d 
    # 通过命令热加载无需重启 curl -XPOST 192.168.2.45:9090/-/reload
    --web.enable-lifecycle
    # 可以启用 TLS 或 身份验证 的配置文件的路径
    --web.config.file=""
    ​
    启动选项了解:./prometheus --help

  • 7.访问:http://localhost:9090

image-20231116173400294

image-20231116173507015

  • 8.查看暴露指标http://localhost:9090/metrics

image-20231116173649030

  • 9.将Prometheus配置为systemd管理

    # 配置Prometheus启动文件
    [root@prometheus opt]# vim /usr/lib/systemd/system/prometheus.service
    [Unit]
    Description=https://prometheus.io
    ​
    [Service]
    Restart=on-failure
    ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --web.listen-address=:9090
    ​
    [Install]                      
    WantedBy=multi-user.target
    ​
    # 重新加载system配置
    [root@prometheus opt]# systemctl daemon-reload
    [root@prometheus opt]# systemctl start prometheus
    [root@prometheus opt]# ss -tlanp |grep 9090
    LISTEN     0      1024      [::]:9090                  [::]:*                   users:(("prometheus",pid=9318,fd=7))

  • 10.客户端,配置服务发现监控linux主机及相关服务

    # 安装node_exporter
    [root@node ~]# wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz
    [root@node ~]# tar -xr node_exporter-1.7.0.linux-amd64.tar.gz -C /usr/local/
    [root@node ~]# cd /usr/local/
    [root@node local]# mv node_exporter-1.7.0.linux-amd64/ node_exporter
    [root@node local]# cd node_exporter/
    [root@node node_exporter]# ls
    LICENSE  node_exporter  NOTICE
    [root@node node_exporter]# ./node_exporter &
        …………
    ts=2023-11-16T09:52:04.979Z caller=tls_config.go:274 level=info msg="Listening on" address=[::]:9100
    ts=2023-11-16T09:52:04.979Z caller=tls_config.go:277 level=info msg="TLS is disabled." http2=false address=[::]:9100
    ​
    [root@node node_exporter]# ss -tlnp  | grep 9100
    LISTEN     0      1024      [::]:9100                  [::]:*                   users:(("node_exporter",pid=8414,fd=3))

  • 11.配置node_exporter为systemd管理

    [root@node node_exporter]# vim /usr/lib/systemd/system/node_exporter.service
    [Unit]
    Description=node_exporter
    After=network.target 
    ​
    [Service]
    ExecStart=/usr/local/node_exporter/node_exporter
    Restart=on-failure
    ​
    [Install]
    WantedBy=multi-user.target
    ​
    [root@node node_exporter]# systemctl daemon-reload
    [root@node node_exporter]# systemctl start node_exporter
    [root@node node_exporter]# ss -tlnp  | grep 9100
    LISTEN     0      1024      [::]:9100                  [::]:*                   users:(("node_exporter",pid=8675,fd=3))

  • 12.普罗米修斯服务端配置文件添加监控项

    [root@prometheus prometheus]# vim prometheus.yml 
    ……
    scrape_configs:
      # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
      - job_name: "prometheus"
    ​
        # metrics_path defaults to '/metrics'
        # scheme defaults to 'http'.
    ​
        static_configs:
          - targets: ["localhost:9090"]
      # 添加以下内容
      - job_name: "node_exporter"
        static_configs:
        # 如果有多个机器,用','分开
        - targets: ['192.168.0.25:9100']
    ​
    # 重启prometheus服务
    [root@prometheus prometheus]# systemctl restart prometheus

image-20231116180314327

  • 13.监控mysql(mysqld-exporter)

    # 安装mysqld-exporter
    [root@node ~]# wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.0/mysqld_exporter-0.15.0.linux-amd64.tar.gz
    [root@node ~]# tar xf mysqld_exporter-0.15.0.linux-amd64.tar.gz -C /usr/local/
    [root@node /usr/local]# mv mysqld_exporter-0.15.0.linux-amd64 mysqld_exporter
    [root@node /usr/local/mysqld_exporter]# vim .my.cnf
    [client]
    user=root
    password=123456
    ​
    # 启动mysqld-exporter
    [root@node /usr/local/mysqld_exporter]# ./mysqld_exporter --config.my-cnf="/usr/local/mysqld_exporter/.my.cnf" &
    [root@node /usr/local/mysqld_exporter]# ps -ef |grep mysqld_exporter
    root       3447   3398  0 01:31 pts/1    00:00:02 ./node_exporter
    root       4647   3398  0 02:13 pts/1    00:00:00 ./mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf
    ​
    [root@node /usr/local/mysqld_exporter]# ss -lntp |grep 4647
    LISTEN     0      128         :::9104                    :::*                   users:(("mysqld_exporter",pid=4647,fd=3))
    [root@VM_2-44 /usr/local/mysqld_exporter]# 
    # 启动后会监听9104端口

  • 14.普罗米修斯服务端配置文件添加监控项

    [root@prometheus prometheus]# vim prometheus.yml 
      - job_name: 'mysql'
        static_configs:
        - targets: ['192.168.2.44:9104']
    [root@prometheus prometheus]# systemctl restart prometheus
    ​
    ​
    # 获取内存
    node_memory_MemTotal_bytes{job="node_exporter", instance="192.168.0.25:9100"}

  • 15.使用Grafana展示Prometheus 数据

    [root@prometheus ~]# wget https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/Packages/grafana-10.0.0-1.x86_64.rpm
    [root@prometheus ~]# yum install initscripts fontconfig -y
    [root@prometheus ~]# yum install -y grafana-10.0.0-1.x86_64.rpm
    [root@prometheus ~]# systemctl status grafana-server.service 
    [root@prometheus ~]# ss -tlanp |grep grafana |grep LISTEN
    LISTEN     0      1024      [::]:3000                  [::]:*                   users:(("grafana",pid=10629,fd=11))
    ​
    # 启动后访问地址:ip:3000
    # 初始用户名和密码都是admin

image-20231116184918206

  • 16.登录成功之后添加数据源

image-20231116185043349

image-20231116185122891

image-20231116185204096

  • 17.填写prometheus的地址,然后点击最下面的save & test

image-20231116185305708

image-20231116185535848

  • 18.dashboards查找地址:https://grafana.com/grafana/dashboards/

  • 例如:8919,12227输入id: 然后点击Load

image-20231116190002243

image-20231116190238556

image-20231116190304799

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/157756.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

可以免费使用的设计素材网站分享

UI设计师最怕什么&#xff1f; 没有创意&#xff0c;没有灵感&#xff0c;没有思路&#xff01; 在哪里可以得到idea&#xff1f;别担心&#xff0c;往下看&#xff01; 你知道网络有多大&#xff0c;你想要什么吗&#xff1f;今天&#xff0c;我想和大家分享一些宝藏网页设…

榜首揭秘:热门产品原型设计工具TOP10

在现代产品制作和创新过程中&#xff0c;原型设计工具起着不可或缺的作用。这些工具为设计师、开发人员和团队提供了更深入的理解&#xff0c;以便核实和呈现他们的设计想法。根据项目的特性&#xff0c;可能需要使用各种类型的工具&#xff0c;因此&#xff0c;我们将在此篇文…

赛宁网安分靶场全力支持第三届“鹏城杯”攻防演练

为加速推进我国网络安全战略与数字化进程接轨&#xff0c;创新信息系统安全防护与网络安全技术研究模式&#xff0c;促进各行业网络安全建设的融合与协作&#xff0c;由鹏城实验室和中国网络空间安全人才教育论坛联合牵头举办的第三届“鹏城杯”联邦网络靶场协同攻防演练正式启…

MFA多因子认证

什么是多因子认证&#xff08;MFA&#xff09;&#xff1f;为什么需要MFA&#xff1f; 同义词 多因子认证或者多因素验证 [尤其是需要做等级保护测评的时候需要用到] 摘要 多因子认证MFA&#xff08;Multi Factor Authentication&#xff09;是一种安全认证过程&#xff0c;需…

使用宝塔面板安装mysql

1.第一步 在官网https://www.bt.cn/new/download.html下载页面直接在服务器控制面板复制这里的代码下载即可 2.第二步 下载好后按照服务器面版上有个公网地址&#xff0c;含有用户名和密码&#xff0c;保存好&#xff0c;然后通过公网地址打开一个网页&#xff0c;绑定自己注册…

恐怖地牢资产来袭!

我们将为您带来 VoxEdit 短片大赛的首场比赛&#xff01;在 6 天内创建可用资产。 主题&#xff1a;设计与恐怖和地牢相关的资产。这些资产必须非常实用&#xff0c;不需要动画。(如果你愿意&#xff0c;你也可以制作动画&#xff09;。 发挥你恐怖的一面&#xff0c;创造出适…

Hadoop学习总结(MapRdeuce的词频统计)

MapRdeuce编程示例——词频统计 一、MapRdeuce的词频统计的过程 二、编程过程 1、Mapper 组件 WordcountMapper.java package com.itcast.mrdemo;import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; …

傻瓜式提取网页数据的油猴脚本(JavaScript 代码)

目录 一、脚本适用范围 二、将脚本配置到浏览器 三、脚本用法 四、脚本原理 一、脚本适用范围 脚本适用范围&#xff1a;一次性提取任意网站的布局类似的数据&#xff0c;例如 淘宝的商品价格、微博的热搜标题、必应搜索的图片链接 脚本不适用范围&#xff1a;页面布局不相…

早安心语早读:愿我们都能活成自己喜欢的样子

1、时光&#xff0c;因爱而温润&#xff1b;岁月&#xff0c;因情而丰盈&#xff1b;愿我们都能活成自己喜欢的样子。 2、人有烦恼&#xff0c;就是因为记性太好&#xff0c;不该记的也抱着不放&#xff0c;背负太多&#xff0c;反而难以前进&#xff0c;追求&#xff0c;就会…

协同办公是什么?如何高效协同办公?读这篇就够了!

协同办公是指在工作中&#xff0c;团队成员通过共享信息、协作完成任务&#xff0c;实现高效的工作方式。它有助于促进团队成员之间的沟通、合作和协调&#xff0c;提升工作效率和质量。以下是一些实现高效协同办公的建议和好用的工具推荐。 首先&#xff0c;建立清晰的沟通渠…

mac中安装Homebrew

1、Homebrew是什么&#xff1f; 软件安装管理工具 2、先检查电脑中是否已经安装了Homebrew 打开终端输入&#xff1a;brew 提示命令没有找到&#xff0c;说明电脑没有安装Homebrew 如果提示上述图片说明Homebrew已经安装成功 3、安装Homebrew 进入https://brew.sh/ 复制的命…

企业云盘:企业文件数据存储与共享的全面解决方案

企业云盘为企业的文件数据的存储与管理提供了一种安全、高效又便捷的解决方案。在企业文件数据存储管理上&#xff0c;企业云盘有什么优势吗&#xff1f;本文将重点分析企业云盘的优点和好处&#xff01; 一、安全性 对于企业文件数据管理工具&#xff0c;安全是首位。与个人…

C语言链表

1.链表 什么是链表 链表是一种数据结构&#xff0c;是一种数据存放的思想 数组特点&#xff1a;元素地址连续 数组的缺点:增加、删除、改、查比较困难&#xff0c;特别是增加的时候&#xff0c;不够灵活 链表的每一项都是一个结构体 #include<stdio.h> struct Test…

智慧工地解决方案,实现安全预警、机械智能监控、作业指导、绿色施工、劳务管理、工程进度监控、施工质量检查

智慧工地云平台全套源码 智慧工地平台采用先进的云计算、物联网和大数据技术&#xff0c;可以实现智慧工地方案的落地。能够实现实时掌控工地活动及各项进度&#xff0c;有效预防违章施工。能够为工地提供多项服务&#xff0c;如安全预警、机械智能监控、作业指导、绿色施工、劳…

Java项目实战《苍穹外卖》 一、项目概述

人道洛阳花似锦&#xff0c;偏我来时不逢春。 系列文章目录 苍穹外卖是黑马程序员2023年的Java实战项目&#xff0c;作为业余练手用&#xff0c;需要源码或者课程的可以找我&#xff0c;无偿分享 Java项目实战《苍穹外卖》 一、项目概述Java项目实战《苍穹外卖》 二、项目搭建 …

NewStarCTF2023 Reverse Week3---Let‘s Go Wp

分析 程序打开后结合题目可以发现是 GO语言。 在GO语言中&#xff0c;main_init 要先于 main 函数运行。 在这里对一个iv做了处理。 用插件Signsrch发现AES加密 知道是AES后&#xff0c;就需要找密文&#xff0c;key和iv了。 密文应该就是前面的十六进制字符串。 key和i…

springboot使用MongoTemplate根据正则表达式查询日期数据

一、日期正则表达式测试 匹配HH:mm:ss正则表达式写法有很多列举两个 .(点)代表任意匹配 ^必须以xxx开头, 如^[a-z],必须以a-z的字母开头 : 精确匹配,必须是: ([0-1]?[0-9]|2[0-3]).([0-5][0-9]).([0-5][0-9]) ^([0-1]?[0-9]|2[0-3]).([0-5][0-9]).([0-5][0-9])$ ([0-1]?…

UniPro提高集成能力 让客户专注于交付价值

一千个哈姆莱特就有一千个读者&#xff0c;一千个开发团队&#xff0c;也会有各不相同的软件工具和工作流程。工具与工具之间&#xff0c;功能上的割裂亦或重叠&#xff0c;都会给企业和团队的协作带来阻塞&#xff0c;结果就会导致团队之间各自为战、信息孤岛的形成以及资源的…

2023数维杯国际赛数学建模竞赛选题建议及B题思路讲解

大家好呀&#xff0c;2023年第九届数维杯国际大学生数学建模挑战赛今天早上开赛啦&#xff0c;在这里先带来初步的选题建议及思路。 目前团队正在写B题和D题完整论文&#xff0c;后续还会持续更新哈&#xff0c;大家三连关注一下防止迷路。 注意&#xff0c;本文只是比较简略…

操作系统课程设计

操作系统课程设计 介绍 1. 系统介绍 具有进程管理&#xff0c;磁盘文件管理的操作系统&#xff0c;用于熟悉操作系统中CPU运行的三种状态&#xff0c;运行、就绪、阻塞。对于文件磁盘管理系统&#xff0c;具有相应的文件读取、写入、删除操作。 2. 运行系统的基础环境 运行…