溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

prometheus的介紹及安裝方法

發布時間:2021-09-14 22:52:18 來源:億速云 閱讀:198 作者:chen 欄目:大數據
# Prometheus的介紹及安裝方法

## 目錄
1. [什么是Prometheus](#什么是prometheus)
2. [核心特性](#核心特性)
3. [架構組成](#架構組成)
4. [適用場景](#適用場景)
5. [安裝準備](#安裝準備)
6. [Linux系統安裝](#linux系統安裝)
   - [二進制包安裝](#二進制包安裝)
   - [Docker安裝](#docker安裝)
7. [Windows系統安裝](#windows系統安裝)
8. [配置與啟動](#配置與啟動)
9. [基本使用](#基本使用)
10. [常見問題](#常見問題)
11. [總結](#總結)

---

## 什么是Prometheus

Prometheus是由SoundCloud開發的開源監控告警系統,于2016年加入CNCF(云原生計算基金會),成為繼Kubernetes之后第二個畢業的項目。它采用Pull模式采集指標數據,支持多維度數據模型和強大的查詢語言PromQL,廣泛應用于云原生和微服務架構的監控場景。

## 核心特性

- **多維度數據模型**:通過metric名稱和鍵值對標簽標識時間序列數據
- **PromQL查詢語言**:支持靈活的數據聚合和切片分析
- **獨立服務節點**:不依賴分布式存儲,單個節點即可工作
- **Pull+Push結合**:默認基于HTTP拉取數據,同時支持Pushgateway推送
- **可視化支持**:原生集成Grafana展示面板
- **告警管理**:通過Alertmanager實現多維告警路由

## 架構組成

![Prometheus架構圖](https://prometheus.io/assets/architecture.png)

主要組件包括:
- **Prometheus Server**:核心服務端,負責抓取和存儲數據
- **Client Libraries**:多種語言的客戶端庫(Go/Java/Python等)
- **Pushgateway**:短期任務數據推送中間件
- **Exporters**:各種系統/服務的指標暴露器(Node Exporter等)
- **Alertmanager**:告警消息處理中心
- **Service Discovery**:支持Kubernetes/Consul等服務的自動發現

## 適用場景

? 適合場景:
- 微服務架構監控
- Kubernetes集群監控
- 需要多維數據查詢的業務監控
- 自定義指標采集與分析

? 不適合場景:
- 需要100%精確計費的場景(設計上更側重可靠性而非精確性)
- 傳統企業級監控(更適合Zabbix等方案)

---

## 安裝準備

### 系統要求
- **最低配置**:
  - CPU:2核
  - 內存:4GB
  - 磁盤:50GB(建議SSD)

- **推薦配置**:
  - CPU:4核+
  - 內存:8GB+
  - 磁盤:100GB+ SSD

### 網絡要求
- 確保監控目標可通過HTTP訪問
- 開放端口:
  - Prometheus Server:9090
  - Node Exporter:9100
  - Alertmanager:9093

---

## Linux系統安裝

### 二進制包安裝

#### 1. 下載最新版本
```bash
wget https://github.com/prometheus/prometheus/releases/download/v2.47.0/prometheus-2.47.0.linux-amd64.tar.gz
tar xvfz prometheus-*.tar.gz
cd prometheus-*

2. 配置服務文件

創建/etc/systemd/system/prometheus.service

[Unit]
Description=Prometheus Server
After=network.target

[Service]
User=prometheus
Group=prometheus
ExecStart=/usr/local/bin/prometheus \
  --config.file=/etc/prometheus/prometheus.yml \
  --storage.tsdb.path=/var/lib/prometheus/data \
  --web.console.templates=/etc/prometheus/consoles \
  --web.console.libraries=/etc/prometheus/console_libraries

Restart=always

[Install]
WantedBy=multi-user.target

3. 創建系統用戶和目錄

sudo useradd --no-create-home --shell /bin/false prometheus
sudo mkdir /etc/prometheus /var/lib/prometheus
sudo cp prometheus.yml /etc/prometheus/
sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus

4. 啟動服務

sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus

Docker安裝

docker run -d \
  -p 9090:9090 \
  -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
  prom/prometheus

Windows系統安裝

1. 下載Windows版本

官方Release頁面下載windows-amd64壓縮包

2. 解壓運行

Expand-Archive prometheus-2.47.0.windows-amd64.zip
cd prometheus-2.47.0.windows-amd64
.\prometheus.exe

3. 配置為服務(可選)

使用NSSM工具:

nssm install Prometheus
# 在GUI界面配置執行路徑和參數
nssm start Prometheus

配置與啟動

基礎配置文件示例

prometheus.yml:

global:
  scrape_interval: 15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  
  - job_name: 'node'
    static_configs:
      - targets: ['192.168.1.100:9100', '192.168.1.101:9100']

驗證配置

promtool check config prometheus.yml

啟動參數說明

參數 說明
--config.file 指定配置文件路徑
--storage.tsdb.path 數據存儲目錄
--web.listen-address 監聽地址(默認:9090)
--web.enable-lifecycle 啟用HTTP API管理接口

基本使用

訪問Web界面

瀏覽器打開:http://<server-ip>:9090

常用PromQL示例

# CPU使用率
100 - (avg by(instance)(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100

# 內存使用量
node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes

# HTTP請求率
sum(rate(http_requests_total[5m])) by (status_code)

添加Node Exporter

wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar xvfz node_exporter-*.tar.gz
cd node_exporter-*
./node_exporter

常見問題

Q1: 數據存儲時間太短

修改啟動參數:

--storage.tsdb.retention.time=30d  # 保留30天數據

Q2: 如何添加認證?

配置basic_auth:

scrape_configs:
  - job_name: 'secure'
    basic_auth:
      username: admin
      password: secret

Q3: 如何監控Kubernetes?

推薦使用kube-prometheus項目:

git clone https://github.com/prometheus-operator/kube-prometheus
kubectl apply --server-side -f manifests/setup
kubectl apply -f manifests/

總結

Prometheus作為云原生監控的標準解決方案,具有以下優勢: 1. 強大的多維數據模型 2. 靈活的查詢語言 3. 活躍的社區生態 4. 與Kubernetes深度集成

建議后續學習: - 配置Alertmanager實現告警 - 集成Grafana可視化 - 學習PromQL高級查詢 - 探索各種Exporters的使用

官方文檔:prometheus.io/docs
中文社區:prometheus.wang “`

注:實際使用時請: 1. 替換占位圖片鏈接 2. 檢查最新版本號 3. 根據實際環境調整配置參數 4. 補充適合自己業務場景的監控指標示例

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女