• 从实时监控到智能洞察: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

    1. brew update
    2. brew install telegraf

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

    vim /opt/homebrew/etc/telegraf.conf

    1. [global_tags]
    2. [agent]
    3. interval = "10s"
    4. round_interval = true
    5. metric_batch_size = 1000
    6. metric_buffer_limit = 10000
    7. collection_jitter = "0s"
    8. flush_interval = "1s"
    9. flush_jitter = "0s"
    10. precision = "0s"
    11. hostname = ""
    12. omit_hostname = false
    13. [[outputs.http]]
    14. url = "http://127.0.0.1:8902/api/v1/write?db=node_metrics"
    15. timeout = "5s"
    16. method = "POST"
    17. username = "root"
    18. password = ""
    19. data_format = "influx"
    20. use_batch_format = true
    21. content_encoding = "identity"
    22. idle_conn_timeout = 10
    23. [[inputs.cpu]]
    24. percpu = true
    25. totalcpu = true
    26. collect_cpu_time = false
    27. report_active = false
    28. core_tags = false
    29. [[inputs.disk]]
    30. ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
    31. [[inputs.diskio]]
    32. [[inputs.kernel]]
    33. [[inputs.mem]]
    34. [[inputs.processes]]
    35. [[inputs.swap]]
    36. [[inputs.system]]
    37. [[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

  • 相关阅读:
    强化学习中的基本术语
    趣学python编程(七、实现个小网站如此简单 web.py使用介绍)
    《Operating Systems: Three Easy Pieces》 操作系统【一】 虚拟化 CPU
    关于程序员的真相,你知道几个?
    干货丨如何开启TiDB集群中的节点通信加密?
    计算机毕业设计Java读书笔记共享平台(源码+系统+mysql数据库+lw文档)
    Transformers入门:实战Ubuntu使用huggingface上的语句情感分类模型+配环境(2024.02.20)
    java.lang.Float类下toString()方法具有什么功能呢?
    JavaScript总结(一)
    第2章_freeRTOS入门与工程实践之单片机程序设计模式
  • 原文地址:https://blog.csdn.net/CnosDB/article/details/132797012