如何在CentOS 7上安装和配置Grafana从Zabbix绘制漂亮的图形

2018-09-27 17:05:04 浏览数 (1)

介绍

Zabbix是一款出色的监控工具,可从服务器,虚拟机和其他类型的网络设备收集数据,因此您可以分析趋势或问题。它针对新出现的问题提供了功能丰富的通知,但内置的数据分析和可视化工具并不易于使用。您可以将图表组合到仪表板中,但首先需要创建它们,并且实际上不存在创建显示实时数据的图形的简单方法。此外,无法将来自不同主机的数据收集到单个图表上。虽然每个新版本的情况都在好转,但它远非理想。

Grafana是Zabbix仪表板的一个很好的替代品。它允许您基于来自各种监控系统的数据创建图形和仪表板,并专门用于显示和分析此数据。它轻巧,易于安装,并且看起来很漂亮。

在本教程中,您将安装Grafana并将其配置为显示来自Zabbix的数据,您将学习如何编写自己的自定义仪表板来监视CPU和文件使用情况。

准备

要学习本教程,您需要:

  • 两个有能使用sudo权限的非root用户的CentOS 7服务器,Zabbix安装在一台服务器上,Zabbix客户端安装在另一台服务器上。

没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。

第1步 - 安装Grafana

在我们使用Grafana之前,我们需要安装它。我们将使用与Zabbix服务器相同的服务器。使用非root用户登录Zabbix服务器:

代码语言:javascript复制
ssh sammy@your_zabbix_server_ip_address

默认情况下,Grafana不能通过包管理器使用,因此我们将设置存储库配置文件。首先,为Grafana创建一个新的存储库文件:

代码语言:javascript复制
sudo vi /etc/yum.repos.d/grafana.repo

将以下配置数据粘贴到文件中:

