首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >服务器实时监控平台Telegraf+InfluxDB+Grafana

服务器实时监控平台Telegraf+InfluxDB+Grafana

作者头像
wangmcn
发布于 2022-07-26 15:11:27
发布于 2022-07-26 15:11:27
2.8K0
举报
文章被收录于专栏:AllTests软件测试AllTests软件测试

服务器实时监控平台

Telegraf+InfluxDB+Grafana

目录

  • 1、InfluxDB
    • 1.1、安装
    • 1.2、配置
    • 1.3、启动与查看状态
    • 1.4、创建数据库与帐户密码
  • 2、Telegraf
    • 2.1、安装
    • 2.2、配置
    • 2.3、启动与查看状态
    • 2.4、查看要监控的数据
  • 3、Grafana
    • 3.1、安装
    • 3.2、配置
    • 3.3、启动与查看状态
    • 3.4、访问登录
    • 3.5、创建数据源
    • 3.6、创建仪表板
  • 4、监控MySQL
    • 4.1、创建Telegraf配置文件(收集MySQL)
    • 4.2、重启Telegraf
    • 4.3、查看要监控的字段
    • 4.4、Grafana创建数据源
    • 4.5、Grafana导入监控模板

本篇主要讲解在CentOS环境下进行搭建部署

1、InfluxDB

InfluxDB是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。

类似的数据库有Elasticsearch、Graphite等。

下载地址:

https://portal.influxdata.com/downloads/

1.1、安装

代码语言:javascript
复制
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.9.x86_64.rpm
sudo yum localinstall influxdb-1.8.9.x86_64.rpm

1.2、配置

代码语言:javascript
复制
vim /etc/influxdb/influxdb.conf

1.3、启动与查看状态

1、启动

代码语言:javascript
复制
systemctl start influxdb.service

2、查看状态

代码语言:javascript
复制
systemctl status influxdb.service

如图所示:已启动

1.4、创建数据库与帐户密码

进入数据库

代码语言:javascript
复制
influx

创建数据库telegraf

代码语言:javascript
复制
create database telegraf

创建管理员admin,密码为admin

代码语言:javascript
复制
create user "admin" with password 'admin' with all privileges

创建普通用户telegraf,密码为telegraf

代码语言:javascript
复制
create user "telegraf" with password 'telegraf'

之后输入exit,退出即可。

2、Telegraf

Telegraf是一个插件驱动的服务器代理,用于收集和报告指标,并且是TICK Stack的第一部分。

Telegraf插件可以直接从它运行的系统中获取各种指标,从第三方API中提取指标,甚至通过statsd和Kafka消费者服务监听指标。它还具有输出插件,可将指标发送到各种其他数据存储、服务和消息队列,包括InfluxDB、Graphite、OpenTSDB、Datadog、Librato、Kafka、MQTT、NSQ等。

下载地址:

https://portal.influxdata.com/downloads/

2.1、安装

代码语言:javascript
复制
wget https://dl.influxdata.com/telegraf/releases/telegraf-1.19.3-1.x86_64.rpm
yum install -y telegraf-1.19.3-1.x86_64.rpm

2.2、配置

代码语言:javascript
复制
vim /etc/telegraf/telegraf.conf

修改outputs.influxdb区域:

2.3、启动与查看状态

1、启动

代码语言:javascript
复制
systemctl start telegraf

2、查看状态

代码语言:javascript
复制
systemctl status telegraf

如图所示:已启动

2.4、查看要监控的数据

代码语言:javascript
复制
[root@centos-linux ~]# influx
Connected to http://localhost:8086 version 1.8.9
InfluxDB shell version: 1.8.9
> show databases
name: databases
name
----
_internal
jmeter
telegraf
> use telegraf
Using database telegraf
> show measurements
name: measurements
name
----
cpu
disk
diskio
kernel
mem
processes
swap
system

或者可以使用InfluxDB Studio客户端连接工具来查询数据库

如图所示:

3、Grafana

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。

下载地址:

https://grafana.com/grafana/download

3.1、安装

代码语言:javascript
复制
wget https://dl.grafana.com/oss/release/grafana-8.1.2-1.x86_64.rpm
sudo yum install grafana-8.1.2-1.x86_64.rpm

3.2、配置

代码语言:javascript
复制
vim /etc/grafana/grafana.ini

3.3、启动与查看状态

1、启动

代码语言:javascript
复制
systemctl start grafana-server.service

2、查看状态

代码语言:javascript
复制
systemctl status grafana-server.service

如图所示:已启动

3.4、访问登录

打开浏览器,访问地址http://IP:3000,出现如下界面,说明Grafana服务启动成功。

输入用户名和密码,均为“admin”,登录即可。

注:如果无法访问,检查一下防火墙设置。

解决方法:

方式一(关闭防火墙)

代码语言:javascript
复制
systemctl stop firewalld

方式二(开启防火墙,添加开放的端口)

(1)开启防火墙

代码语言:javascript
复制
systemctl start firewalld

(2)添加开放端口(例如端口3000)

