普罗米修斯prometheus

文章目录

  • 普罗米修斯prometheus
    • 一、简介
      • 1 介绍
      • 2 构成
    • 二、配置文件
      • prometheus的配置文件
      • 2.1 global模块
      • 2.2 alerting模块
      • 2.3 rule_files 模块
      • 2.4 scrape_configs 模块
      • 2.5 初始配置文件
    • 三、启动Prometheus
      • 1 使用promtool检查配置文件语法
      • 2 启动文件 配置文件
      • 3 检查是否启动成功
    • 四、探测器
      • 1 node_exporter
      • 2 mysqld_exported
    • 五、端口汇总
    • 六、总结
      • 1 监控流程
      • 2 部署安装是否正确的检查点
        • (1)检查exporter工具是否安装正确
        • (2)检查prometheus是否正确安装
        • (3)检查prometheus能否正确调用到exporter所在主机
    • 七、其他参考资料

一、简介

1 介绍

Prometheus 是一个开源的服务监控系统和时间序列数据库。

Prometheus通过抓取应用程序暴露的时间序列来工作。时间序列数据通常由应用程序本身通过客户端或exporter(导出器)来作为HTTP端点暴露。

2 构成

node_exporter、mysql_exporter、oracledb-exporter 探测节点,类似与探测器,收集应用的数据
prometheus 收集探测器发来的数据
grafana 图形的方式显示数据
altermanager 告警系统

二、配置文件

prometheus的配置文件

prometheus.yaml

检验yaml语法是否正确的网站 : http://www.yamllint.com/

也可以直接用promtool工具检查语法是否正确

默认配置文件prometheus.yaml中定义了4个YAML块:global、alerting、rule_files和scrape_configs。

2.1 global模块

控制prometheus服务器行为的全局配置

scrape_interval 指定应用程序或服务抓取数据的时间间隔。建议设置全局抓取间隔,所有时间序列具有相同的粒度,可以组合在一起计算。
evaluation_interval 指定prometheus评估规则的频率。记录规则recording rule :允许预先计算使用频率且开销大的表达式,并将结果作为一个新的时间序列数据;警报规则 alerting rule:允许定义警报条件

2.2 alerting模块

用来设置prometheus的警报。警报是由Alertmanager的独立工具进行管理的,Alertmanager是一个可以集群化的独立警报管理工具。

prometheus还支持Alertmanager的服务发现功能,可以查询外部源(如Consul服务器)来返回可用的alertmanager列表,而不是单独指定每个alertmanager。

2.3 rule_files 模块

指定包含记录规则或警报规则的文件列表

2.4 scrape_configs 模块

指定prometheus抓取的所有目标,目标中包含:标签、建立连接所需的身份验证等。若干目标构成的组称为作业,作业里每个目标都有一个名为实例instance的标签,用来唯一标识这个目标

默认配置中定义了一个作业prometheus,监控本地的9090端口,即Prometheus服务本身。

2.5 初始配置文件

# my global config
global:scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.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:# 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']

http://localhost:9090/metrics 可以获取普罗米修斯自身的运行数据

三、启动Prometheus

1 使用promtool检查配置文件语法

#这个工具就在安装prometheus的目录下/usr/local/prometheus/
./promtool   check config  prometheus.yml

2 启动文件 配置文件

/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml &
#  --config.file指定配置文件
# 修改普罗米修斯启动端口号
--web.listen-address=':9001'  #可选项

prometheus的启动参数


3 检查是否启动成功

lsof   -i:9090   #查看端口占用http://prometheus服务器IP地址:9090/metric   # 访问网页

四、探测器

1 node_exporter

作用:Go语言编写的一个提供收集各种主机指标数据(包括CPU、内存和磁盘)的库。

检查node_exporter是否安装成功

# ./node_exporter   --version   #查看版本号
# ./node_exporter   --help      # 各种参数


2 mysqld_exported

