prometheus 日志监控(prometheus日志查看)

来源网友投稿 3347 2022-12-26

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。
本篇文章给大家谈谈prometheus 日志监控,以及prometheus日志查看对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享prometheus 日志监控的知识,其中也会对prometheus日志查看进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

番外篇-Prometheus入门

日志Logging[ELK]+指标Metrics[AMP]+追踪Tracing[SkyWalking]
通过指标发现性能问题,通过追踪定位性能,通过日志定位出具体请求的明细参数

Actuator+Micrometer+Prometheus+Grafana
Actuator: 采集内部应用内部信息暴露给外部,提供原始监控数据,比如健康检查,指标收集,应用信息
Micrometer: 为性能数据收集提供通用的API,包括:计时器,计数器,可以与不同的监控系统适配
Prometheus: 系统监控报警框架,提供多维度数据模型和灵活的查询方式,采用Pull方式采集数据
Granfana: 数据监控和数据统计,可视化,报警,通知

- 引入SpringBoot Actuator及micrometer    

- 配置actuator

我们只配置了prometheus和loogers,prometheus可以监控程序,loggers可以修改日志级别,其他根据需要开启和关闭。配置以后可以通过/actuator/prometheus进行访问。
* 如果因为contentType访问失败,需要在WebMvcConfig中configureMessageConverters增加"application/openmetrics-text"的支持。

- 主要指标

运行时间
process_uptime_seconds{job="flower-webapi"}
jvm full GC - 24小时gc次数 - 可以设置报警
increase(jvm_gc_pause_seconds_count{application="agent", cause="Metadata GC Threshold"}[24h])
jvm 内存使用 -查看不同区域内存,合理调整jvm参数
jvm_memory_used_bytes{job="flower-webapi", area="heap"}/1024/1024
api qps - 5分钟访问量
sum(increase(http_server_requests_seconds_count{job="flower-webapi"}[5m])/300)

还可以查看
jvm线程数,jvm gc收集次数和收集耗时
接口请求次数,请求时长,日志情况

- 安装和配置

Prometheus监控的目标是:长期趋势分析
Prometheus中文文档

- 探索PromQL

metric指标-要监控的对象
格式:<metric name{<label name=<label value,}
sample-样本-某个时间戳的指标的值
metric类型
Counter计数器:代表一种样本数据单调递增的指标
Guage仪表盘:代表一种样本数据可以任意变化的指标
Histogram直方图:在一段时间内对数据进行采样
Summary摘要:表示一段时间内的数据采样结果

部署
docker run -d --name agent-granfana -p 3000:3000 -v grafana.ini:/etc/grafana/grafana.ini grafana/grafana

访问
http://ip:3000

- 同一机器的,使用本机地址访问,端口不对外开发
- 同一机器的,不同Docker,可以使用同一docker网络,端口不用映射
- 同一专有网络的,使用专有网络地址访问,端口不对外开发
- 只有Granfana对外公开,同时设置管理员账号

参考文献

https://mp.weixin.qq.com/s/yqMdXehLCl7-m2kcfjh6OQ

SpringBoot入门系列

番外篇-没用的知识
番外篇-Docker入门
番外篇-Prometheus入门

Prometheus局限性

有三大局限性

Prometheus作为一个基于度量的系统,不适合存储事件或者日志等,它更多的展示的是趋势性的监控,如果需要数据的精准性,可以考虑ELK或者其它日志架构

Prometheus认为只有最近的监控数据才有查询的需要

Prometheus不论是在采用 联邦集群 还是采用 Thanos ,都需要解决细节上的技术问题,比如:耗尽CPU、消耗机器资源

Prometheus

Prometheus是一个开源系统监控和报警工具包,具有活跃的生态系统。是一个多维数据模型,其中的时间序列数据由指标名称和键/值对识别。它不依赖分布式存储,单个服务器节点是自治的。通过一个中间网关支持推送时间序列,可以通过服务发现或静态配置来发现目标,支持多种模式的图表和仪表盘制作。

Prometheus具体架构图如下:

Prometheus 直接或通过中介推送网关从检测的作业中抓取指标,用于短期作业。 它将所有抓取的样本存储在本地,并对这些数据运行规则,以从现有数据聚合和记录新的时间序列或生成警报。 Grafana 或其他 API 使用者可用于可视化收集的数据。

