从实时监控到智能洞察:Grafana 和 CnosDB 的无限潜力

在今天的数字化世界中,监控系统对于维护应用程序和基础设施的稳定性至关重要。本文将介绍如何使用 Grafana 和 CnosDB 构建强大的监控体系,以便实时监视性能、发现问题并采取及时的措施。

CnosDB已正式上架Grafana插件市场

Grafana:开源监控和仪表工具

Grafana 是一款流行的开源监控和仪表工具,它提供了丰富的数据可视化功能和易于使用的仪表编辑器。您可以在 Grafana 中创建各种类型的图表,包括折线图、柱状图、仪表盘等,以展示您的监控数据。

CnosDB:高性能时间序列数据库

CnosDB 是一种高性能、分布式的时间序列数据库,具有出色的水平扩展性和可用性。它适用于各种场景,包括大规模的时序数据存储和分析。

步骤 1:安装 CnosDB

更多部署方式请参考:安装 | 文档CnosDB 的文档icon-default.png?t=N7T8https://docs.cnosdb.com/zh/latest/deploy/install.html

1.安装并启动 CnosDB

docker run --name cnosdb -p 8902:8902 -d cnosdb/cnosdb:community-latest cnosdb run -M singleton

2.创建数据库

用于存储监控数据

curl -i -u "root:" -XPOST "http://localhost:8902/api/v1/sql" -d 'CREATE DATABASE node_metrics'

步骤 2:采集主机数据

以下内容请在 mac 环境中体验,其他操作系统请参考:Install Telegraf | Telegraf 1.27 Documentation

1.下载 Telegraf

brew update
brew install telegraf

2.修改采集指标配置如下

vim /opt/homebrew/etc/telegraf.conf

[global_tags]
[agent]interval = "10s"round_interval = truemetric_batch_size = 1000metric_buffer_limit = 10000collection_jitter = "0s"flush_interval = "1s"flush_jitter = "0s"precision = "0s"hostname = ""omit_hostname = false
[[outputs.http]]url = "http://127.0.0.1:8902/api/v1/write?db=node_metrics"timeout = "5s"method = "POST"username = "root"password = ""data_format = "influx"use_batch_format = truecontent_encoding = "identity"idle_conn_timeout = 10
[[inputs.cpu]]percpu = truetotalcpu = truecollect_cpu_time = falsereport_active = falsecore_tags = false
[[inputs.disk]]ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
[[inputs.diskio]]
[[inputs.kernel]]
[[inputs.mem]]
[[inputs.processes]]
[[inputs.swap]]
[[inputs.system]]
[[inputs.net]]

3.启动 Telegraf 数据采集工具

brew services start telegraf

步骤 3:安装 Grafana

部署方式请参考:Grafana documentation | Grafana documentation

docker run --name grafana -p 3000:3000 -d grafana/grafana:9.3.6

步骤 4:配置 CnosDB 数据源

Grafana 支持 CnosDB 的原生连接插件

1.安装 CnosDB 数据源插件

docker exec grafana /bin/sh grafana-cli plugins install cnos-cnosdb-datasource

⚠️ 安装完插件后重启才会生效

docker restart grafana

2.在 Grafana 添加 CnosDB 数据源连接

接下来,我们需要将 CnosDB 设置为 Grafana 的数据源,以便从数据库中提取监控数据。在 Grafana 中配置 CnosDB 数据源的步骤如下:

● 登录 Grafana 的 Web 界面:http://127.0.0.1:3000。

● 导航到 "Configuration" > "Data Sources"。

● 单击 "Add data source" 按钮。

● 在数据源类型中选择 "CnosDB"。

● 在配置中填写 CnosDB 的连接信息,包括主机、端口、用户名和密码。

● 单击 "Save & Test" 按钮以测试连接是否成功。

步骤 5:导入 Dashborad

添加 Dashborad 用于可视化主机运行情况,步骤如下:

● 导航到 "Dashboards"

● 单击 "New" > "Import"

● 将 JSON 文件icon-default.png?t=N7T8https://github.com/cnosdb/docs/blob/main/assets/grafana_dashboard.json复制到 "Import via panel json" 中

● 单机 "Load" 按钮

● 选择刚才设置好的数据源,单击 "Import"

● 导入成功后即可看见图表

步骤 6:设置警报规则

监控体系不仅用于可视化数据,还用于警报。您可以设置警报规则,以便在特定条件下通知您的团队。在 Grafana 中设置警报规则的步骤如下:

  1. 在仪表板编辑模式下,选择要设置警报的图表。

  2. 单击图表右上角的 "Edit" 按钮。

  3. 在 "Alert" 选项卡中,配置警报规则,包括触发条件和通知方式(例如电子邮件通知、Slack 通知等)。

  4. 单击 "Apply" 按钮保存警报规则。

总结

