首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于prometheus+grafana的监控报警教程(一)安装prometheus和exporter

随着现代组织日益复杂的技术堆栈和庞大的数据掌握需要,如何科学有效地监控和管理部署环境中的各种组件变得越来越重要。在这个背景下,Prometheus 出现了。

Prometheus 是一个开源的,具有丰富功能的监控与警报工具包,它于 2012 年由 SoundCloud 发起,其设计目标是实现一套在多维数据世界且可靠的监控系统,现在已经成为了云原生计算基金会的重要项目之一。Prometheus 的设计理念非常符合今天分布式计算,微服务和云基础设施的需求,可以说是当下最主流的监控与警告系统之一。

今天我们就来介绍如何安装与使用 prometheus,在这之前还需要你对 exporter 有一个了解,如果你去访问 prometheus 官网,就会发现很多 exporter 的字样。简单来说 exporter 就是采集监控数据的东西,它可以通过 prometheus 对外提供数据,并有一个统一的规范格式。官方实现了很多 exporter,比如 mysql exporter,node exporter 等等。还有很多第三方实现的 exporter,若感兴趣可以访问官网去了解。

简单来说,exporter 就是一个给 prometheus 提供数据的组件

将 9100 端口放开,然后前台访问 http://ip:9100/metrics 。当访问这个 url 时候,展示一堆以下格式的数据,则证明安装 exporter 成功。

# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.

# TYPE go_gc_duration_seconds summary

go_gc_duration_seconds{quantile="0"} 0

go_gc_duration_seconds{quantile="0.25"} 0

go_gc_duration_seconds{quantile="0.5"} 0

go_gc_duration_seconds{quantile="0.75"} 0

go_gc_duration_seconds{quantile="1"} 0

go_gc_duration_seconds_sum 0

go_gc_duration_seconds_count 0

# HELP go_goroutines Number of goroutines that currently exist.

# TYPE go_goroutines gauge

go_goroutines 8

# HELP go_info Information about the Go environment.

# TYPE go_info gauge

go_info{version="go1.21.4"} 1

# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use.

# TYPE go_memstats_alloc_bytes gauge

go_memstats_alloc_bytes 2.553448e+06

# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.

# TYPE go_memstats_alloc_bytes_total counter

go_memstats_alloc_bytes_total 2.553448e+06

# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table.

# TYPE go_memstats_buck_hash_sys_bytes gauge

go_memstats_buck_hash_sys_bytes 1.445367e+06

# HELP go_memstats_frees_total Total number of frees.

接下来,部署 prometheus,先创建一个 prometheus 的目录,执行命令 vim prometheus.yml 新建这个配置文件,配置文件里的内容可以填入以下信息:

global:

scrape_interval: 60s

evaluation_interval: 60s

scrape_configs:

- job_name: prometheus #这个用来监控本机的prometheus服务

static_configs:

- targets: ['localhost:9090']

labels:

instance: prometheus

- job_name: linux #这个用来监控本机的机器性能,填写你的node_exporter部署的机器的ip即可

static_configs:

- targets: ['你的ip:9100']

labels:

instance: localhost

我当前的路径是 /hustudy/prometheus/prometheus.yml 执行 docker 命令 docker run -d -p 9090:9090 -v /hustudy/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus 来启动容器, 注意要将-v 参数后的 prometheus.yml 文件路径替换成你自己的。

容器启动后 prometheus 会暴露在 9090 端口,然后我们前台访问 http://ip:9090 以及 前台访问http://ip:9090/targets 当页面出现以下内容时,则证明部署成功。

现在我们已经都部署好了,但是 prometheus 展示的数据并不友好,并不方便我们直观的查看,以及使用 prometheus 提供的 Alertmanager 告警组件有点复杂,所以在下一篇,我们绍数据可视化神器 grafana

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O5Jid7KdnZtDZ25XduQJutig0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券