<small id='H5m4XQL2v'></small> <noframes id='vsAiJp'>

  • <tfoot id='CasEFdv'></tfoot>

      <legend id='8Jjikec'><style id='QR4Zl0db'><dir id='pb87EM9'><q id='ehYLfD89C'></q></dir></style></legend>
      <i id='7DW3'><tr id='dwy0pi'><dt id='DGv9I'><q id='Sb9ImlRzU'><span id='fPdoUxYDu'><b id='iMzljE'><form id='tNGCmS6W'><ins id='zgMbB9Qj'></ins><ul id='VjYZ'></ul><sub id='2lOPp76dEt'></sub></form><legend id='w3SiBz9Im'></legend><bdo id='Q6XLtvf'><pre id='iwyIEPLeQl'><center id='4CYaw6G'></center></pre></bdo></b><th id='DpsQtb3Oa'></th></span></q></dt></tr></i><div id='HzpjE6brIN'><tfoot id='9AmdenuT'></tfoot><dl id='FPXeg'><fieldset id='FNHvIT2u'></fieldset></dl></div>

          <bdo id='eJO1i5EnS'></bdo><ul id='6wtP'></ul>

          1. <li id='FI9mWwu'></li>
            登陆

            Prometheus 入门

            admin 2019-09-07 239人围观 ,发现0个评论

            学习装置 Prometheus 监控和警报体系并编写它的查询。

            -- Michael Zamot(作者)

            Prometheus 是一个开源的监控和警报体系,它直接从方针主机上运转的署理程序中抓取方针,并将搜集的样本会集存储在其服务器上。也能够运用像 collectd_exporter 这样的插件推送方针,虽然这不是 Promethius 的默许行为,但在主机坐落防火墙后边或坐落安全策略制止翻开端口的某些环境中它或许很有用。

            Prometheus 是 云原生核算基金会(CNCF) 的一个项目。它运用 联合模型(federation model)进行扩展,该模型使得一个 Prometheus 服务器能够抓取另一个 Prometheus 服务器的数据。这答应创立分层拓扑,其间中心体系或更高等级的 Prometheus 服务器能够抓取已从下级实例搜集的聚合数据。

            除 Prometheus 服务器外,其最常见的组件是 警报办理器 及其输出器。

            警报规矩能够在 Prometheus 中创立,并装备为向警报办理器发送自界说警报。然后,警报办理器处理和办理这些警报,包含经过电子邮件或第三方服务(如 PagerDuty )等不同机制发送告诉。

            Prometheus 的输出器能够是库、进程、设备或任何其他能将 Prometheus 抓取的方针揭露出去的东西。 这些方针可在端点 /metrics 中取得,它答应 Prometheus 无需署理直接抓取它们。本文中的教程运用 node_exporter 来揭露方针主机的硬件和操作体系方针。输出器的输出是明文的、高度可读的,这是 Prometheus 的优势之一。

            此外,你能够将 Prometheus 作为后端,装备 Grafana 来供给数据可视化和仪表板功用。

            了解 Prometheus 的装备文件

            抓取 /metrics 的距离秒数操控了时刻序列数据库的粒度。这在装备文件中界说为 scrape_interval 参数,默许情况下设置为 60 秒。

            在 scrape_configs 部分中为每个抓取作业设置了方针。每个作业都有自己的称号和一组标签,能够协助你过滤、分类并更轻松地辨认方针。一项作业能够有许多方针。

            装置 Prometheus

            在本教程中,为简略起见,咱们将运用 Docker 装置 Prometheus 服务器和 node_exporter。Docker 应该现已在你的体系上正确装置和装备。关于更深化、自动化的办法,我引荐 Steve Ovens 的文章《 怎么运用 Ansible 与 Prometheus 树立体系监控 》。

            在开端之前,在作业目录中创立 Prometheus 装备文件 prometheus.yml,如下所示:

            global:
            scrape_interval: 15s
            evaluation_interval: 15s
            scrape_configs:
            - job_name: 'prometheus'
            static_configs:
            - targets: ['localhost:9090']
            - job_name: 'webservers'
            static_configs:
            - targets: [':9100']

            经过运转以下指令用 Docker 发动 Prometheus:

            $ sudo docker run -d -p 9090:9090 -v
            /path/to/prometheus.yml:/etc/prometheus/prometheus.yml
            prom/prometheus

            默许情况下,Prometheus 服务器将运用端口 9090。假如此端口已在运用,你能够经过在上一个指令的后边增加参数 --web.listen-address=":" 来更改它。

            在要监督的核算机中,运用以下指令下载并运转 node_exporter 容器:

            $ sudo docker run -d -v "/proc:/host/proc" -v "/sys:/host/sys" -v
            "/:/rootfs" --net="host" prom/node-exporter --path.procfs
            /host/proc --path.sysfs /host/sys --collector.filesystem.ignored-
            mount-points "^/(sys|proc|dev|host|etc)($|/)"

            出于本文操练的意图,你能够在同一台机器上装置 node_exporter 和 Prometheus。请注意,出产环境中在 Docker 下运转 node_exporter 是不明智的 —— 这仅用于测验意图。

            要验证 node_exporter 是否正在运转,请翻开浏览器并导航到 http://:9100/metrics,这将显现搜集到的一切方针;也便是 Prometheus 即将抓取的相同方针。



            要承认 Prometheus 服务器装置成功,翻开浏览器并导航至: http://localhost:9090 。

            你应该看到了 Prometheus 的界面。单击“Status”,然后单击“Targets”。在 “Status” 下,你应该看到你的机器被列为 “UP”。



            运用 Prometheus 查询

            现在是时分了解一下 PromQL (Prometheus 的查询语法)及其图形化 Web 界面了。转到 Prometheus 服务器上的 http://localhost:9090/graph。你将看到一个查询编辑器和两个选项卡:“Graph” 和 “Console”。

            Prometheus 将一切数据存储为时刻序列,运用方针称号标识每个数据。例如,方针 node_filesystem_avail_bytes 显现可用的文件体系空间。方针的称号能够在表达式框中运用,以挑选具有此称号的一切时刻序列并生成即时向量。假如需求,能够运用挑选器和标签(一组键值对)过滤这些时刻序列,例如:

            node_filesystem_avail_bytes{fstype="ext4"}

            过滤时,你能够匹配“彻底持平”(=)、“不等于”(!=),“正则匹配”(=~)和“正则扫除匹配”(!~)。以下示例说明晰这一点:

            要过滤 node_filesystem_avail_bytes 以显现 ext4 和 XFS 文件体系:

            node_filesystem_avail_bytes{fstype=~"ext4|xfs"}

            要扫除匹配:

            node_filesystem_avail_bytes{fstype!="xfs"}

            你还能够运用方括号得到从当时时刻往回的一系列样本。你能够运用 s 表明秒,m 表明分钟,h 表明小时,d 表明天,w 表明周,而 y 表明年。运用时刻规模时,回来的向量将是规模向量。

            例如,以下指令生成从五分钟前到现在的样本:

            node_memory_MemAvailable_bytes[5m]

            Prometheus 还包含了高档查询的功用,例如:

            100 * (1 - avg by(instance)(irate(node_cpu_seconds_total{job='webservers',mode='idle'}[5m])))

            请注意标签怎么用于过滤作业和形式。方针 node_cpu_seconds_toPrometheus 入门tal 回来一个计数器,irate()函数依据规模距离的最终两个数据点核算每秒的改变率(意味着该规模能够小于五分钟)。要核算 CPU 整体运用率,能够运用 node_cpu_seconds_total 方针的闲暇(Prometheus 入门idle)形式。处理器的闲暇份额与繁忙份额相反,因而从 1 中减去 irate 值。要使其为百分比,请将其乘以 100。



            了解更多

            Prometheus 是一个功用强大、可扩展、轻老扒量级、易于运用和布置的监督东西,关于每个体系办理员和开发人员来说都是必不可少的。出于这些原因和其他原因,许多公司正在将 Prometheus 作为其基础设施的一部分。

            要了解有关 Prometheus 及其功用的更多信息,我主张运用以下资源:

            • 关于 PromQL
            • 什么是 node_exportPrometheus 入门ers 调集
            • Prometheus 函数
            • 4 个开源监控东西
            • 现已推出:DevOps 监控东西的开源攻略

            via: https://opensource.com/article/18/12/introduction-prometheus

            作者: Michael Zamot 选题: lujun9972 译者: wxy 校正: wxy

            本文由 LCTT 原创编译, Linux我国 荣誉推出

            点击“了解更多”可拜访文内链接

            请关注微信公众号
            微信二维码
            不容错过
            Powered By Z-BlogPHP