Grafana & Graphite & Collectd监控系统

简介


  • 监控是运维工作中的一个重要组成部分,今天介绍一套新的监控工具,方便好用,扩展性强,这套工具有三个组件,Grafana & Graphite & Collectd;
  • Grafana 是一个开源的强有力的数据展示、量化分析工具,数据源包括 graphite、prometheus、mysql、influxdb 等等,可以直接在页面上组装语句,另外还可以对资源实现可用性和性能监控报警,同时还支持集成OpenLDAP;
  • Graphite 是一个用Python写的开源的监控绘图工具,由三个组建组成,分别是 carbon(基于 Twisted 的进程,用来接收数据)whisper(专门存储时间序列类型数据的小型数据库)graphite-web(基于 Django 的网页应用程序),我们这里使用其存储监控数据;
  • Collectd 是一个用C语言开发的守护进程,能够周期性的收集系统和应用程序的性能指标,同时给各种存储方式提供不同的存储机制,我们这里使用其收集数据并将数据推送到 graphite 中存储;
  • 目前云平台使用普遍且方便,大多数云平台有完善详尽的监控预警系统,但对于业务需要使用多种云平台或混合云的情况却较难应对;这套监控体系可综合各种系统监控、业务监控、业务数据展示等功能,统一入口,可谓运维必备利器;现将该系统的创建分享方向给大家,希望对需要的小伙伴有所帮助;
  • 逻辑结构图如下:
  • 下图为grafana 可以接收的数据源列表

graphite 部署


  • 数据做持久存储
docker run -d  --name ops-graphite  --restart=always  -p 8880:80  -p 2003-2004:2003-2004  -p 2023-2024:2023-2024  -p 8125:8125/udp  -p 8126:8126  -v /opt/graphite_data/whisper:/opt/graphite/storage/whisper:rw  -v /opt/graphite_data/redis:/var/lib/redis:rw  -v /opt/graphite_data/log:/var/log:rw  graphiteapp/graphite-statsd
  • 可通过浏览器访问 graphite 页面,http://10.0.0.1:8880,默认用户名:root,密码:root,后续要将其加入到grafana的数据源

collectd 部署


  • 替换 GRAPHITE_HOST 为你graphite的主机地址,我这里使用域名,方便管理
docker run -d  --name ops-collectd  --net=host  --privileged  --restart always  -v /:/hostfs:ro  -e GRAPHITE_HOST=collectd.ops.glinux.top  williamguozi/collectd:latest

grafana 部署


  • 数据做持久存储,可通过 -v /opt/grafana/grafana.ini:/etc/grafana/grafana.ini-v /opt/grafana/ldap.toml:/etc/grafana/ldap.toml 将配置放置外部管理(可选)
docker run -d   --name ops-grafana   -p 3000:3000   -v /opt/grafana:/var/lib/grafana   grafana/grafana

grafana 配置


  • 经过上诉配置,就可以打开grafana的管理界面了,http://10.0.0.1:3000,默认用户名:admin,密码:admin
  • 添加 graphite 数据源,配置用户名密码,测试连接状态
  • 设置告警通知方式,这里使用slack方式通知到频道,也可尝试其他通知方式
  • 左侧列表添加 Dashboard -> Panel,编辑Panel,添加数据,比如cpu利用率
  • 调整单位
  • 修改 Panel 名称,添加报警规则

效果展示


  • 当资源指标达到阈值就会报警到Slack相应的频道
  • 另外,可以通过安装 dashboards 模版使数据展示更漂亮

总结


  • 本文主要就操作系统的基础监控做例子,展示整个部署过程及展示和报警;
  • 当然其也能够对时下比较流行的kubernetes进行详细的监控,后面会写文介绍;
  • 另外,graphite可以直接将mysql作为数据源,将业务数据图标展示,体现DevOps价值;

参考文档


原文地址:https://www.cnblogs.com/William-Guozi/p/grafana-monitor.html

时间: 2024-10-09 22:30:19

Grafana & Graphite & Collectd监控系统的相关文章

Grafana+Zabbix+Prometheus 监控系统

环境说明 软件 版本 操作系统 IP地址 Grafana 5.4.3-1 Centos7.5 192.168.18.231 Prometheus 2.6.1 Centos7.5 192.168.18.232 Zabbix 4.0.4 Centos7.5 192.168.18.233 一.部署Grafana Grafana是一个开源的指标量监测和可视化工具,官方网站为:https://grafana.com/.Grafana的安装非常简单,官方就有软件仓库可以直接使用,也可以通过docker镜像等

【监控】使用 Grafana、collectd 和 InfluxDB 打造现代监控系统

