安装 Glances、InfluxDB 和 Grafana 以监控 CentOS 7
Glances 是一款免费的开源、现代、跨平台、实时 top 和 htop 类监控工具,具有高级功能。它可以在不同的模式下运行:作为独立模式、在客户端/服务器模式下和 Web 服务器模式。
InfluxDB 是一个开源且可扩展的时间序列数据库,用于指标、事件和实时分析。
Grafana 是一款开源、功能丰富、功能强大、优雅且高度可扩展的跨平台工具,用于监控和指标分析,具有美观且可自定义的仪表板。它是事实上的数据分析软件。
在本文中,我们将解释如何安装和配置 Glances、InfluxDB 和 Grafana 以监控 CentOS 7 服务器的性能。
第 1 步:在 CentOS 7 中安装 Glances
1. 首先使用 PIP 安装最新的稳定版 Glances (v2.11.1)。如果您没有 pip,请按如下方式安装,包括安装 psutil 所需的 Python-headers。
# yum install python-pip python-devel
2. 获得 PIP 和 Python 标头后,运行以下命令以安装 glances 的最新稳定版本并验证版本。
# pip install glances
glances -V
Glances v2.11.1 with psutil v5.4.7
或者,如果您已经安装了 glances,则可以使用以下命令将其升级到最新版本。
# pip install --upgrade glances
3. 现在您需要通过 systemd 启动 glances,以便它作为服务运行。通过在 /etc/systemd/system/ 中创建名为 glances.service 的文件来创建新单元。
# vim /etc/systemd/system/glances.service
将以下配置复制并粘贴到文件 glances.service 中。--config 指定配置文件,--export-influxdb 选项告诉 glances 将统计数据导出到 InfluxDB 服务器,--disable-ip 选项禁用 IP 模块。
[Unit]
Description=Glances
After=network.target influxd.service
[Service]
ExecStart=/usr/bin/glances --config /home/admin/.config/glances/glances.conf --quiet --export-influxdb --disable-ip
Restart=on-failure
RestartSec=30s
TimeoutSec=30s
[Install]
WantedBy=multi-user.target
保存文件并将其关闭。
4. 然后重新加载 systemd 管理器配置,启动 glances 服务,查看其状态,并使其在引导时自动启动。
# systemctl daemon-reload
systemctl start glances.service
systemctl status glances.service
systemctl enable glances.service
5. 接下来,您需要使用 wget 命令下载开发者提供的 glances 配置文件,如图所示。
# mkdir ~/.config/glances/
wget https://raw.githubusercontent.com/nicolargo/glances/master/conf/glances.conf -P ~/.config/glances/
6. 为了将 Glances 统计数据导出到 InfluxDB 数据库,您需要 Python InfluxdDB 库,您可以使用 pip 命令安装它。
# sudo pip install influxdb
第 2 步:在 CentOS 7 中安装 InfluxDB
7. 接下来,您需要添加 InfluxDB Yum 仓库以安装 InfluxDB 包的最新 vesrion,如图所示。
# cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL $releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
8. 将存储库添加到 YUM 配置后,通过运行安装 InfluxDB 包。
# yum install influxdb
9. 接下来,通过 systemd 启动 InfluxDB 服务,通过查看其状态确认它正在运行,并使其在系统启动时自动启动。
# systemctl start influxdb
systemctl status influxdb
systemctl enable influxdb
10. 默认情况下,InfluxDB 使用 TCP 端口 8086 通过 InfluxDB 的 HTTP API 进行客户端-服务器通信,您需要使用 firewall-cmd 在防火墙中打开此端口。
# firewall-cmd --add-port=8086/tcp --permanent
firewall-cmd --reload
11. 接下来,您需要在 InfluxDB 中创建一个数据库来存储 Glances 数据。包含在 InfluxDB 包中的 influx 命令是与数据库交互的最简单方法。因此,执行 influx 以启动 CLI 并自动连接到本地 InfluxDB 实例。
# influx
运行以下命令以创建名为 glances 的数据库并查看可用数据库。
Connected to http://localhost:8086 version 1.6.2
InfluxDB shell version: 1.6.2
> CREATE DATABASE glances
> SHOW DATABASES
name: databases
name
----
_internal
glances
>
要退出 InfluxQL shell,请键入 exit 并按 Enter。
第 3 步:在 CentOS 7 中安装 Grafana
12. 现在,从其官方 YUM 存储库安装 Grafana,首先将以下配置添加到 /etc/yum.repos.d/grafana.repo 存储库文件。
[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/7/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
13. 将存储库添加到 YUM 配置后,通过运行安装 Grafana 软件包。
# yum install grafana
14. 安装 Grafana 后,重新加载 systemd 管理器配置,启动 grafana 服务器,通过查看其状态检查服务是否启动并正在运行,并启用它在启动时自动启动。
# systemctl daemon-reload
systemctl start grafana-server
systemctl status grafana-server
systemctl enable grafana-server
15. 接下来,使用 firewall-cmd 在防火墙中打开 Grafana 服务器侦听的端口 3000。
# firewall-cmd --add-port=3000/tcp --permanent
firewall-cmd --reload
第 4 步:通过 Grafana 监控 CentOS 7 服务器指标
16. 此时,您可以使用以下 URL 访问 Grafana Web 界面,该界面将重定向到登录页面,使用默认凭证登录。
URL: http://SERVER_IP:3000
Username: admin
Password: admin
系统将要求您创建一个新密码,完成后,您将被重定向到主页仪表板,如下面的屏幕截图所示。
17. 接下来,单击 Create your first data source(创建您的第一个数据源),它应该是 InfluxDB 数据库。在 Settings 下,输入合适的名称,例如 Glances Import,然后对其他两个重要变量(HTTP URL 和 InfluxDB Database)使用以下值,如屏幕截图所示。
HTTP URL: http://localhost:8086
InfluxDB Details - Database: glances
然后点击保存并测试以连接到数据源。您应该会收到一个反馈,指示“数据源正在工作”。
18. 现在,您需要导入 Glances 仪表板。单击加号 (+) 并转到 进口 如屏幕截图所示。
17. 您将需要 Glances 控制面板 URL 或 ID,或上传其 .JSON 文件,您可以从 Grafana.com 中找到。在这种情况下,我们将使用 Glances 开发人员创建的 Glances 控制面板,其 URL 为 https://grafana.com/dashboards/2387 或 ID 为 2387。
18. 加载 Grafana 控制面板后,在选项下,找到 glances 并选择您之前创建的 InluxDB 数据源(Glances Import),然后单击导入,如以下屏幕截图所示。
19. 成功导入 Glances 控制面板后,您应该能够通过 influxdb 查看显示 glances 提供的服务器指标的图表。
这就是现在的全部内容!在本文中,我们解释了如何使用 Glances、InfluxDB 和 Grafana 监控 CentOS 7 服务器。如果您有任何疑问或要分享信息,请使用下面的评论表进行分享。







