Telegraf+InfluxDB+Grafana实时运维监控


Telegraf+InfluxDB+Grafana的整体架构

在这里插入图片描述


InfluxDB

一、InfluxDB下载和安装

1.1、Influx的下载安装

这里选用InfluxDB1.8.4的版本

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.4.x86_64.rpm
sudo yum localinstall influxdb-1.8.4.x86_64.rpm


在这里插入图片描述

1.2、InfluxDB的配置

1、配置文件路径:/etc/influxdb/influxdb.conf
①禁用信息收集
InfluxDB每个24小时会收集使用信息,这如同是一一个后门,必须关掉!
在这里插入图片描述
②禁用每个数据库的序列个数
如果时间序列比较多,需要将该项设置为0,否则会导致时间序列写不到数据库中。
在这里插入图片描述
③禁用每个维度最多维度值个数
如果某个维度对应的纬度值特别多(一般是维度值设置错误,比如把时间当维度值),需要将该项设置为0, 否则会导致该维度上的纬度值写不进去。
在这里插入图片描述

二、InfluxDB的使用

启动InfluxDB:     sudo systemctl start influxd
查看InfluxDB状态:  sudo systemctl status influxd

在这里插入图片描述
在这里插入图片描述

2.1、数据库操作

①进入数据库

cd /usr
bin/influx

在这里插入图片描述
②显示数据库

show databases 

在这里插入图片描述
_internal为内置库
③创建数据库

create database 数据库名

在这里插入图片描述
④删除数据库

drop database 数据库名 

在这里插入图片描述
⑤使用数据库

use 数据库名

在这里插入图片描述

2.2、数据保留策略

①保留策略语法

CREATE RETENTION POLICY <retention_policy_name> ON <database_name> DURATION 
<duration> REPLICATION <n> [SHARD DURATION <duration>] [DEFAULT] 

②创建数据保留策略

CREATE RETENTION POLICY "influx_retention" ON "influxdb" DURATION 30d 
REPLICATION 1 DEFAULT; 

③查看保留期

SHOW RETENTION POLICIES ON influxdb 

④修改保留期

ALTER RETENTION POLICY "influx_retention" ON influxdb DURATION 15d 

⑤删除保留期

DROP RETENTION POLICY "influx_retention" ON influxdb

2.3、表增删查操作

①显示所有表

show measurements

②插入数据 (顺序为:表名(不存在则直接新建)+tag的key和value,field的key和value。注意中间的空格。)

use influxdb 
insert weather,altitude=1000,area=北 temperature=11,humidity=-4 
insert weather,altitude=500,area=北 temperature=18,humidity=5 
insert weather,altitude=1000,area=南 temperature=12,humidity=-5 
insert weather,altitude=500,area=南 temperature=25,humidity=7

③查询表

select * from weather

设置一下时间显示格式

precision rfc3339 

在这里插入图片描述
④显示tag

show tag keys from weather

在这里插入图片描述
⑤显示field

show field keys from weather

在这里插入图片描述
distinct的字段仅是field 不能是tag
在这里插入图片描述
当distinct的字段是tag时,查询不到数据
⑦group by仅是tag 不能是field
在这里插入图片描述
当group by查询字段为field时 会把整表打印出来 tag值为空
在这里插入图片描述
⑧删除表

DROP MEASUREMENT 表名 

2.4、用户操作

①显示用户

show users 

在这里插入图片描述
②创建用户
【普通用户】创建用户并设置密码

CREATE USER 用户名 WITH PASSWORD '密码'; 

在这里插入图片描述
【管理员用户】

create user "用户名" with password '密码' with all privileges;

在这里插入图片描述
③ 修改用户密码

SET PASSWORD FOR 用户 = '新密码' 

在这里插入图片描述

④删除用户

drop user admin;

在这里插入图片描述
3.4、数据库访问权限
①用户授权
授权用户数据库操作权限

GRANT ALL PRIVILEGES ON 数据库名 TO 用户名(只针对某个数据库赋予操作权限)

赋予用户管理员权限

GRANT ALL PRIVILEGES TO 用户名(赋予此用户对所有表的操作权限)

在这里插入图片描述
②撤销授权
撤销用户数据库操作权限

Revoke ALL PRIVILEGES ON 数据库名 FROM 用户名

撤销用户管理员权限

Revoke ALL PRIVILEGES FROM 用户名

在这里插入图片描述

2.5、开启用户登录认证

①开启登录认证
在Influxdb 配置文件influxdb.conf中,开启用户登录认证,添加如下内容:

auth-enabled = true 

在这里插入图片描述
②开启认证后无密码登录

bin/influx

在这里插入图片描述
③开启认证后有密码登录

bin/influx -username 用户名 -password 密码

在这里插入图片描述

Grafana

一、Grafana是什么

