使用 Grafana 和 Telegraf 监控 Linux 系统
在本文中,我们将了解如何使用 Grafana 和 Telegraf 监控 Linux 系统。 Telegraf 指标将存储在 InfluxDB 上,然后我们可以使用系统仪表板在 Grafana 上将它们可视化。
此设置的先决条件是 Linux 系统和 InfluxDB 服务器。您可以查看我们之前的指南:
- 如何在 CentOS 7/RHEL 7 上安装 InfluxDB
- 在 Ubuntu 上安装 InfluxDB
- 如何在 Debian 上安装 InfluxDB
- 如何在 RHEL 8/CentOS 8 上安装 InfluxDB
对于 Telegraf 安装,请查看以下指南:
- 在 RHEL 8/CentOS 8 上安装和配置 Telegraf
- 如何在 Fedora 上安装 Telegraf
- 在 Debian 上安装和配置 Telegraf
在 CentOS/RHEL 上安装 Telegraf
Influxdata 提供了在 CentOS/RHEL Linux 系统上安装 telegraf 的存储库。要将存储库添加到您的系统,请使用以下命令:
sudo tee /etc/yum.repos.d/influxdb.repo<<EOF
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 0
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
更新缓存以确认存储库工作正常:
sudo yum makecache fast
然后安装电报:
sudo yum -y install telegraf
在 Ubuntu/Debian 上安装 Telegraf
对于 Debian 和 Ubuntu,请使用以下命令安装 telegraf:
- 在 Ubuntu/Debian 上安装和配置 Telegraf
- 在 RHEL 8/CentOS 8 上安装和配置 Telegraf
在 Linux 上配置 telegraf
具有 InfluxDB 输出和收集系统指标的基本输入的基本 telegraf 配置如下所示:
[global_tags]
# Configuration for telegraf agent
[agent]
interval = "10s"
debug = false
hostname = "server-hostname"
round_interval = true
flush_interval = "10s"
flush_jitter = "0s"
collection_jitter = "0s"
metric_batch_size = 1000
metric_buffer_limit = 10000
quiet = false
logfile = ""
omit_hostname = false
###############################################################################
# OUTPUTS #
###############################################################################
[[outputs.influxdb]]
urls = ["http://influxdb-ip:8086"]
database = "database-name"
timeout = "0s"
username = "auth-username"
password = "auth-password"
retention_policy = ""
###############################################################################
# INPUTS #
###############################################################################
[[inputs.cpu]]
percpu = true
totalcpu = true
collect_cpu_time = false
report_active = false
[[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
[[inputs.io]]
[[inputs.mem]]
[[inputs.net]]
[[inputs.system]]
[[inputs.swap]]
[[inputs.netstat]]
[[inputs.processes]]
[[inputs.kernel]]
有关 Telegraf 支持的输入的完整列表,请访问 Telegraf 输入 Github 页面。
代替 :
- server-hostname 替换为您的有效主机名。
- http://influxdb-ip:8086 并输入您有效的 InfluxDB URL、IP 地址和端口。
- database-name 与此主机的 InfluxDB 数据库 nae
- auth-username 带有 InfluxDB http 身份验证用户名。
- auth-password 带有 InfluxDB http 身份验证密码。
完成所有更改后,您可以启动并启用 telegraf 服务:
sudo systemctl start telegraf && sudo systemctl enable telegraf
如果 InfluxDB 数据库不存在,这将自动创建它。
将 InfluxDB 数据源添加到 Grafana
您需要安装Grafana,您可以按照以下步骤操作:
- 如何在 CentOS 7 上安装 Grafana
- 如何在 Ubuntu 上安装 Grafana
- 如何在 RHEL 8 上安装 Grafana
- 如何在 Debian 上安装 Grafana 8
在将仪表板添加到 Grafana for Telegraf 系统指标之前,您需要先导入数据源。登录 Grafana 并转到配置 > 数据源 > 添加数据源
提供以下详细信息:
- 名称 – 任何有效名称
- 类型:InfluxDB
- HTTP URL:InfluxDB URL 地址,例如本地数据库服务器的 http://localhost:8086
在 InfluxDB 详细信息下,提供:
- telegraf 配置文件中定义的数据库名称
- Telegraf 上配置的 HTTP 身份验证用户名和密码。
导入 Grafana 仪表板
添加数据源后,下一步就是导入仪表板。我定制了最初由社区用户创建的仪表板之一并将其上传。
从 https://grafana.com/dashboards/5955 下载仪表板,它是 JSON 格式。前往 Grafana > 导入
选择上传.json并上传下载的文件。或者,您可以使用 Grafana 仪表板 URL 或 ID –5955。 在选项部分下,为其指定一个唯一名称,然后从下拉菜单中选择之前添加的数据源,然后单击“导入”按钮。
您应该立即看到指标被可视化。
另请参阅:
- Ctop – 容器指标的顶级命令
- 如何使用 Stacer 优化 Linux 系统
- 使用 Prometheus 和 Grafana 监控 Ceph 集群
- 如何在 5 分钟内使用 Prometheus 和 Grafana 监控 Redis 服务器
- 如何在 5 分钟内使用 Prometheus 和 Grafana 监控 Linux 服务器性能
- 如何使用 Prometheus 和 Grafana 监控 BIND DNS 服务器
- 五分钟内使用 Prometheus 监控 MySQL/MariaDB