Prometheus 最新版本是 v2.x . 官方最新开源版本不支持集群,如果是单机部署则考虑最新的开源版本。
安装 Prometheus
1、下载 Prometheus 二进制文件。
下载地址:
官方地址:https://prometheus.io/download/
GitHub:https://github.com/prometheus/prometheus/releases
从浏览器下载 Prometheus 二进制文件。
如果需要,将下载的存档展开 C:\Program Files\Prometheus\
并重命名文件。
- Windows Binaries (64-bit) - using PowerShell
> Expand-Archive .\prometheus-2.43.0.windows-amd64.zip -DestinationPath 'C:\Program Files\Prometheus\'
> mv 'C:\Program Files\Prometheus\prometheus-2.43.0.windows-amd64' 'C:\Program Files\Prometheus\prometheus'
启动 Prometheus
在Powershell中,通过运行守护进程导航
C:\Program Files\Prometheus\prometheus-2.43.0
并启动 Prometheus
> cd -Path 'C:\Program Files\Prometheus\prometheus'
# 查询使用帮助
> ./prometheus -h
帮助说明内容:
usage: prometheus.exe [<flags>]
The Prometheus monitoring server
Flags:
-h, --help Show context-sensitive help (also try
--help-long and --help-man).
--version Show application version.
--config.file="prometheus.yml"
Prometheus configuration file path.
--web.listen-address="0.0.0.0:9090"
Address to listen on for UI, API, and
telemetry.
--web.config.file="" [EXPERIMENTAL] Path to configuration file that
can enable TLS or authentication.
--web.read-timeout=5m Maximum duration before timing out read of the
request, and closing idle connections.
--web.max-connections=512 Maximum number of simultaneous connections.
--web.external-url=<URL> The URL under which Prometheus is externally
reachable (for example, if Prometheus is served
via a reverse proxy). Used for generating
relative and absolute links back to Prometheus
itself. If the URL has a path portion, it will
be used to prefix all HTTP endpoints served by
Prometheus. If omitted, relevant URL components
will be derived automatically.
--web.route-prefix=<path> Prefix for the internal routes of
web endpoints. Defaults to path of
--web.external-url.
--web.user-assets=<path> Path to static asset directory, available at
/user.
--web.enable-lifecycle Enable shutdown and reload via HTTP request.
--web.enable-admin-api Enable API endpoints for admin control actions.
--web.enable-remote-write-receiver
Enable API endpoint accepting remote write
requests.
--web.console.templates="consoles"
Path to the console template directory,
available at /consoles.
--web.console.libraries="console_libraries"
Path to the console library directory.
--web.page-title="Prometheus Time Series Collection and Processing Server"
Document title of Prometheus instance.
--web.cors.origin=".*" Regex for CORS origin. It is fully anchored.
Example: 'https?://(domain1|domain2)\.com'
--storage.tsdb.path="data/"
Base path for metrics storage. Use with server
mode only.
--storage.tsdb.retention=STORAGE.TSDB.RETENTION
[DEPRECATED] How long to retain samples in
storage. This flag has been deprecated,
use "storage.tsdb.retention.time" instead.
Use with server mode only.
--storage.tsdb.retention.time=STORAGE.TSDB.RETENTION.TIME
How long to retain samples in storage.
When this flag is set it overrides
"storage.tsdb.retention". If neither this
flag nor "storage.tsdb.retention" nor
"storage.tsdb.retention.size" is set,
the retention time defaults to 15d. Units
Supported: y, w, d, h, m, s, ms. Use with
server mode only.
--storage.tsdb.retention.size=STORAGE.TSDB.RETENTION.SIZE
Maximum number of bytes that can be stored for
blocks. A unit is required, supported units: B,
KB, MB, GB, TB, PB, EB. Ex: "512MB". Based on
powers-of-2, so 1KB is 1024B. Use with server
mode only.
--storage.tsdb.no-lockfile
Do not create lockfile in data directory.
Use with server mode only.
--storage.tsdb.head-chunks-write-queue-size=0
Size of the queue through which head chunks
are written to the disk to be m-mapped,
0 disables the queue completely. Experimental.
Use with server mode only.
--storage.agent.path="data-agent/"
Base path for metrics storage. Use with agent
mode only.
--storage.agent.wal-compression
Compress the agent WAL. Use with agent mode
only.
--storage.agent.retention.min-time=STORAGE.AGENT.RETENTION.MIN-TIME
Minimum age samples may be before being
considered for deletion when the WAL is
truncated Use with agent mode only.
--storage.agent.retention.max-time=STORAGE.AGENT.RETENTION.MAX-TIME
Maximum age samples may be before being
forcibly deleted when the WAL is truncated Use
with agent mode only.
--storage.agent.no-lockfile
Do not create lockfile in data directory.
Use with agent mode only.
--storage.remote.flush-deadline=<duration>
How long to wait flushing sample on shutdown or
config reload.
--storage.remote.read-sample-limit=5e7
Maximum overall number of samples to return via
the remote read interface, in a single query.
0 means no limit. This limit is ignored for
streamed response types. Use with server mode
only.
--storage.remote.read-concurrent-limit=10
Maximum number of concurrent remote read calls.
0 means no limit. Use with server mode only.
--storage.remote.read-max-bytes-in-frame=1048576
Maximum number of bytes in a single frame for
streaming remote read response types before
marshalling. Note that client might have limit
on frame size as well. 1MB as recommended by
protobuf by default. Use with server mode only.
--rules.alert.for-outage-tolerance=1h
Max time to tolerate prometheus outage for
restoring "for" state of alert. Use with server
mode only.
--rules.alert.for-grace-period=10m
Minimum duration between alert and restored
"for" state. This is maintained only for alerts
with configured "for" time greater than grace
period. Use with server mode only.
--rules.alert.resend-delay=1m
Minimum amount of time to wait before resending
an alert to Alertmanager. Use with server mode
only.
--alertmanager.notification-queue-capacity=10000
The capacity of the queue for pending
Alertmanager notifications. Use with server
mode only.
--query.lookback-delta=5m The maximum lookback duration for retrieving
metrics during expression evaluations and
federation. Use with server mode only.
--query.timeout=2m Maximum time a query may take before being
aborted. Use with server mode only.
--query.max-concurrency=20
Maximum number of queries executed
concurrently. Use with server mode only.
--query.max-samples=50000000
Maximum number of samples a single query can
load into memory. Note that queries will fail
if they try to load more samples than this
into memory, so this also limits the number
of samples a query can return. Use with server
mode only.
--enable-feature= ... Comma separated feature names
to enable. Valid options: agent,
exemplar-storage, expand-external-labels,
memory-snapshot-on-shutdown,
promql-at-modifier, promql-negative-offset,
promql-per-step-stats, remote-write-receiver
(DEPRECATED), extra-scrape-metrics,
new-service-discovery-manager, auto-gomaxprocs,
no-default-scrape-port, native-histograms. See
https://prometheus.io/docs/prometheus/latest/feature_flags/
for more details.
--log.level=info Only log messages with the given severity or
above. One of: [debug, info, warn, error]
--log.format=logfmt Output format of log messages. One of: [logfmt,
json]
带参数启动
# 带参数启动
> ./prometheus --config.file="C:\Program Files\Prometheus\prometheus\prometheus.yml"
浏览器访问 Prometheus:
将 Prometheus 注册为本地服务
从网上下载的Windows下的
Prometheus
是控制台程序,打开窗口后,很容易被别人给关掉,因此考虑做成Windows服务,nssm
正是解决该问题的利器。
1、下载nssm:
下载地址:http://www.nssm.cc/download
查看官网提示,如果是win10,并且更新到了“Creators Update”,应该下载 “nssm 2.24-101-g897c7ad” 版本,否则启动时会报错
2、解压下载的nssm,找到里面的64位版本(我的电脑也是64位的),放到和Prometheus
同级的目录
在Powershell中,通过运行守护
nssm
注册服务
> cd -Path 'C:\Program Files\Prometheus\prometheus'
> ./nssm.exe install PrometheusService
在弹出框中选择Prometheus的运行程序:
--config.file="C:\Program Files\Prometheus\prometheus\prometheus.yml"
你也可以设置一些其他的服务信息(可选)
点击确定,则成功注册windows服务,如下所示:
到windows服务中,启动 PrometheusService 即可:
如需卸载服务
在Powershell中,通过运行守护nssm注册服务
> cd -Path 'C:\Program Files\Prometheus\prometheus'
> ./nssm.exe remove PrometheusService
更多使用方式参考官方说明:http://www.nssm.cc/usage
作者:Jeebiz 创建时间:2023-02-19 21:43
最后编辑:Jeebiz 更新时间:2024-01-24 21:48
最后编辑:Jeebiz 更新时间:2024-01-24 21:48