代码语言:javascript
复制
firewall-cmd --zone=public --add-port=3000/tcp --permanent

(3)更新防火墙规则

代码语言:javascript
复制
firewall-cmd --reload

防火墙相关命令:

  • 开启防火墙
代码语言:javascript
复制
systemctl start firewalld
  • 关闭防火墙
代码语言:javascript
复制
systemctl stop firewalld
  • 查看防火墙状态
代码语言:javascript
复制
systemctl status firewalld.service
  • 查看已开放的端口
代码语言:javascript
复制
firewall-cmd --list-ports
  • 添加开放端口,例如3000(开放后需要更新规则才能生效)
代码语言:javascript
复制
firewall-cmd --zone=public --add-port=3000/tcp --permanent
  • 更新防火墙规则
代码语言:javascript
复制
firewall-cmd --reload

3.5、创建数据源

方式一:首页直接点击数据源

方式二:左侧选择配置-数据源

选择InfluxDB作为数据源。

填写配置信息:

Name:自定义名称

URL:当InfluxDB和Grafana安装到同一台服务器上,可写localhost

Database:匹配安装InfluxDB时,所创建的数据库与帐户密码

之后点击保存即可。

3.6、创建仪表板

方式一:首页直接点击仪表板

方式二:左侧选择创建-仪表板

新增面板区域。

之后点击Add an empty panel,添加一个空面板,并根据实际情况配置仪表板。

设置数据源,添加不同的指标(cpu、内存、磁盘、网络流量等)。

例如监控服务器的cpu,添加指标:

用户cpu占用,系统cpu占用,iowait(系统因为io导致的进程wait)占用

设置百分比占用显示

自定义仪表板名字,之后保存即可。

仪表板创建完成,并开始监控已设置的指标。

4、监控MySQL

4.1、创建Telegraf配置文件(收集MySQL)

代码语言:javascript
复制
vim /etc/telegraf/telegraf.d/telegraf_mysql.conf

添加如下内容:

代码语言:javascript
复制
[[outputs.influxdb]]
  database = "mysql_metrics"  # 数据库名称,采集的数据都放在此库中
  urls = ["http://127.0.0.1:8086"] # InfluxDB数据库地址
  namepass = ["*_mysql"]
  username = "telegraf"
  password = "telegraf"
 
[[inputs.mysql]]
  servers = ["root:123456qwe!@tcp(localhost:3306)/?tls=false"] # MySQL用户名、密码以及连接MySQL的地址
  name_suffix = "_mysql"  # 名称后缀

4.2、重启Telegraf

代码语言:javascript
复制
systemctl restart telegraf

4.3、查看要监控的字段

代码语言:javascript
复制
[root@centos-linux ~]# influx
Connected to http://localhost:8086 version 1.8.9
InfluxDB shell version: 1.8.9
> show databases
name: databases
name
----
_internal
jmeter
telegraf
mysql_metrics
> use mysql_metrics
Using database mysql_metrics
> show measurements
name: measurements
name
----
mysql_mysql
> show field keys from mysql_mysql
name: mysql_mysql
fieldKey fieldType
-------- ---------
aborted_clients integer
aborted_connects integer
bytes_received integer
bytes_sent integer
commands_admin_commands integer
commands_alter_db integer
commands_alter_event integer
commands_alter_function integer
commands_alter_instance integer
commands_alter_procedure integer
commands_alter_resource_group integer
commands_alter_server integer
commands_alter_table integer
commands_alter_tablespace integer
commands_alter_user integer
commands_alter_user_default_role integer

或者可以使用InfluxDB Studio客户端连接工具来查询数据库

如图所示:

4.4、Grafana创建数据源

登陆Grafana,创建数据源(选择InfluxDB作为数据源)

填写配置信息:

Name:自定义名称

URL:当InfluxDB和Grafana安装到同一台服务器上,可写localhost

Database:匹配Telegraf配置文件(telegraf_mysql.conf),所创建的数据库与帐户密码。

之后点击保存即可。

4.5、Grafana导入监控模板

官方模板库

https://grafana.com/grafana/dashboards

按条件进行搜索,点击进入模板(例如第二个模板)。

点击Download JSON,下载此模板的Json文件。

打开Grafana,点击Import。

选择已下载完成的模板Json文件。

配置完成后,点击Import即可。

仪表板创建完成

监控效果图:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-22,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 目录
  • 1.1、安装
  • 1.2、配置
  • 1.3、启动与查看状态
  • 1.4、创建数据库与帐户密码
  • 2.1、安装
  • 2.2、配置
  • 2.3、启动与查看状态
  • 2.4、查看要监控的数据
  • 3.1、安装
  • 3.2、配置
  • 3.3、启动与查看状态
  • 3.4、访问登录
  • 3.5、创建数据源
  • 3.6、创建仪表板
  • 4.1、创建Telegraf配置文件(收集MySQL)
  • 4.2、重启Telegraf
  • 4.3、查看要监控的字段
  • 4.4、Grafana创建数据源
  • 4.5、Grafana导入监控模板
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档