教你搭建一个Telegraf+Influxdb+Grafana 监控系统

Posted 华为云开发者联盟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了教你搭建一个Telegraf+Influxdb+Grafana 监控系统相关的知识,希望对你有一定的参考价值。

摘要:本文利用华为HECS云服务器进行监控系统部署。

本文分享自华为云社区《使用华为HECS云服务器打造Telegraf+Influxdb+Grafana 监控系统【华为云至简致远】》,作者: kaliarch 。

一 背景

在所有现有的现代监控工具中,TIG(Telegraf、InfluxDB和Grafana)可能是最受欢迎的工具之一。

该堆栈可用于监视大量不同的数据源:从操作系统(如Linux或Windows性能指标)到数据库(如MongoDB或mysql),Telegraf是一个负责收集和聚合数据的代理,例如当前的CPU使用情况。InfluxDB将存储数据,并将其公开给Grafana,这是一种现代的仪表板解决方案。

本文利用华为HECS云服务器进行监控系统部署。

二 华为HECS主机开通

云耀云服务器(Hyper Elastic Cloud Server)是一种可以快速搭建且易于管理的新一代云服务器,提供从1核1G到8核32G的套餐并匹以相对的磁盘空间和公有云带宽, 助力中小企业便捷高效的在云端构建电商网站、Web应用、小程序、APP和各类开发测试、学习环境,相比普通云服务器更加简单易用(3步即可完成购买),提供极简上云体验。

  • 便捷易用效率高

易开通,易搭建,易管理,一站式提升用户使用效率和体验:由华为瑶光智慧云脑提供技术支持,更优算力,稳定用云,更懂用户。

  • 弹性灵活配置优

根据业务诉求,灵活变化规格,无需手动输入参数;快速匹配业务与投入,带来更好地投资收益和极致体验。

在北京一区开通一台2C4G的按量云服务器,进行监控系统部署。

系统为CenOS7.8

​ 选择VPC与交换机,并选择安全组,勾选公网IP

配置云服务器名称与用户名密码。

确认配置进行购买。

利用mac终端ssh连接云服务器进行测试。

至此华为云服务器已开通完成,接下来进行监控系统配部署。

三 组件

在进行监控系统部署前先了解下各组件。

3.1 Telegraf

Telegraf是一个基于服务器的代理,从数据库、系统和物联网传感器收集和发送度量和事件。Telegraf用Go编写,编译成一个没有外部依赖的二进制文件–需要非常少的内存,相当于监控指标采集Agent。

3.2 Influxdb

InfluxDB是一个由InfluxData开发的开源时序型数据库,专注于海量时序数据的高性能读、高性能写、高效存储与实时分析等,在DB-Engines Ranking时序型数据库排行榜上排名第一,广泛应用于DevOps监控、IoT监控、实时分析等场景。

强大完整的生态,TICK是一个集成了采集、存储、分析、可视化等能力的开源时序中台,由Telegraf、 InfluxDB、Chronograf、Kapacitor 4个组件以一种灵活松散组合、但紧密配合互为补充的方式构成,各个模块项目配合、互为补充,专注于DevOps监控、IoT监控、实时分析等场景。

3.3 Grafana

Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。目前使用grafana的公司有很多,如paypal、ebay、intel等。

四 监控系统部署

利用xshell连接云服务器公网IP。

4.1 InfluxDB部署

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \\$releasever
baseurl = https://repos.influxdata.com/rhel/\\$releasever/\\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF

sudo yum install influxdb
sudo systemctl start influxdb

4.2 Grafana部署

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.5.4-1.x86_64.rpm
sudo yum install grafana-enterprise-8.5.4-1.x86_64.rpm
systemctl start grafana-server

4.3 Telegraf部署

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxData Repository - Stable
baseurl = https://repos.influxdata.com/stable/\\$basearch/main
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF

sudo yum install telegraf
telegraf config > telegraf.conf

五 监控系统配置

5.1 创建库

登录influxdb创建telegraf库

创建用户。

/etc/influxdb/influxdb.conf 启用认证

[http]
  # Determines whether HTTP endpoint is enabled.
  enabled = true
 
  # The bind address used by the HTTP service.
  bind-address = ":8086"

  # Determines whether user authentication is enabled over HTTP/HTTPS.
  auth-enabled = true

5.2 配置telegraf将数据存储在influxdb中

编辑/etc/telegraf/telegraf.conf

  • 启用认证
## HTTP Basic Auth
  username = "telegraf"
  password = "password"

5.3 配置Grafana

启动grafana后修改密码,添加influxdb数据源,添加dashboard。

使用5955进行dashboard导入。

其他

  • 再次influxdb未配置用户名密码,生产环境应配置。
  • 应该针对telegraf进行配置过滤指标已适应业务。
  • 需要在云服务器安全组开发grafana 3000端口,进行外部测试。

华为伙伴暨开发者大会2022火热来袭,大会采用线上直播+线下80余个分会场联动的形式,聚焦伙伴和开发者最为关切的话题、释放更多潜力,携手伙伴共同成就。

【精彩活动】

勇往直前·做全能开发者→12场技术直播前瞻,8大技术宝典高能输出,还有代码密室、知识竞赛等多轮神秘任务等你来挑战。即刻闯关,开启终极大奖!戳【勇往直前】踏上全能开发者晋级之路吧!

【技术专题】

未来已来,2022技术探秘→聚焦华为各领域的前沿技术、重磅开源项目、创新应用实践。站在智能世界的入口,探索未来如何照进现实,干货满满点击了解

点击关注,第一时间了解华为云新鲜技术~

开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于教你搭建一个Telegraf+Influxdb+Grafana 监控系统的主要内容,如果未能解决你的问题,请参考以下文章

搭建grafana+influxdb+telegraf,以及常见问题

Linux服务器监控:Grafana+InfluxDB+Telegraf监控平台搭建

[docker] 用influxDB & Grafana & Telegraf & Jmeter搭建服务监控平台

Grafana+Telegraf+Influxdb监控Tomcat集群方案

Grafana+Telegraf+Influxdb监控Tomcat集群方案

[原创]Nginx监控-Nginx+Telegraf+Influxb+Grafana