--config.file="prometheus.yml" Prometheus配置文件路径。

--web.listen-address="0.0.0.0:9090" 用于监听UI、API和遥测的地址。

--web.config.file="" [EXPERIMENTAL] 可以启用TLS或认证的配置文件的路径。

--web.read-timeout=5m 超时读取请求和关闭空闲连接之前的最大持续时间。

--web.max-connections=512 最大同时连接数。

--web.external-url=<URL 外部可访问Prometheus所在的URL(例如,如果Prometheus通过反向代理提供服务)。用于生成返回到Prometheus本身的相对和绝对链接。如果URL有路径部分,它将用于为Prometheus服务的所有HTTP端点添加前缀。如果省略,将自动派生相关的URL组件。

--web.route-prefix=<path Web端点的内部路线的前缀。默认为-web.external-url的路径。

--web.user-assets=<path 静态资源目录的路径,位于 /user。

--web.enable-lifecycle 通过HTTP请求启用关闭和重新加载。

--web.enable-admin-api 启用管理控制行动的API端点。

--web.console.templates="consoles" 控制台模板目录的路径,位于/consoles。

--web.console.libraries="console_libraries" 控制台库目录的路径。

--storage.tsdb.path="data/" 指标存储的基本路径。仅用于server模式。

--storage.tsdb.retention.time = 样本在储存中保留多长时间。设置此标志后,它会覆盖“storage.tsdb.retention”。如果此标志、“storage.tsdb.retention”或“storage.tsdb.retention.size”均未设置,则保留时间默认为15d。支持的单位:y、w、d、h、m、s、ms。仅用于server模式。

--storage.tsdb.retention.size = 块存储的最大字节数。需要一个单位,支持的单位:B、KB、MB、GB、TB、PB、EB。例如:“512MB”。仅用于server模式。

--storage.tsdb.no-lockfile 不在数据目录中创建锁文件。仅用于server模式。

--storage.tsdb.allow-overlapping-blocks 允许重叠块,从而启用垂直压缩和垂直查询合并。仅用于服务器模式。

--storage.agent.path="data-agent/" 指标存储的基本路径。仅用于agent模式。

--storage.agent.wal-compression 压缩代理WAL。仅用于agent模式。

--storage.agent.retention.min-time= 当WAL被截断时,样本在被强行删除之前的最小年龄,仅用于agent模式。

--storage.agent.retention.max-time= 当WAL被截断时,样本在被强行删除之前的最大年龄,仅用于agent模式。

--storage.agent.no-lockfile 不在数据目录中创建锁文件。仅用于agent模式。

--storage.remote.flush-deadline=<duration 在关闭或重新加载配置时等待刷新样本的时间。

--storage.remote.read-sample-limit=5e7 在单个查询中通过远程读取接口返回的最大样本总数。 0 表示没有限制。对于流式响应类型,将忽略此限制。仅用于server模式。

--storage.remote.read-concurrent-limit=10 并发远程读取调用的最大数量。 0 表示没有限制。仅用于server模式。

--rules.alert.for-outage-tolerance=1h 为恢复“for”警报状态而容忍Prometheus中断的最长时间。仅用于server模式。

--rules.alert.for-grace-period=10m 警报和恢复“for”状态之间的最短持续时间。这仅适用于配置的“for”时间大于宽限期的警报。仅用于server模式。

--rules.alert.resend-delay=1m 在向 Alertmanager 重新发送警报之前等待的最短时间。仅用于server模式。

--alertmanager.notification-queue-capacity=10000 等待Alertmanager通知的队列容量。仅用于server模式。

--query.lookback-delta=5m 在表达式评估和联合期间,检索指标的最长回溯持续时间。仅用于server模式。

--query.timeout=2m 查询在中止之前可能需要的最长时间。仅用于server模式。

--query.max-concurrency=20 并发执行的最大查询数。仅用于server模式。

--query.max-samples=50000000 单个查询可以加载到内存中的最大样本数。请注意,如果查询尝试将比这更多的样本加载到内存中,查询将失败,因此这也限制了查询可以返回的样本数量。仅用于server模式。

--enable-feature= 逗号分隔的要启用的功能名称。有效选项:agent、exemplar-storage、expand-external-labels、memory-snapshot-on-shutdown、promql-at-modifier、promql-negative-offset、remote-write-receiver。extra-scrape-metrics、new-service-discovery-manager。