代码语言:javascript复制
[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/6/$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

然后保存并退出文本编辑器并运行以下命令来安装Grafana:

代码语言:javascript复制
sudo yum install grafana

在安装过程中,系统会要求您导入GPG密钥。确认您要导入此密钥,以便继续安装。

安装完成后,启动Grafana服务:

代码语言:javascript复制
sudo systemctl daemon-reload
sudo systemctl start grafana-server

然后检查Grafana服务是否正常运行:

代码语言:javascript复制
sudo systemctl status grafana-server

您将看到以下状态:

代码语言:javascript复制
● grafana-server.service - Starts and stops a single grafana instance on this system
   Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2016-11-07 06:18:27 UTC; 1 day 4h ago
     Docs: http://docs.grafana.org
 Main PID: 16639 (grafana-server)
  ...

最后,使服务器在启动时启动:

代码语言:javascript复制
sudo systemctl enable  grafana-server

Grafana正在运行,所以让我们安装让Grafana从Zabbix中提取数据的组件。

第2步 - 为Grafana安装Zabbix插件

您可以通过安装插件来扩展Grafana的功能。您可以在此处浏览可用的插件。插件有三种类型:

  • 面板:可在仪表板上使用的新块,例如饼图或直方图。
  • 数据源:时间序列数据的新存储后端,因此您可以从其他来源提取数据。
  • 应用程序:在单个程序包中捆绑数据源和面板的复杂插件。

我们将使用Zabbix app插件,其中包括Zabbix数据源,触发器面板,Zabbix服务器仪表板和用于查看数据的模板。

安装插件的最简单方法是使用与Grafana捆绑在一起的CLI工具grafana-cli。运行以下命令以安装Zabbix App插件:

代码语言:javascript复制
sudo grafana-cli plugins install alexanderzobnin-zabbix-app

您将看到以下输出,表明已安装插件:

代码语言:javascript复制
✔ Installed alexanderzobnin-zabbix-app successfully

无论何时添加或修改插件,都必须重新启动 grafana-server才能使更改生效。

代码语言:javascript复制
sudo systemctl restart grafana-server

安装插件后,您可以登录Grafana并将其配置为与Zabbix通信。

第3步 - 配置Zabbix插件

导航到地址http://your_zabbix_server_ip_address:3000来登录Grafana Web界面。

注意:Grafana侦听端口3000上的传入连接。如果配置了防火墙,则需要打开此端口。

默认登录凭据是admin/admin。登录后,您可以在“ 配置文件”页面上更改密码。登录时,主页控制台将迎接您。

通过单击用户界面左上角的Grafana徽标访问Grafana的主菜单。然后选择插件。然后选择应用程序选项卡。然后单击Zabbix应用程序并按启用按钮启用它。

现在您可以添加新的数据源。再次选择Grafana徽标并导航到数据源。然后单击“ 添加数据源”按钮。您将看到数据源的配置页面:

配置数据源如下:

  • 名称字段中输入此新数据源的名称
  • 选中默认选项,以便在您创建的新面板中预先选择此数据源。
  • 类型下拉列表中选择Zabbix
  • 使用Zabbix API的完整路径填写Url字段,即:http://your_zabbix_server_ip_address/zabbix/api_jsonrpc.php
  • 使用Zabbix的用户名和密码填写用户名密码字段。默认用户名是admin,默认密码是zabbix
  • 启用趋势选项; 当显示长时间段时,它会增加Grafana的表现。

您可以将其他选项保留为默认值。

单击添加按钮以测试并保存配置。您将看到如下所示的成功消息:

如果您没有看到此消息,请检查您的凭据并再次测试。

现在让我们看一下插件附带的Zabbix仪表板。从屏幕顶部的下拉列表中选择Zabbix服务器仪表板。选择它时,仪表板显示有关Zabbix服务器的信息:

此仪表板提供了丰富的信息,但您可以从头开始创建自己的自定义仪表板。

第4步 - 创建自定义Zabbix仪表板

让我们为Zabbix创建一个仪表板,用于实时显示CPU使用情况和文件系统信息。

打开屏幕顶部的下拉列表,然后单击新建按钮。将创建一个新的空仪表板。

每个仪表板由包含块的行组成。创建新仪表板时,会自动获得一行。单击行左侧的绿色菜单以访问行的操作菜单。在这里,您可以添加新面板,设置行的高度,移动它,折叠它或删除它。

首先,我们将创建一个显示Zabbix服务器CPU使用率的图表。选择添加面板项,然后单击 图形以在该行中插入新图形。

您将看到一个包含多个选项卡的表单,并选中 度量标准选项卡。由于我们已将Zabbix数据源设置为默认值,因此为您添加了一个新查询。您只需指定以下选项:

  • 主机组设置为Zabbix servers
  • 主机设置为Zabbix server
  • 设置应用CPU
  • 项目设置为Processor load (1 min average per core)

您将在图表上看到当前的处理器负载。

然后导航到“ 常规”选项卡并将“ 标题”字段设置为Processor load,将“ 跨度”选项设置为6。一行最多可包含12个块,因此将此值设置为6会使面板占据屏幕的一半。

现在,您可以单击“返回仪表板 查看结果:

注意:如果您没有看到任何数据,则可能会缩小太多。单击界面右上角的时钟图标,然后从选项列表中选择 最后1小时

让我们添加另一张图表。为此,您可以重复之前的步骤或复制现有图表。要复制现有图表,请选择面板标题,然后单击“复制。然后选择新图表的标题并选择编辑选项。然后应用以下设置:

  • 标题更改为CPU usage
  • 选择度量标准选项卡,然后将字段更改为/CPU.*/

您可以将正则表达式模式用于主机名或度量标准名称。只需确保将模式包装在正斜杠(/)中。

您还可以显示摘要统计信息。选择图例选项卡,您将看到可以选择的一些选项和值。

  • 选项下,选中作为表格右侧
  • 下,选择最小最大平均当前

现在单击Back to dashboard查看结果,如下所示:

接下来,添加Singlestat面板以显示特定指标的单个值。单击添加行按钮创建一个新行,然后选择行的菜单,选择添加面板,然后选择Singlestat项。

设置Metrics选项如下:

  • 主机组设置为Zabbix servers
  • 主机设置为Zabbix server
  • 设置应用Filesystems
  • 项目设置为Free disk space on / (percentage)

接下来,切换到“常规选项卡并将标题字段设置为Free disk space on /

然后切换到选项卡并配置以下选项:

  • 启用GaugeShow选项。
  • 阈值设置为10,20。这将在仪表上显示这些阈值。
  • 下拉列表中选择current选项。

仪表现在看起来像这样:

返回仪表板并按CTRL S保存。

现在让我们测试一下该仪表如何响应实时事件。为此,我们将手动减少磁盘上的可用空间,并查看仪表板显示的内容。

如果您当前未登录,请登录Zabbix服务器:

代码语言:javascript复制
ssh sammy@your_zabbix_server_ip_address

登录后,确定文件系统上有多少可用空间。您可以使用df命令执行此操作:

代码语言:javascript复制
df -h

您将看到以下输出:

代码语言:javascript复制
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  1.5G   18G   8% /
devtmpfs        236M     0  236M   0% /dev
tmpfs           245M     0  245M   0% /dev/shm
tmpfs           245M  8.3M  237M   4% /run
tmpfs           245M     0  245M   0% /sys/fs/cgroup
tmpfs            49M     0   49M   0% /run/user/0

在这种情况下,有18 GB的可用空间。服务器上的可用空间量会有所不同。使用fallocate命令创建一个大临时文件,将根分区上的可用空间减少到20%阈值以下:

代码语言:javascript复制
fallocate -l 15G /tmp/test.img

根据服务器上的可用空间量设置文件大小。

然后给Zabbix几分钟来更新它的数据。刷新仪表板,您将看到仪表改变颜色以反映可用空间问题:

最后,让我们在仪表板上显示活动的Zabbix触发器。创建一个新行,然后选择行的菜单,选择Add面板,然后选择Zabbix Triggers项。

您将看到主动触发器通知您服务器上的可用空间不足。

选择返回仪表板并使用CTRL S保存仪表板。您的信息中心现在看起来像这样:

您现在可以使用此简单仪表板快速查看服务器的当前状态。

不要忘记删除您创建的临时文件以释放磁盘空间。在Zabbix服务器上,发出命令:

代码语言:javascript复制
rm /tmp/test.img

这将删除test.img文件。几分钟后,仪表板将再次更新以反映文件系统上的更改。

结论

在本教程中,您学习了如何安装和配置Grafana,并创建了一个自定义仪表板,其中的面板显示了Zabbix的数据。您可以在桌面甚至大屏幕上显示这些仪表板,以便管理员可以查看IT基础架构的状态。仪表板上的每个面板都可以显示来自不同服务器的数据,您可以使用Grafana以许多有用的方式过滤数据。在一个教程中很难描述Grafana的所有功能,因此请探索,试验和构建自己的漂亮仪表板。

想要了解更多关于安装和配置Grafana从Zabbix绘制漂亮的图形的相关教程,请前往腾讯云 社区学习更多知识。


参考文献:《How To Install and Configure Grafana to Plot Beautiful Graphs from Zabbix on CentOS 7》

0 人点赞