托管文件位置

vi /usr/lib/systemd/system/prometheus.service

service文件内容

以下内容仅供参考,其中部分参数已经给了注释,可根据实际情况酌情增减。

[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=root
Group=root
# Please change to the actual running path
WorkingDirectory=/opt/prometheus-2.28.0
ExecStart=/opt/prometheus-2.28.0/prometheus \
# Please change to the actual service address and port. It is best not to use localhost.
--web.listen-address=10.20.30.40:9090 \
# Please modify the storage location of the specified data and make sure the directory already exists.
--storage.tsdb.path="/mnt/data/prometheus" \
# Enable hot reloading, which allows reloading configuration files via HTTP requests.
--web.enable-lifecycle \
--config.file=prometheus.yml
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target

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.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.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.
--storage.exemplars.exemplars-limit=100000
[EXPERIMENTAL] Maximum number of exemplars to store in in-memory exemplar storage total. 0 disables the exemplar storage. This flag is effective only with
--enable-feature=exemplar-storage.
--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.
--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.
--enable-feature= ...      Comma separated feature names to enable. Valid options: promql-at-modifier, promql-negative-offset, remote-write-receiver, exemplar-storage,
expand-external-labels. See https://prometheus.io/docs/prometheus/latest/disabled_features/ 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服务端的CLI执行,确保替换了你的地址:

curl -X POST http://10.20.30.40:9090/-/reload
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