快!5分钟快速完成监控系统搭建之实践篇

简介: 监控告警系统是每一家企业都需要的系统。系统的监控运维告警可以帮助企业快速发现系统故障,定位故障和处理故障,对企业业务稳定性起到至关重要的作用。业务监控系统可以实时进行业务告警,进行业务趋势的分析和判断,对于数据化运营起到重要的帮助。

image.png

前言

监控告警系统是每一家企业都需要的系统。系统的监控运维告警可以帮助企业快速发现系统故障,定位故障和处理故障,对企业业务稳定性起到至关重要的作用。业务监控系统可以实时进行业务告警,进行业务趋势的分析和判断,对于数据化运营起到重要的帮助。

阿里云InfluxDB 提供了一整套快速搭建监控系统的组件和功能,可以帮助企业快速搭建监控系统。2019年8月商业化以来,依靠稳定可靠的服务能力和免运维等特性,在监控领域受到很多用户关注,近期更是进行了重磅升级,集成了Grafana可视化服务。

正文内容

本文将以Linux系统指标监控为例,展示如何基于阿里云InfluxDB®服务快速搭建一个监控系统。这里假设用户已经购买了阿里云InfluxDB®实例,并且创建了名为telegraf的数据库以及管理员账号admin(也可以使用对该库有读写权限的非管理员账号)。如果您还没有开启阿里云InfluxDB®服务,可以戳这里购买,数据库和账号如何创建请参考阿里云文档

基于阿里云InfluxDB搭建监控系统可以分为二个简单的步骤即可完成。
1 配置数据源
2 配置Grafana 仪表盘

接下来,我们就开始基于这两个步骤快速实践一下。 出于展示目的,本文使用的操作系统为CentOS 7,yum作为包管理工具,Ubuntu/Debian用户可以用dpkg等工具完成类似操作。接下来我们实际操作一下。

配置数据采集

主机的系统监控需要安装telegraf作为agent进行指标采集。telegraf是开源的指标采集工具,内用占用小,安装部署简便,下面几部就可以完成。如果有多台主机需要监控,在每台主机上执行下面的步骤即可,在最后的监控仪表盘总可以使用下来列表来选择主机信息。

Step 1: 安装telegraf

这里使用的是当前的最新稳定版本telegraf 1.12.4:

yum install -y https://dl.influxdata.com/telegraf/releases/telegraf-1.12.4-1.x86_64.rpm

 

Step 2: 配置telegraf

Telegraf配置文件的路径为/etc/telegraf/telegraf.conf,使用文本编辑器(比如vim)对这个文件进行编辑,配置内容如下:

# 采集插件
[[inputs.cpu]]  
  percpu = true
  totalcpu = true
  collect_cpu_time = false

[[inputs.disk]]
  mount_points = ["/"]
  ignore_fs = ["tmpfs", "devtmpfs"]

[[inputs.diskio]]
  devices = ["vda"] # 这里配置需要采集的磁盘设备

[[inputs.kernel]]

[[inputs.mem]]

[[inputs.processes]]

[[inputs.swap]]

[[inputs.system]]

[[inputs.net]]
  interfaces = ["eth0"]

[[inputs.netstat]]

# influxdb 配置
[[outputs.influxdb]]
  urls = ["https://ts-xxxxxxxxxx.influxdata.rds.aliyuncs.com:3242"] # influxdb实例的公网访问地址 
  database = "telegraf"
  username = "admin"
  password = "yourpassword"

注意在[[outputs.influxdb]]部分设置阿里云InfluxDB®实例的访问地址,数据写入的数据库名,以及访问数据库的账号信息。

Step 3: 启动telegraf

配置文件编辑保存好,使用下面的命令启动telegraf服务,主机指标数据就可以写入到InfluxDB®中了

systemctl start telegraf.service

配置Grafana

Grafana是流行的开源时序分析平台,采用go语言编写,当前活跃安装数高达40万,可以说是监控场景的标配组件了。Grafana支持多种流行的数据源,比如InfluxDB、Prometheus、OpentTSDB、Graphite等;可视化方面Grafana提供了酷炫的图表,用户可以动态创建仪表盘(dashboard),支持模板变量作为下拉列表;数据探索(Explore)页面允许用户使用ad-hoc查询在数据源上进行数据分析,并且提供了语句自动补全等贴心功能;支持邮件、webhook等多种报警通道,用户可以自定义报警规则。
阿里云将Grafana监控可视化与InfluxDB®的存储分析能力无缝对接,让用户无需部署和运维就可以在快速搭建一个监控系统,并且不需要支付额外费用。

Step 4: 配置Grafana数据源源

