共计 5933 个字符,预计需要花费 15 分钟才能阅读完成。
这篇文章给大家分享的是有关 Prometheus Server 怎么安装的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。
简介
Prometheus 是 Golang 写的,编译后就是一个二进制文件,不依赖于第三方运行库。这样子就可以让我们很方便的部署。
下载安装
Golang 的交叉编译,可以很容易实现跨平台。
如果是测试实验可以在下载 windows 版本的就可以了。
我这边都是 Linux 环境,直接下载 Linux 版本
wget -c https://github.com/prometheus/prometheus/releases/download/v2.23.0/prometheus-2.23.0.linux-amd64.tar.gz tar zxvf prometheus-2.23.0.linux-amd64.tar.gz
运行
解压后,就可以执行二进制文件 prometheus
./prometheus
默认配置文件是当前目录下的 prometheus.yml
默认配置文件里面只有拉取 prometheus 自己的指标。
帮助
./prometheus
--help
prometheus 提供了很多参数可以进行配置,根据实际情况进行设置即可。
usage: prometheus [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.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.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. --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. --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. --storage.tsdb.retention.size=STORAGE.TSDB.RETENTION.SIZE [EXPERIMENTAL] 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 . This flag is experimental and can be changed in future releases. --storage.tsdb.no-lockfile Do not create lockfile in data directory. --storage.tsdb.allow-overlapping-blocks [EXPERIMENTAL] Allow overlapping blocks, which in turn enables vertical compaction and vertical query merge. --storage.tsdb.wal-compression Compress the tsdb WAL. --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. --storage.remote.read-concurrent-limit=10 Maximum number of concurrent remote read calls. 0 means no limit. --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. --rules.alert.for-outage-tolerance=1h Max time to tolerate prometheus outage for restoring for state of alert. --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. --rules.alert.resend-delay=1m Minimum amount of time to wait before resending an alert to Alertmanager. --alertmanager.notification-queue-capacity=10000 The capacity of the queue for pending Alertmanager notifications. --alertmanager.timeout=10s Timeout for sending alerts to Alertmanager. --query.lookback-delta=5m The maximum lookback duration for retrieving metrics during expression evaluations and federation. --query.timeout=2m Maximum time a query may take before being aborted. --query.max-concurrency=20 Maximum number of queries executed concurrently. --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. --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]
注册成服务
目前 linux 大部分的发行版本都是使用 systemd 管理系统服务了,我们可以直接编辑一个 systemd 的 service 文件,来部署 prometheus 服务。
vim /etc/systemd/system/prometheus.service
如果没有设置 –storage.tsdb.path,记得设置好工作目录 WorkingDirectory,不然所有数据都会保存到家目录里面。
[Unit] Description=prometheus After=network.target [Service] Type=simple WorkingDirectory=/opt/prometheus/prometheus ExecStart=/opt/prometheus/prometheus/prometheus --config.file= /opt/prometheus/prometheus/prometheus.yml LimitNOFILE=65536 PrivateTmp=true RestartSec=2 StartLimitInterval=0 Restart=always [Install] WantedBy=multi-user.target
使用 systemctl 加载文件、控制服务
systemctl daemon-reload systemctl enable prometheus systemctl start prometheus
WebUI
启动之后,默认监听是 9090 端口,浏览器直接访问即可
http://[ip]:9090
感谢各位的阅读!关于“Prometheus Server 怎么安装”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!