服务器实时监控平台Telegraf+InfluxDB+Grafana
作者:互联网
本篇主要讲解在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,有人陪伴,不会孤单
如果文章对你有帮助的,请帮我点赞收藏,这样我才有动力继续更新下去!
推荐阅读
当过服务员、快递员,现在年薪30W,历尽山河叛逆少年终会成长
公司新来的阿里p8,看了我做的APP和接口测试,甩给了我这份文档
标签:Telegraf,commands,telegraf,InfluxDB,Grafana,systemctl,mysql,integer 来源: https://blog.csdn.net/weixin_54696666/article/details/120914404