prometheus监控实战--基础

1、简介

prometheus就是监控系统+TSDB(时间序列数据库),通过pull方式从exporter获取时间序列数据,存入本地TSDB,被监控端需安装exporter作为http端点暴露指标数据

prometheus server只提供一套内置查询语言PromQL,一个表达式浏览器和一个浏览数据的图形界面

2、prometheus部署

安装prometheus之前必须安装ntp时间同步,因为prometheus采集的T_S数据对系统时间的准确性要求

2.1 二进制安装
mkdir /application
wget https://github.com/prometheus/prometheus/releases/download/v2.22.0/prometheus-2.22.0.linux-amd64.tar.gz
tar xf prometheus-2.22.0.linux-amd64.tar.gz -C /application/
cd /applicaiton &&mv prometheus-2.22.0.linux-amd64 prometheus
2.2 配置
cd /prometheus
vim prometheus.yml
# 全局配置
global:
  scrape_interval:     15s             # 采集数据的时间间隔为15s(时间越短,存储压力越大)
  evaluation_interval: 15s             # 监控规则评估时间间隔(检查报警规则rule的间隔时间)

# Alertmanager配置(prometheus的警报)
alerting:	#服务器的警报配置
  alertmanagers:	#列出服务器使用的每个alertmanager
  - static_configs:
    - targets:
      # - alertmanager:9093

# 规则设置(包含记录规则和警报规则)
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# Prometheus 监控数据抓取配置
scrape_configs:
  - job_name: 'prometheus'               # 定义job名称(分组)
    static_configs:                      #静态配置
    - targets: ['localhost:9090']        # exporters的主机和端口
      labels:                            #标签配置
          env: 'jd'                      #标签为键值对形式
2.3、启动
mkdir logs
nohup /application/prometheus/prometheus --config.file=/application/prometheus/prometheus.yml >/application/prometheus/logs/prometheus.log 2>&1 &
#nohup:启动后可关闭连接终端;&:后台运行

启动相关参数

--config.file= #指定配置文件

--storage.tsdb.path=/prometheus #指定tsdb路径/ssd

--storage.tsdb.retention.time=24h #指定数据存储时间

--web.enable-lifecycle #提供类似nginx的reload功能,调用指令curl -X POST http://localhost:9090/-/reload

--storage.tsdb.no-lockfile #如果用k8s的deployment管理要开启

--web.listen-address=0.0.0.0:9090 #监听端口

--web.read-timeout=5m #web读取超时时间

--web.max-connnections=10 #web最大连接数

--query.max-concurrency=20 #并发执行的最大查询数

--query.timeout=2m #查询超时时间

2.4、测试

访问http://localhost:9090/metrics查看抓取的指标数据,prometheus默认通过自身9090端口进行自我监控

posted @ 2020-11-25 10:08  海军同学  阅读(296)  评论(0编辑  收藏  举报