①多种展示方式:热图,折线图,图表等
②多种数据源:
Graphite:时间序列 图形系统
③InfluxDB
Opentsdb:基于HBase
Prometheus:开源 服务监控系统和时序数据库
ElasticSearch,elk
④多种通知提醒:
Email,SMS,钉钉
⑤混合展示:
同一个图表中,混合使用不同的数据源

二、Grafana的下载、安装和使用

2.1、Grafana的下载、安装

这里选用的9.1.2的版本https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.1.2-1.x86_64.rpm
sudo yum install grafana-enterprise-9.1.2-1.x86_64.rpm

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

2.2、开启Grafana服务

①开启服务

systemctl start grafana-server

在这里插入图片描述
②查看端口验证(Grafana默认监听3000端口)

netstat -tulnp |grep 3000

在这里插入图片描述
注:我是因为用的云服务器需要在安全组开放3000端口,否则会连接不上
在这里插入图片描述

2.3、浏览器访问并配置Grafana

①打开浏览器输入 IP:3000 访问在这里插入图片描述
②访问成功之后输入默认的用户名和密码登录
默认的用户名和密码均为:admin
在这里插入图片描述
3.4 成功访问grafana主页
在这里插入图片描述

2.4、Grafana添加InfluxDB数据源

第一步:点击图示红框位置添加你的第一个数据源
在这里插入图片描述
第二步:点击InfluxDB,如果当前页面没有找到,可以在上面搜索框直接搜
在这里插入图片描述
第三步:给此链接起个名字
在这里插入图片描述
第四步:
URL:写Influx所在主机的ip加上端口号 如:http://192.168.1.1:8086
ACCESS:选Server
下面两个不填
在这里插入图片描述
第五步:
如果之前创建了InfluxDB新用户就把Basic auth打开并在下面填上用户名跟密码
在这里插入图片描述
第六步:
Database:填写所要使用的数据库名
User:Grafana的用户名
Password:Grafana的密码
HttpMethod:选择GET
在这里插入图片描述
第七步:在这里插入图片描述
第八步:点击Back返回首页

2.5、添加DASHBOARDS仪表盘

第一步:点击图示红框位置添加仪表盘
在这里插入图片描述
第二步:
在这里插入图片描述
第三步:

在这里插入图片描述
建议用SQL进行查询,理由不用我说了吧!
在这里插入图片描述
在这里插入图片描述
注:因为现在还没有用Telegraf采集实时数据,可以用Java写一个实时随机生成的假数据来充当实时数据
Java代码链接:https://wwc.lanzout.com/iD0Yq0b823di
密码:6666
在这里插入图片描述
可以根据自己的需求换一下数据格式

Telegraf

一、Telegraf是什么

Telegraf 是一个用 Go 编写的代理程序,可收集系统和服务的统计数据,并写入到InfluxDB 数据库。内存占用小,通过插件系统可轻松添加支持其他服务的扩展。
Telegraf metric是用于在处理期间对数据建模的内部表示。这些指标完全基于InfluxDB的数据模型,包含四个主要组件:
度量名称(Measurement)
标签(tags)
字段(Field)
时间戳(time)
在这里插入图片描述

二、为什么要用Telegraf

Telegraf 可以采集多种组件的运行信息包括cpu、memory等,不需要自己手动写定时脚本采集,降低了数据获取的难点
Telegraf使用配置比较简单
Telegraf按照时间序列采集数据
轻量级,占用内存小

三、Telegraf的下载、安装、配置和使用

3.1、Telegraf的下载和安装

这里选用Telegraf1.23版本https://docs.influxdata.com/telegraf/v1.23/install/?t=RedHat+%26amp%3B+CentOS
在这里插入图片描述

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

在这里插入图片描述在这里插入图片描述

3.2、Telegraf的配置

修改配置将数据输出到InfluxDB

vi /etc/telegraf/telegraf.conf

在这里插入图片描述

3.3.Telegraf的使用

①重启 telegraf 服务,使配置文件生效

service telegraf restart

在这里插入图片描述
②启动telegraf(Linux 不同系统服务的启动方式不同)

systemctl start telegraf

在这里插入图片描述
③查看telegraf的状态

systemctl status telegraf

在这里插入图片描述
④关闭telegraf

systemctl stop telegraf

在这里插入图片描述

上述操作全部完成后可进入Influxdb查看是否采集到系统数据
在这里插入图片描述
随便查看CPU的前10条数据可以看到已经有数据被采集到InfluxDB中了
在这里插入图片描述

Telegraf+InfluxDB+Grafana实时运维监控大屏

去这个网址下载一个DashBoard https://grafana.com/grafana/dashboards/?dataSource=influxdb&collector=telegraf
第一步:
在这里插入图片描述
第二步:
在这里插入图片描述
第三步:选择导入,导入刚下载的JSON文件
在这里插入图片描述
第四步:上述操作完成后就可以看到实时监控的大屏
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值