在CentOS 7上安装Grafana和InfluxDB

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

本文将介绍如何对整个基础架构进行智能监控和可视化。整个系列将集中于Grafana,Prometheus,InfluxDB,Telegraf等工具,以及可能推出的其他工具。本指南将讨论如何在CentOS 7 Linux系统上安装Grafana/InfluxDB。

我们将可以使用的工具进行了介绍性定义:

InfluxDB是由InfluxData用Go语言编写的开源时间序列数据库。 InfluxDB经过优化,可快速,高可用性地存储和检索时间序列数据以进行度量分析。可以将其安装在单个服务器或者群集上。

Telegraf是一种用Go语言编写的用于收集,处理,聚合和编写指标的代理。设计目标是通过插件系统使内存占用最小,以便社区中的开发人员可以轻松地添加对从本地或者远程服务收集指标的支持。它已安装在所有需要监视的设备上,并且Telegraf收集的所有指标都推送存储在InfluxDB中。

Grafana是针对Graphite,Elasticsearch,OpenTSDB,Prometheus和InfluxDB的开源,功能丰富的指标仪表板和图形编辑器。 InfluxDB上存储的数据将使用Grafana可视化。

Prometheus是用于系统和服务监视的工具。它以给定的时间间隔从已配置的目标收集指标,评估规则表达式,显示结果,并在发现某些情况为真时触发警报。可以使用Grafana可视化存储在Prometheus上的度量标准。

在CentOS 7上安装InfluxDB

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

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

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

sudo yum makecache fast

然后安装influxDB:

sudo yum -y install influxdb vim curl

启动并启用服务:

sudo systemctl start influxdb && sudo systemctl enable influxdb

配置InfluxDB防火墙

默认情况下,InfluxDB使用以下网络端口:

TCP端口8086用于通过InfluxDB的HTTP API进行客户端-服务器通信
TCP端口8088用于RPC服务的备份和还原。

要在防火墙上打开它,请使用以下命令:

sudo firewall-cmd --add-port=8086/tcp --permanent
sudo firewall-cmd --reload

可以通过更改文件/etc/influxdb/influxdb.conf来修改端口映射。由于现在已全部配置,我们现在就可以启动该服务。

sudo systemctl start influxdb && systemctl enable influxdb

InfluxDB http身份验证(可选)

如果需要http认证,请修改influxdb http部分以包含以下内容。

$sudo vim /etc/influxdb/influxdb.conf
[http]
auth-enabled = true

然后使用身份验证密码创建用户:

curl -XPOST "http://localhost:8086/query" --data-urlencode \
"q=CREATE USER username WITH PASSWORD 'strongpassword' WITH ALL PRIVILEGES"

更换:

用户名和我们自己的用户名
使用我们自己的密码的strongpassword(请注意,密码需要单引号)

现在,每当需要在终端上运行任何influxdb命令时,都需要指定用户名using-username和密码using-password选项。

$influx -username 'username' -password 'password'

对于curl,请使用-u指定用冒号分隔的用户名和密码。

curl -G http://localhost:8086/query -u username:password --data-urlencode "q=SHOW DATABASES"

默认情况下,influxdb服务正在侦听端口8086上的所有接口。

在CentOS 7上安装Grafana

有两种方法可以在CentOS 7上安装Grafana,一种是使用官方的Grafana yum存储库,另一种方法是手动下载rpm软件包并将其本地安装在服务器上。

首选方法是使用仓库,因为它很容易更新到最新版本。因此,将以下内容添加到/etc/yum.repos.d/grafana.repo中的新文件中。

cat <<EOF | sudo tee /etc/yum.repos.d/grafana.repo
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
EOF

然后运行:

sudo yum -y install grafana

系统将提示我们接受gpg键,按Yes(是)继续。要启动grafana服务并使它能够在启动时启动,请运行:

sudo systemctl start grafana-server
sudo systemctl enable grafana-server

这将以grafana用户身份启动grafana-server进程,该进程是在软件包安装期间创建的。默认的HTTP端口是3000,默认的用户和组是admin。默认情况下,Grafana将登录到/var/log/grafana。

缺省配置文件是/etc/grafana/grafana.in,位于/var/lib/grafana/grafana.db的sqlite3数据库存储

打开Grafana的防火墙端口

如果我们有正在运行的firewalld服务,请考虑打开端口3000,以通过网络访问仪表板。

sudo firewall-cmd --add-port=3000/tcp --permanent
sudo firewall-cmd --reload

我们可以使用端口" 3000"和IP地址或者主机名访问Web上的仪表板,然后开始创建仪表板。