要使用Grafana,需要配置与InfluxDB®数据库相关联的数据源,我们在telegraf库上创建一个名为my-datasource的数据源,具体步骤参考文档,这里不重复了。

Step 5: 创建仪表盘

用户可以使用查询语句创建仪表盘,为每个panel定义查询语句和展示方式;实际上多数场景下不需要这么麻烦,因为官方社区中有很多优秀的仪表盘模板(https://grafana.com/grafana/dashboards),可以很好的满足需求。
比如我们要配置的Linux主机监控,可以直接使用Linux System Overview  这个仪表盘:

image.png

而我们要做的只是记住2381这个dashboard ID。

从阿里云InfluxDB®控制台打开Grafana访问地址,登录之后即可进入仪表盘管理界面:

image.png

在仪表盘管理界面,点击Import按钮进入Import页面,输入这个ID即可:

image.png




输入ID后,Grafana会自动识别,进入选项页面,进行数据源的配置,这里我们选择之前创建好的数据源 my-datasource
image.png


然后点击Import,仪表盘就创建好了!

image.png

总结

本文展示了如何基于阿里云InfluxDB®服务快速搭建一个主机监控系统,指标数据通过telegraf进行采集,数据写入到InfluxDB®进行存储,Grafana作为前端进行可视化展示,用户也可以根据自己的需求在Grafana配置报警。阿里云InfluxDB®提供的Grafana服务为用户降低了运维和硬件成本,与InfluxDB的存储分析能力相得益彰,为监控领域的用户提供了一个绝佳的选择。

更新: 近期阿里云InfluxDB®推出了一元购优惠活动,新用户可以首月一元体验,规格选择4c16g即可:

image

参考文档

目录
相关文章
|
算法 测试技术 定位技术
数据结构与算法——DFS(深度优先搜索)
数据结构与算法——DFS(深度优先搜索)
|
缓存 JSON 前端开发
Web项目中,常用的几种清理浏览器缓存的方式
Web项目中,常用的几种清理浏览器缓存的方式
590 0
|
数据中心 运维 网络协议
|
4月前
|
人工智能 自然语言处理 数据可视化
2025 数字人短视频工具全景指南:从场景落地到高效选型
在内容创作工业化的 2025 年,数字人短视频工具已突破技术瓶颈,成为营销、教育、跨境电商等领域的 “生产力核心”。从个人创作者的轻量化需求,到企业级的合规化部署,不同场景对工具的功能、成本、技术适配性提出了差异化要求。本文梳理 10 款主流工具的核心价值,并提供可落地的选型方案,助力用户抢占短视频流量红利。
|
3月前
|
JSON 监控 API
京东商品列表API实战:关键词搜索与数据获取全指南
京东商品列表API是京东开放平台的核心接口,支持通过关键词搜索获取商品数据,适用于电商分析、竞品监控等场景。具备分类筛选、价格区间、多维度排序和分页功能,采用HTTPS请求,返回JSON格式数据,包含商品ID、名称、价格、销量等信息,支持高并发与实时更新。
|
存储 缓存 NoSQL
Redis多级缓存指南:从前端到后端全方位优化!
本文探讨了现代互联网应用中,多级缓存的重要性,特别是Redis在缓存中间件的角色。多级缓存能提升数据访问速度、系统稳定性和可扩展性,减少数据库压力,并允许灵活的缓存策略。浏览器本地内存缓存和磁盘缓存分别优化了短期数据和静态资源的存储,而服务端本地内存缓存和网络内存缓存(如Redis)则提供了高速访问和分布式系统的解决方案。服务器本地磁盘缓存因I/O性能瓶颈和复杂管理而不推荐用于缓存,强调了内存和网络缓存的优越性。
1440 47
|
安全 Linux 数据安全/隐私保护
深入理解 Linux 文件系统的权限控制
【5月更文挑战第5天】本文旨在详细解析 Linux 操作系统中文件系统权限的核心机制。通过分析用户、组和其他人在文件及目录上拥有的读、写、执行权限,我们探讨了如何实现对系统资源的精确控制。文章还将介绍如何使用命令行工具来修改和管理这些权限,以及权限如何在安全策略和系统管理中扮演关键角色。
|
前端开发 JavaScript
前端 TS 快速入门之三:class 类
前端 TS 快速入门之三:class 类
382 1
|
SQL 数据处理
SQL 能力问题之合并两个存在交叉的日期区间,如何解决
SQL 能力问题之合并两个存在交叉的日期区间,如何解决
|
JavaScript Java 测试技术
基于springboot+vue.js的库存管理系统附带文章和源代码设计说明文档ppt
基于springboot+vue.js的库存管理系统附带文章和源代码设计说明文档ppt
280 0