参考资料:Grafana 是 Graphite 和 InfluxDB 仪表盘和图形编辑器:http://www.oschina.net/p/grafana 使用 Grafana.collectd 和 InfluxDB 打造现代监控系统:https://linux.cn/article-5252-1.html collectd监控性能联合influxdb grafana打造metric收集系统:http://www.tuicool.com/articles/ErmIVnb 使用 Grafana+c

使用 Grafana、collectd 和 InfluxDB 打造现代监控系统

使用 Grafana.collectd 和 InfluxDB 打造现代监控系统 先给小伙伴们秀一下由grafana画出的监控效果图 想打造 New Relic 那样漂亮的实时监控系统我们只需要 InfluxDB/collectd/Grafana 这三个工具,这三个工具的关系是这样的: 采集数据(collectd)-> 存储数据(influxdb) -> 显示数据(grafana) InfluxDB 是 Go 语言开发的一个开源分布式时序数据库,非常适合存储指标.事件.分析等数据,看版本号(v0

Grafana、collectd 和 InfluxDB 打造现代监控系统(一)安装篇

为什么研究Grafana.collectd 和 InfluxDB,是因为本人工作中使用到的开源监控软件(nagios.Cacti)画图都是基于RRD实现的,老实说都不太美观,并且无法自定义图表,但是凭本人的开发水平还无法做到自己写图表. Grafana+collectd+InfluxDB,采用客户端->服务端存储->WEB界面显示的工作模式,使用UTP传输数据,并且支持自定义图表,有良好的扩展性,重要的是Grafana页面展示比较美观. 页面展示可浏览官方演示平台:http://play.gr

Grafana、collectd 和 InfluxDB 打造现代监控系统(二)配置篇

一.InfluxDB开启collectd插件 InfluxDB 现在自带一个 collectd 插件来获取 collectd 客户端发来的数据,以前可没这么方便哦,0.8.4 版本以前只能通过 influxdb-collectd-proxy 这样的第三方程序来连接 collectd 和 InfluxDB. InfluxDB 自带的 collectd 插件默认是关闭的,需要手动配置打开 enabled = true,并填上 database = "collectd" 这一行,这里的 &q

使用 StatsD + Grafana + InfluxDB 搭建 Node.js 监控系统

在石墨,我们之前使用 ELK 搭了一套监控图表,由于一些原因,比如: 1.Kibana 经常查日志查挂2.Kibana 的图表不太美观.不够灵活所以调研了一下,选择用 StatsD + Grafana + InfluxDB 搭建一套新的监控系统. 工具简介 StatsD 是一个使用 Node.js 开发的简单的网络守护进程,通过 UDP 或者 TCP 方式侦听各种统计信息,包括计数器和定时器,并发送聚合信息到后端服务,例如 Graphite.ElasticSearch.InfluxDB 等等,这

利用Grafana为OpenStack搭建现代化监控系统

首先简单说下为什么会用grafana,最近公司在新机房上了300多台物理机,其中有60台分配给我做OpenStack的私有云环境.OpenStack部署很快,三下五除二很快就上线了Mitaka的版本.但是在分给各个运维使用一段时间后,暴露一些问题. 场景一 某个干坏事的小朋友在虚拟机里面搞性能测试,直接打满cpu使用率和物理机的网络IO,影响这个物理机上的其他虚拟机. 场景二 OpenStack的Cinder卷采用的LVM + Iscsi方式提供,线上虚拟机的某个在某个时间点同步大量数据到数据卷

docker:十分钟构建容器监控系统cAdvisor+InfluxDB+Grafana

1.概念 cAdvisor:用于数据采集InfluxDB:用于数据存储Grafana:用于数据展示 1.1 cAdvisor 它是Google用来监测单节点的资源信息的监控工具.Cadvisor提供了一目了然的单节点多容器的资源监控功能.Google的Kubernetes中也缺省地将其作为单节点的资源监控工具,各个节点缺省会被安装上Cadvisor.总结起来主要两点: 展示 Host 和容器两个层次的监控数据. 展示历史变化数据. ?由于 cAdvisor 提供的操作界面略显简陋,而且需要在不同

collectd+influxDB+grafana搭建性能监控平台

collectd+influxDB+grafana搭建性能监控平台 前言 InfluxDB 是 Go 语言开发的一个开源分布式时序数据库,非常适合存储指标.事件.分析等数据:键值时间数据库性能还不错 collectd 是C 语言写的一个系统性能采集工具 Grafana 是纯 Javascript 开发的前端工具,用于访问 InfluxDB,自定义报表.显示图表等.V3.0以上版本支持zabbix 数据库,可以非常方便直接由zabbix_agent 采集数据. 1 环境信息 测试环境174,175