共計 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 怎么安裝”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!