使用Grafana和Telegraf监控Linux系统

时间:2020-02-23 14:31:23  来源:igfitidea点击:

在本文中,我们将研究如何使用Grafana和Telegraf监视Linux系统。 Telegraf指标将存储在InfluxDB中,然后我们可以使用系统仪表板在Grafana上可视化它们。

在CentOS 7上安装Telegraf

Influxdata提供了用于在CentOS 7上安装telegraf的存储库。要将存储库添加到系统中,请使用以下命令:

sudo vim  /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

更新缓存以确认存储库运行正常:

sudo yum makecache fast

然后安装telegraf:

sudo yum -y install telegraf

在Ubuntu 18.04/Debian 9上安装Telegraf

对于Debian 9和Ubuntu 18.04,请使用以下命令安装telegraf:

如何在Ubuntu 18.04/Debian 9上安装和配置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"]
[[inputs.io]]
[[inputs.mem]]
[[inputs.net]]
[[inputs.system]]
[[inputs.swap]]
[[inputs.netstat]]
[[inputs.processes]]
[[inputs.kernel]]

有关Telegraf支持的输入的完整列表,请访问Telegraf输入Github页面。

更换:

服务器主机名以及有效主机名。
http://influxdb-ip:8086,以及有效的InfluxDB URL,IP地址和端口。
该主机的数据库名称和InfluxDB数据库名称
带有InfluxDB http身份验证用户名的auth-username。
带有InfluxDB http身份验证密码的auth-password。

完成所有更改后,即可启动并启用telegraf服务:

sudo systemctl start telegraf && systemctl enable telegraf

如果InfluxDB数据库不存在,它将自动创建它。

将InfluxDB数据源添加到Grafana

我们需要安装Grafana,可以按照以下步骤操作:

如何在CentOS 7上安装Grafana

如何在Ubuntu 18.04和Debian 9上安装Grafana

如何在RHEL 8上安装Grafana

在可以将仪表板添加到Grafana for Telegraf系统指标之前,我们需要首先导入数据源。登录到Grafana并转到"配置">"数据源">"添加数据源"

提供以下详细信息:名称任何有效的名称类型:InfluxDB HTTP URL:InfluxDB URL地址,例如本地数据库服务器的http://localhost:8086

在InfluxDB详细信息下,提供:在Telegraf配置文件上定义的数据库名称HTTP在Telegraf上配置的身份验证用户名和密码。

导入Grafana仪表板

添加数据源后,下一步就是导入仪表板。我自定义了一个最初由社区用户创建的仪表板,并上载了它。

从https://grafana.com/dashboards/5955下载仪表板,它是JSON格式。前往Grafana>导入

选择Upload.json并上传下载的文件。或者,我们可以使用Grafana仪表板URL或者ID 5955.UnderOptions部分,为其指定唯一的名称,然后从下拉菜单中选择之前添加的数据源,然后单击导入按钮。

我们应该立即看到指标。