​ 安装mysqld_exported后,需要创建一个数据库用户moniter_user,授予它增删改查等权限,待会mysqld_exported就使用这个用户登录数据库然后收集数据库信息,所以在启动mysqld_exported时,需要指定写好数据库用户密码的配置文件。

在/home/prometheus/下新建.my.cnf文件
vim .my.cnf
[client]
user=mysqld_exporter
password=123456

启动

# --config.my-cnf启动参数指定配置文件
/usr/local/mysqld_exporter/mysqld_exporter    --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf

开机自启动

vim /usr/lib/systemd/system/mysql_exporter.service
[Unit]
Description=Prometheus1
Documentation=https://prometheus.io/
After=network.target[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter \--config.my-cnf=/usr/local/mysqld_exporter/.my.cnf
Restart=on-failure
[Install]
WantedBy=multi-user.targetgroupadd -r prometheus && useradd -s /sbin/nologin -r -g prometheus prometheus
chown -R prometheus:prometheus /usr/local/mysqld_exporter/systemctl enable mysql_exporter.service
systemctl start mysql_exporter.service

五、端口汇总

prometheus 9090
grafana 3000
altermanager 9093
node_exporter 9100
mysqld_exporter 9104
oracledb_exporter 9161

六、总结

1 监控流程

exporter软件相当于探测器,收集服务运行时产生的数据,并在特定的HTTP端口上暴露这些数据

比如,node_exporter收集服务器CPU、内存和磁盘等的运行数据,将这些数据暴露在http://被监控主机IP:9100/metrics

在启动node_exporter时,设置启动参数可以更改端口,暴露数据的URL地址

prometheus通过HTTP协议,也就是exporter暴露的IP地址和端口来获取被监控端的数据,需要在prometheus.yml配置文件中添加目标,即监控对象的名称和IP、端口。可以使用promtool工具检查修改后的prometheus.yml语法是否正确。启动prometheus时,设置启动参数可以更改端口,监控数据的保存时间,数据保存的位置。

grafana 将数据转化为图像的方式呈现,在安装完grafana后选择数据源时指定prometheus服务器的IP地址和端口。

数据的流动方向 :exporter ——> prometheus ——> grafana

2 部署安装是否正确的检查点

(1)检查exporter工具是否安装正确
lsof  -i:端口号     #检查端口号是否被占用
/usr/local/node_exporter/node_exporter  -version  #查版本号
http://被监控主机IP:端口号/metrics   访问浏览器页面,exporter #是否正确暴露出数据
(2)检查prometheus是否正确安装

与上类似,检查端口号,版本,访问网页。http://部署prometheus服务器的IP:9090

(3)检查prometheus能否正确调用到exporter所在主机

在prometheus服务器上

curl -i http://exporter_IP/port 比如:curl -i http://10.12.11.56:9100

如果不通,要检查安装exporter的服务器的防火墙是否允许prometheus服务器访问它的端口。

七、其他参考资料

视频:

https://www.bilibili.com/video/BV16J411z7SQ?p=9&spm_id_from=pageDriver

文档:具体的安装步骤

链接:https://pan.baidu.com/s/1nm116LXaGoIAwngog8vFOA
提取码:2z9b

普罗米修斯prometheus相关推荐

  1. 普罗米修斯java_springboot集成普罗米修斯(Prometheus)的方法

    Prometheus 是一套开源的系统监控报警框架.它由工作在 SoundCloud 的 员工创建,并在 2015 年正式发布的开源项目.2016 年,Prometheus 正式加入 Cloud Na ...

  2. 监控神器-普罗米修斯Prometheus的安装

    最近看了些AIOPS的资料,对于里面提及的一个普罗米修斯Prometheus起了兴趣,首先是联想到异形,哈哈.去看了一下,普罗米修斯还真是厉害,而且还是开源的,真是搬砖党的福音. 功能: 在业务层用作 ...

  3. 监控之星-普罗米修斯Prometheus搭建

    监控之星-普罗米修斯Prometheus搭建 导图 #mermaid-svg-JxDWZpg7w4fUYZee {font-family:"trebuchet ms",verdan ...

  4. 普罗米修斯prometheus的安装与监控linux

    golang的安装 普罗米修斯是go开发的,所以需要安装go环境. 先下载golang,下载地址:https://studygolang.com/dl, 这里选择的是:https://studygol ...

  5. 普罗米修斯 mysql监控_普罗米修斯Prometheus监控MySQL

    普罗米修斯Prometheus监控MySQL 添加数据库用户 CREATE USER monitor_prometheus@'192.168.245.%' IDENTIFIED BY 'Abcde@1 ...

  6. 如何搭建普罗米修斯 Prometheus

    如何搭建普罗米修斯 Prometheus 1.下载Prometheus 进到这个网址 https://github.com/prometheus/prometheus/releases 不同的系统下载 ...

  7. 普罗米修斯Prometheus监控神器

    文章目录 一.普罗米修斯Prometheus监控系统 1.1实验环境 1.2安装普罗米修斯 1.3访问prometheus界面(web) 1.4主机数据显示 1.5普罗米修斯监控图像 1.6普罗米修斯 ...

  8. 普罗米修斯Prometheus的安装及Grafana使用

    首先安装运行环境go 如果有网络 使用命令 yum install go -y 如果没有网络使用离线安装包 下载:Linux :go1.8.3.linux-amd64.tar.gz [root@bob ...

  9. 普罗米修斯 软件_监控神器-普罗米修斯Prometheus的安装

    搬砖党的福音:普罗米修斯-监控神器 功能: 在业务层用作埋点系统 Prometheus支持多种语言(Go,java,python,ruby官方提供客户端,其他语言有第三方开源客户端).我们可以通过客户 ...

  10. windows下gradle下使用windows版普罗米修斯prometheus和metrics简单的制作一个监控java环境的内存状况的教程

    1.引入依赖(如果是maven可以自行翻译): 例如: compile 'io.prometheus:simpleclient_hotspot:0.5.0'groupid 为 io.prometheu ...

最新文章

  1. python代码规范快捷键_pycharm格式化代码 常用快捷键
  2. python中哪里用到缩进_Python编程常见十大错误
  3. vue.js项目的mock数据配置
  4. Spark的RDD操作之Join大全
  5. 使用python获取CPU和内存信息的思路与实现(linux系统)
  6. abap al设置单元格可编辑 oo_利用WPS做业务系统的超级编辑器
  7. 力扣 数组中的最长山脉
  8. 读书笔记深入理解JVM01 关于OutOfMemoryError 堆空间的溢出
  9. Python机器学习笔记 GridSearchCV
  10. vue组件中使用预览ofd文件、上传预览ofd文件、下载ofd文件
  11. 虚拟仿真实验室管理系统
  12. JS中常见的兼容写法
  13. 手机输入法哪家好用?用户目前最喜爱这4款,有你正在使用的吗
  14. 《打造Facebook》 读书报告
  15. CleanMyMac X苹果电脑系统C盘清理软件
  16. #pragma comment(lib 的用法
  17. 苹果推史上最便宜iPhone,在于恐惧中国手机持续抢夺市场
  18. JPEG 简易文档 V2.11
  19. tuxedo错误码6_tuxedo错误解析和常用配置说明
  20. 计算机美图PS等,电脑软件ps和美图秀秀怎么拼图 不懂操作怎么办?

热门文章

  1. 使用C#实现Rundll32程序功能
  2. FlashFXP使用说明
  3. on duplicate mysql_mysql 避免重复写入数据的三种方式 和insert ...on duplicate updt... 死锁...
  4. collect2: error: ld returned 1 exit status(Linux下Gcc编译问题)
  5. java基础 java面向对象,抽象类,接口,变量
  6. 中软国际软件测试培训中心,中软国际准员工培养计划C++开发/软件测试方向开班典礼...
  7. 以“空城计”为例的项目管理执行方法论干货
  8. TypeError: Cannot read property 'getUserMedia' of undefined
  9. elasticsearch搜索引擎搭建
  10. Pygame库200行代码实现简易飞机大战的小游戏