最后,部署和维护监控体系是一个持续的过程。确保定期更新 Grafana 和 CnosDB 的版本,并根据需要调整仪表板和警报规则。同时,定期审查数据的保留策略,以确保不会占用过多的存储空间。

通过使用 Grafana 和 CnosDB,您可以构建高效的监控体系,帮助您实时监视和分析应用程序和基础设施的性能。通过适当的配置和维护,您可以及时发现问题并采取措施,确保系统的稳定性和可靠性。希望这篇文章能帮助您开始构建自己的监控体系,提高系统的可用性和性能。

CnosDB简介

CnosDB是一款高性能、高易用性的开源分布式时序数据库,现已正式发布及全部开源。

欢迎关注我们的社区网站:https://cn.cnosdb.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/110418.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(手撕)数据结构--->堆

文章内容 目录 一:堆的相关概念与结构 二:堆的代码实现与重要接口代码讲解 让我们一起来学习:一种特殊的数据结构吧!!!! 一:堆的相关概念与结构 在前面我们已经简单的学习过了二叉树的链式存储结…

虚拟化和容器

文章目录 1 介绍1.1 简介1.2 虚拟化工作原理1.3 两大核心组件:QEMU、KVMQEMUKVM 1.4 发展历史1.5 虚拟化类型1.6 云计算与虚拟化1.7 HypervisorHypervisor分为两大类 1.8 虚拟化 VS 容器 2 虚拟化应用dockerdocker 与虚拟机的区别 K8Swine 参考 1 介绍 1.1 简介 虚…

stm32---定时器输入捕获

一、输入捕获介绍 在定时器中断实验章节中我们介绍了通用定时器具有多种功能,输入捕获就是其中一种。 STM32F1除了基本定时器TIM6和TIM7,其他定时器都具有输入捕获功能 。输入捕获可以对输入的信号的上升沿,下降沿或者双边沿进行捕获&#xf…

Linux中swap几乎耗尽,但物理内存还有空余的现象

故障现象: 产生此现象的原因: swappiness 配额设置了偏高的值。 还有一个潜在的因素是某个程序因其自身对内存管理的缺陷,形成了zombie进程、且为及时关闭的处理任务还在持续消耗Mem及swap。 解决办法: 调低swappiness 配额值&…

C++ - 异常介绍和使用

前言 我们在日常编写代码的时候,难免会出现编写错误带来程序的奔溃,或者是用户在使用我们编写的程序时候,使用错误所带来程序的奔溃。 在C 当中 可以对你觉得可能发生 错误 的地方在运行之前进行判断,发生错误可以给出提示。 C…

PDF 工具箱

PDF 工具箱 V9.0.0.1 程序:VB.net 运行库:NET Framework 4.5 功能简介: 1、PDF文件多文件合并,可调整顺序。 2、PDF文件拆分,将每页拆分成独立的PDF文件。 3、PDF文件添加水印,文字或图片水印&…

解决中国科大 USTC 邮箱系统的超大附件上传的邮箱控件安装问题

USTC邮箱系统上传超过 48M 的附件的步骤: 从文件中转站上传文件,会提示下载邮箱控件 cmplugin_setup.exe ,默认安装C盘即可 2. 安装好之后依然无法上传超大文件,因为只有 IE 浏览器支持该功能,所以可以使用 Edge 浏览…

opencv dnn模块 示例(16) 目标检测 object_detection 之 yolov4

博客【opencv dnn模块 示例(3) 目标检测 object_detection (2) YOLO object detection】 测试了yolov3 及之前系列的模型,有在博客【opencv dnn模块 示例(15) opencv4.2版本dnn支持cuda加速(vs2015异常解决)】 说明了如何使用dnn模块进行cuda…

C语言实现通讯录 (附完整代码)

C语言实现通讯录 🍀实现一个通讯录:🍀通讯录的功能:🍀多文件实现💮设计结构体——保存人的信息💮初始通讯录💮封装通讯录💮define宏定义修改通讯录的最大容量初始化通讯录…

掌握这5种方法,让你的新AirPods充电盒更耐用!

每次AirPods充电盒落地时,你都会呼吸急促吗?无论我使用的是旧一代的AirPods还是最新的AirPod Pro 2,我都关心它们的保存状况,并尽力保护这些脆弱设备的安全。我想我对AirPods Pro 2的新充电盒也会有同样的感受,它在9月…

页面静态化、Freemarker入门

页面静态化介绍 页面的访问量比较大时,就会对数据库造成了很大的访问压力,并且数据库中的数据变化频率并不高。 那需要通过什么方法为数据库减压并提高系统运行性能呢?答案就是页面静态化。页面静态化其实就是将原来的动态网页(例如通过ajax…

千里共婵娟 | 结合微信公众号用JavaScript完整开发实现换中秋头像的功能

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责…