小知识:运维监控系统之Prometheus Server安装

%小知识:运维监控系统之Prometheus Server安装-猿站网-插图

 简介

Prometheus是Golang写的,编译后就是一个二进制文件,不依赖于第三方运行库。这样子就可以让我们很方便的部署。

下载安装

Golang的交叉编译,可以很容易实现跨平台。

如果是测试实验可以在下载windows版本的就可以了。

%小知识:运维监控系统之Prometheus Server安装-1猿站网-插图

我这边都是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 onfor 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 isset it overrides “storage.tsdb.retention”. If neither this flag nor “storage.tsdb.retention” nor 

                                 “storage.tsdb.retention.size”isset, 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 notcreate 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 toreturn 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 sizeas well. 1MB as

                                 recommended by protobuf bydefault

      –rules.alert.for-outage-tolerance=1h  

                                 Maxtimeto 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 onlyfor alerts with configured “for”time greater than grace period. 

      –rules.alert.resend-delay=1m  

                                 Minimum amount oftimeto 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 loadinto memory. Note that queries will fail if they try toload 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服务。

%小知识:运维监控系统之Prometheus Server安装-2猿站网-插图

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 

原文地址:https://www.toutiao.com/i6910113923572253196/

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Nginx服务器中浏览器本地缓存和虚拟机的相关设置

2023-5-4 2:55:41

建站知识

小知识:Nginx服务器做负载均衡反向代理的超级攻略

2023-5-4 3:04:55

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索