Loading...
Loading...
Compare original and translation side by side
git clone https://github.com/grafana-ps/dpm-finder.git
cd dpm-finder
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt.env_example.envPROMETHEUS_ENDPOINT.netPROMETHEUS_USERNAMEPROMETHEUS_API_KEYglc_...git clone https://github.com/grafana-ps/dpm-finder.git
cd dpm-finder
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt.env_example.envPROMETHEUS_ENDPOINT.netPROMETHEUS_USERNAMEPROMETHEUS_API_KEYglc_...gcx config check # Show active stack context
gcx config list-contexts # List all configured stacks
gcx config view # Full config with endpointshttps://prometheus-{cluster_slug}.grafana.netgcx config check # 显示当前活跃的栈上下文
gcx config list-contexts # 列出所有已配置的栈
gcx config view # 查看包含端点的完整配置https://prometheus-{cluster_slug}.grafana.netgrafanacloud_instance_info{name=~"STACK_NAME.*"}cluster_slugidgrafanacloud_instance_info{name=~"STACK_NAME.*"}cluster_slugid./dpm-finder.py -f json -m 2.0 -t 8 --timeout 120 -l 10./dpm-finder.py -f json -m 2.0 -t 8 --timeout 120 -l 10| Flag | Default | Description |
|---|---|---|
| | Output format: |
| | Minimum DPM threshold to include a metric |
| | Concurrent processing threads |
| | Lookback window in minutes for DPM calculation |
| | API request timeout in seconds |
| (none) | Dollar cost per 1000 series; adds estimated_cost column |
| | Suppress progress output |
| | Enable debug logging |
| | Run as Prometheus exporter instead of one-shot |
| | Exporter server port |
| | Exporter metric refresh interval in seconds |
| 参数 | 默认值 | 描述 |
|---|---|---|
| | 输出格式: |
| | 纳入分析的最小DPM阈值 |
| | 并发处理线程数 |
| | 计算DPM的回溯窗口(分钟) |
| | API请求超时时间(秒) |
| (无) | 每1000个系列的美元成本;添加 |
| | 抑制进度输出 |
| | 启用调试日志 |
| | 以Prometheus exporter模式运行,而非一次性分析 |
| | Exporter服务器端口 |
| | Exporter指标刷新间隔(秒) |
-f jsonmetric_rates.json-f jsonmetric_rates.jsonmetrics[].metric_namemetrics[].dpmmetrics[].series_countmetrics[].series_detail[]total_metrics_above_thresholdperformance_metrics.total_runtime_secondsperformance_metrics.average_metric_processing_secondsperformance_metrics.total_metrics_processedperformance_metrics.metrics_per_secondmetrics[].metric_namemetrics[].dpmmetrics[].series_countmetrics[].series_detail[]total_metrics_above_thresholdperformance_metrics.total_runtime_secondsperformance_metrics.average_metric_processing_secondsperformance_metrics.total_metrics_processedperformance_metrics.metrics_per_second-f csvmetric_rates.csv-f csvmetric_rates.csvmetric_namedpmseries_countestimated_cost--cost-per-1000-seriesmetric_namedpmseries_count--cost-per-1000-seriesestimated_cost-f textmetric_rates.txt-f textmetric_rates.txt-f prommetric_rates.prom-f prommetric_rates.promprometheus.exporter.unixprometheus.exporter.unixseries_detail--cost-per-1000-seriesestimated_costseries_detail--cost-per-1000-seriesestimated_cost*_count*_bucket*_sumgrafana_*/aggregations/rules*_count*_bucket*_sumgrafana_*/aggregations/rules./dpm-finder.py -e -p 9966 -u 86400http://localhost:PORT/metricsREADME.md./dpm-finder.py -e -p 9966 -u 86400http://localhost:PORT/metricsREADME.mddocker build -t dpm-finder:latest .
docker run --rm --env-file .env -v $(pwd)/output:/app/output \
dpm-finder:latest --format json --min-dpm 2.0README.mddocker build -t dpm-finder:latest .
docker run --rm --env-file .env -v $(pwd)/output:/app/output \
dpm-finder:latest --format json --min-dpm 2.0README.mdmetrics:readPROMETHEUS_USERNAME--timeout--min-dpmPROMETHEUS_ENDPOINT.netmetrics:readPROMETHEUS_USERNAME--timeout--min-dpmPROMETHEUS_ENDPOINT.netdpm-finder.py # Main CLI tool (one-shot + exporter modes)
requirements.txt # Python dependencies
.env_example # Template for credential configuration
Dockerfile # Multi-stage Docker build
docker-compose.yml # Docker Compose orchestration
README.md # Full project documentationdpm-finder.py # 主CLI工具(一次性分析 + exporter模式)
requirements.txt # Python依赖
.env_example # 凭据配置模板
Dockerfile # 多阶段Docker构建文件
docker-compose.yml # Docker Compose编排文件
README.md # 完整项目文档