Prometheus 监控方案学习笔记(二):Prometheus Server 的安装和配置
                            huty
                            2022年11月30日  ·  阅读 4,055
                        
                    安装Prometheus Server
使用二进制安装包安装
- 下载安装包
下载地址:https://prometheus.io/download 
cd /apps/prometheus/2.33.1
wget https://github.com/prometheus/prometheus/releases/download/v2.33.1/prometheus-2.33.1.linux-amd64.tar.gz
- 解压安装包
 
cd /apps/prometheus/2.33.1
tar -xzf prometheus-2.33.1.linux-amd64.tar.gz --strip-components 1
- 创建存储目录
 
mkdir -p /apps/prometheus/2.33.1/data
- 配置相关参数
编辑prometheus.yml文件,内容如下: 
# 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']
- 启动服务
 
- 方式一:直接启动
 
cd /apps/prometheus/2.33.1
# 前台运行
./prometheus
# 后台运行
./prometheus --config.file=prometheus.yml  --web.enable-lifecycle > /apps/prometheus/2.33.1/logs/prometheus.log 2>&1 &
- 方式二:使用 systemctl 方式启动
 
vim /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus Monitoring System
Documentation=Prometheus Monitoring System
After=network.target
 
[Service]
#User=root
#Group=root
Type=simple
# 启动脚本
ExecStart=/apps/prometheus/2.33.1/prometheus --config.file=/apps/prometheus/2.33.1/prometheus.yml --web.enable-lifecycle
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
 
[Install]
WantedBy=multi-user.target
# 重载
systemctl daemon-reload
# 配置开机启动
systemctl enable prometheus
# 启动
systemctl start prometheus
# 查看状态
systemctl status prometheus
# 停止
systemctl stop prometheus
- 使用浏览器访问 Prometheus Server Web UI
浏览器访问 9090 端口访问即可 
使用 Docker 安装
- 拉取镜像
 
docker pull prom/prometheus:2.33.1
- 运行容器
 
docker run -p 9090:9090 -v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
- 使用浏览器访问 Prometheus Server Web UI
浏览器访问 9090 端口即可 
使用 Docker-compose 安装(推荐)
- 目录准备
创建相关目录: 
mkdir pv /apps/prometheus/{conf,data,rules}
配置 data 目录权限:
chmod -R 777 /apps/prometheus/data/
- 编辑 docker-compose.yml 文件
 
vim /apps/prometheus/docker-compose.yml
version: "3"
services:
  prometheus:
    image: prom/prometheus:v2.33.1
    container_name: prometheus-prometheus
    hostname: prometheus
    restart: always
    volumes:
      - /apps/prometheus/data:/prometheus
      - /apps/prometheus/rules:/etc/prometheus/rules
      - /apps/prometheus/conf/prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - 9090:9090
    command: "--config.file=/etc/prometheus/prometheus.yml --web.enable-lifecycle"
networks:
  default:
    external:
      name: prometheus
注:
上方的 --web.enable-lifecycle 为启动热加载,添加后可以通过 curl http://服务器IP:PrometheusServer端口号/-/reload -X POST 重载配置文件
3. 编辑 prometheus.yml 文件
vim /apps/prometheus/conf/prometheus.yml
# my global config
global:
  scrape_interval:     5s # 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.
#alerting:
#  alertmanagers:
#  - static_configs:
#    - targets: ['localhost:9093']
rule_files:
  - "/etc/prometheus/rules/*.yml" 
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
- 创建 docker 网段 prometheus
检查是否已有prometheus 网段: 
docker network list
若没有则创建:
docker network create prometheus --subnet 10.21.22.0/24
- 启动 prometheus 容器
 
cd /apps/prometheus
docker-compose up -d
- 检查 prometheus 容器状态、查看 prometheus 容器日志
 
cd /apps/prometheus
docker-compose ps
docker-compose logs -f
- 访问 Prometheus Server Web UI
浏览器访问 9090 端口即可 
分类:
                                Prometheus 监控体系
                    
                    标签:
                                Prometheus
                    
                
评论已关闭