ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-10-22 23:01:33  阅读:438  来源: 互联网

标签:Telegraf commands telegraf InfluxDB Grafana systemctl mysql integer


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

1、InfluxDB

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

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

下载地址:

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

1.1、安装

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、配置
vim /etc/influxdb/influxdb.conf


1.3、启动与查看状态

1、启动

systemctl start influxdb.service

2、查看状态

systemctl status influxdb.service

如图所示:已启动


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

进入数据库

influx

创建数据库telegraf

create database telegraf

创建管理员admin,密码为admin

create user "admin" with password 'admin' with all privileges

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

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、安装

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、配置

vim /etc/telegraf/telegraf.conf

修改outputs.influxdb区域:


2.3、启动与查看状态

1、启动

systemctl start telegraf

2、查看状态

systemctl status telegraf

如图所示:已启动

2.4、查看要监控的数据

[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、安装

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、配置

vim /etc/grafana/grafana.ini


3.3、启动与查看状态

1、启动

systemctl start grafana-server.service

2、查看状态

systemctl status grafana-server.service

如图所示:已启动

在这里插入图片描述
3.4、访问登录
打开浏览器,访问地址http://IP:3000,出现如下界面,说明Grafana服务启动成功。

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


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

解决方法:

方式一(关闭防火墙)

systemctl stop firewalld

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

(1)开启防火墙

systemctl start firewalld

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

firewall-cmd --zone=public --add-port=3000/tcp --permanent

(3)更新防火墙规则

firewall-cmd --reload

防火墙相关命令:

开启防火墙

systemctl start firewalld

关闭防火墙

systemctl stop firewalld

查看防火墙状态

systemctl status firewalld.service

查看已开放的端口

firewall-cmd --list-ports

添加开放端口,例如3000(开放后需要更新规则才能生效)

firewall-cmd --zone=public --add-port=3000/tcp --permanent

更新防火墙规则

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)

vim /etc/telegraf/telegraf.d/telegraf_mysql.conf

添加如下内容:

[[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

systemctl restart telegraf

4.3、查看要监控的字段

[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即可。


仪表板创建完成

监控效果图:

在这里插入图片描述

我也整理了一些软件测试的学习资料

以上资料,对于学软件测试的小伙伴来说应该会很有帮助,希望也能帮助到你。需要的小伙伴可以关注我微信公众号:程序员二黑,免费获取!

学习软件测试是件需要坚持的事情,学习的过程可能会很枯燥,不过有一些人一起学的话大概就不会了吧,加入我们,跟我们一起学习,群号:785128166,有人陪伴,不会孤单

如果文章对你有帮助的,请帮我点赞收藏,这样我才有动力继续更新下去!

推荐阅读

在职阿里6年,一个29岁女软件测试工程师的心声

当过服务员、快递员,现在年薪30W,历尽山河叛逆少年终会成长

公司新来的阿里p8,看了我做的APP和接口测试,甩给了我这份文档

标签:Telegraf,commands,telegraf,InfluxDB,Grafana,systemctl,mysql,integer
来源: https://blog.csdn.net/weixin_54696666/article/details/120914404

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有