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

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

前言

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

阿里云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  这个仪表盘:

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

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

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

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

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

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




输入ID后,Grafana会自动识别,进入选项页面,进行数据源的配置,这里我们选择之前创建好的数据源 my-datasource
快!5分钟快速完成监控系统搭建之实践篇


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

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

总结

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

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

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

参考文档

上一篇:深度学习入门笔记系列 ( 二 )


下一篇:排序算法(七):快速排序