--log.level=info 只记录给定严重程度或以上的信息。其中之一:[debug, info, warn, error]。

--log.format=logfmt 日志信息的输出格式。其中之一:[logfmt, json]。

通用占位符定义如下:

全局配置区域:

scrape_config部分指定了一组描述如何抓取它们的目标和参数,目标可以通过static_configs参数静态配置或使用支持的服务发现机制之一动态发现。

Prometheus自身支持basic验证和TLS(将来可能会改变),也可以通过nginx开启basic验证。

Exporter将监控数据采集的端点通过HTTP服务的形式暴露给Prometheus Server,Prometheus Server通过访问该Exporter提供的Endpoint端点,即可获取到需要采集的监控数据。

一般来说可以将Exporter分为2类:

Prometheus UI提供了快速验证PromQL以及临时可视化支持的能力,而在大多数场景下引入监控系统通常还需要构建可以长期使用的监控数据可视化面板(Dashboard)。这时用户可以考虑使用第三方的可视化工具如Grafana,Grafana是一个开源的可视化平台,并且提供了对Prometheus的完整支持。

在Prometheus Server中支持基于PromQL创建告警规则,如果满足PromQL定义的规则,则会产生一条告警,而告警的后续处理流程则由AlertManager进行管理。在AlertManager中我们可以与邮件,Slack等等内置的通知方式进行集成,也可以通过Webhook自定义告警处理方式。AlertManager即Prometheus体系中的告警处理中心。

Alertmanager 处理客户端应用程序(例如 Prometheus 服务器)发送的警报。 它负责对它们进行重复数据删除、分组和路由到正确的接收器集成,例如Email、PagerDuty 或 OpsGenie。 它还负责警报的静音和抑制。

报警全家桶 https://github.com/feiyu563/PrometheusAlert

Prometheus简介

Prometheus是一套开源的系统监控报警框架。如今越来越多的公司开始广泛使用Prometheus来提供近实时的、基于动态云环境和容器微服务、服务以及应用程序的内省监控。同时也用于监控传统架构的资源。

Prometheus作为新一代的云原生监控系统prometheus 日志监控,拥有易于管理、查询功能强大、便于可视化、存储高效以及操作简单等特点。

在Prometheus之前市面已经出现prometheus 日志监控了很多的监控系统,如Zabbix、Open-Falcon等。下表通过多维度展现了各自监控系统的优缺点

Prometheus是一个开源系统监控和警报工具包,最初是在SoundCloud构建的。自2012年成立以来,许多公司和组织都广泛运用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。它现在是一个独立的开源项目,独立于任何公司进行维护。为了强调这一点,Prometheus在2016年加入了云计算基金会,成为继Kubernetes之后的第二个托管项目。

Prometheus有以下几个主要特点:

Prometheus生态系统包含多个组件,其中许多是可选的:

大多数Prometheus组件都是用Go编写的,因此易于构建和部署为静态二进制文件。

下图说明了Prometheus的架构及其生态系统组件:

Prometheus 直接或通过pushgateway抓取metrics。将数据存储在本地,并对这些数据运行规则,以便从现有数据聚合和记录新时间序列,或者生成警报。Grafana或其他API consumers可以用来将抓取的数据可视化。

Prometheus非常适合记录任何纯数字时间序列。它既适用于machine-centric监控,也适用于高度动态的service-oriented的架构监控。在微服务的领域,其对多维数据抓取和查询的支持是一种特别的优势。

Prometheus是您在中断期间也能正常使用并快速诊断问题的系统,是十分值得信赖的伙伴。每个Prometheus服务器都是独立的,而不依赖于网络存储或其他远程服务。当基础结构的其他部分损坏时,您仍可以依靠它来进行监控,并且无需设置广泛的基础结构也可使用它,在故障的情况下,仍可以查看系统可用的统计信息。如果您需要100%精确的统计数据的话,Prometheus可能不能完全满足您的需求,如果是这种情况,您可以运用其他系统来抓取和分析这部分需要精确的数据,然后将Prometheus用于余下的监控环节。 关于prometheus 日志监控和prometheus日志查看的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 prometheus 日志监控的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于prometheus日志查看、prometheus 日志监控的信息别忘了在本站进行查找喔。
上一篇:智能运维平台有哪些品牌(智能运维公司)
下一篇:tcp监控(tcpip监听)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~