在 CentOS 7 上安装 Glances、InfluxDB 和 Grafana 进行监控
介绍
监控 CentOS 7 服务器的性能和健康状况对于维护其稳定性和优化其资源至关重要。在本文中,我们将探讨如何安装和配置 Glances、InfluxDB 和 Grafana——这三个强大的监控工具——来收集系统指标,将它们存储在数据库中,并实时可视化它们。
Glances:系统监控工具
Glances 是一款跨平台的系统监控工具,它提供了对各种系统指标的全面概述,例如 CPU 使用率、内存使用率、网络活动、磁盘 I/O 等等。要安装 Glances,请按照以下步骤操作:
步骤 1:更新系统
在安装任何新软件之前,更新系统软件包始终是一个好习惯。打开终端并运行以下命令:
sudo yum update
步骤 2:安装 Glances
系统更新完成后,通过运行以下命令安装 Glances:
sudo yum install glances
安装完成后,您可以通过执行以下命令启动 Glances:
glances
Glances 将在一个用户友好的界面中开始显示实时系统指标。
InfluxDB:时间序列数据库
InfluxDB 是一个高性能的开源时间序列数据库,非常适合存储和检索大量带时间戳的数据。它将作为 Glances 收集的系统指标的存储后端。以下是如何安装 InfluxDB 的步骤:
步骤 1:下载并安装 InfluxDB
要下载最新版本的 InfluxDB,请访问官方网站并获取适合 CentOS 7 的软件包。下载完成后,导航到软件包所在的目录,并使用以下命令安装 InfluxDB:
sudo yum localinstall influxdb_package.rpm
将 influxdb_package.rpm 替换为实际的软件包文件名。
步骤 2:启动并启用 InfluxDB
安装完成后,通过运行以下命令启动 InfluxDB 服务:
sudo systemctl start influxdb
要确保 InfluxDB 在系统启动时自动启动,请使用此命令启用服务:
sudo systemctl enable influxdb
步骤 3:配置 InfluxDB
要配置 InfluxDB,请使用文本编辑器打开 InfluxDB 配置文件:
sudo nano /etc/influxdb/influxdb.conf
在配置文件中,找到 [http] 部分并取消注释 bind-address 选项,指定服务器的 IP 地址或主机名。保存并关闭文件。
步骤 4:在 InfluxDB 中创建数据库
要创建 InfluxDB 中的新数据库,请打开终端并执行以下命令:
influx
这将打开 InfluxDB shell。在 shell 中,运行以下命令创建数据库:
CREATE DATABASE database_name
将 database_name 替换为您选择的名称。
Grafana:数据可视化工具
Grafana 是一个流行的开源数据可视化工具,允许您创建美观且交互式的仪表板来监控和分析各种指标。让我们安装 Grafana:
步骤 1:安装 Grafana
要安装 Grafana,请运行以下命令:
sudo yum install -y https://dl.grafana.com/oss/release/grafana_package.rpm sudo systemctl start grafana-server sudo systemctl enable grafana-server
步骤 2:访问 Grafana Web 界面
安装完成后,您可以通过打开 Web 浏览器并导航到 http://your_server_ip:3000 来访问 Grafana Web 界面。使用默认用户名和密码(admin/admin)登录,并在提示时更改密码。
步骤 3:配置 InfluxDB 数据源
登录 Grafana 后,通过以下步骤将 InfluxDB 添加为数据源:
单击左侧侧边栏上的齿轮图标以打开配置菜单。
从菜单中选择“数据源”。
单击“添加数据源”。
选择“InfluxDB”作为类型。
填写必需的详细信息,包括 URL、数据库名称和凭据。
单击“保存并测试”以确保连接成功。
步骤 4:创建仪表板
要创建 Grafana 仪表板,请单击左侧侧边栏上的加号图标,然后选择“仪表板”。在那里,您可以添加面板以可视化不同的指标并根据您的偏好自定义布局。
示例 1:监控 CPU 和内存使用情况
安装并启动 Glances 后,您将看到各种系统指标的全面概述。让我们重点关注监控 CPU 和内存使用情况。
输出
Load Average: 0.12, 0.08, 0.10 CPU Usage: 10% Memory Usage: 40%
在 Glances 界面中,您可以观察负载平均值,它表示特定时间段内的平均系统负载。CPU 使用率百分比表示 CPU 的利用率,而内存使用率百分比反映了消耗的 RAM 量。
示例 2:跟踪网络活动
Glances 提供有关网络活动的实时信息,包括传入和传出流量。
输出
Network Interface - eth0 - Received: 5.2 kB/s - Sent: 2.8 kB/s
此输出显示了网络接口 eth0,指示以千字节每秒 (kB/s) 为单位接收和发送的数据速率。它有助于监控网络使用情况并检测潜在的瓶颈。
示例 3:磁盘 I/O 监控
Glances 还提供了对磁盘 I/O 活动的见解,使您能够监控存储设备上的读写操作。
输出
Disk I/O - sda - Read: 50 kB/s - Write: 20 kB/s
此输出显示了存储设备 sda 的磁盘 I/O 指标。它显示了以千字节每秒 (kB/s) 为单位读取和写入数据的速率,使您能够识别磁盘性能问题并优化存储利用率。
示例 4:使用 Grafana 可视化指标
Grafana 提供了强大的仪表板功能,可以可视化 Glances 收集并存储在 InfluxDB 中的指标。让我们创建一个简单的 Grafana 仪表板来监控一段时间内的 CPU 和内存使用情况。

在此示例中,Grafana 仪表板显示了一条线形图,表示特定时间段内的 CPU 和内存使用情况。您可以通过添加其他面板、选择不同的可视化类型以及根据预定义阈值设置警报来自定义仪表板。
通过利用 Glances、InfluxDB 和 Grafana 的集成,您可以全面了解 CentOS 7 服务器的性能和健康状况,从而能够为系统优化、故障排除和容量规划做出明智的决策。
结论
监控 CentOS 7 服务器的性能对于维护其稳定性和确保最佳资源利用率至关重要。通过安装 Glances、InfluxDB 和 Grafana,您可以收集系统指标,将它们存储在时间序列数据库中,并实时可视化它们。有了这些强大的监控工具,您可以主动识别瓶颈、优化资源分配并确保 CentOS 7 服务器的平稳运行。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP