如何在 CentOS 7 上安装和配置 Grafana 以从 Zabbix 绘制精美图表

介绍

Zabbix是一个很棒的监控工具,从服务器,虚拟机和其他类型的网络设备收集数据,以便您可以对趋势或问题进行分析。它有丰富的功能通知新出现的问题,但内置的数据分析和可视化工具并不容易使用。你可以将图表合并到仪表板中,但首先你需要创建它们,并且几乎没有简单的方法来创建显示实时数据的图表。

Grafana 是 Zabbix 仪表板的一个很好的替代方案. 它允许您基于各种监控系统的数据创建图表和仪表板,并专注于显示和分析这些数据。

在本教程中,您将安装Grafana并配置它以显示Zabbix的数据,并学习如何创建自己的自定义仪表板,以监控CPU和文件使用。

前提条件

要遵循本教程,您将需要:

  • 两个 CentOS 7 服务器配置了 sudo 非 root 用户,其中 Zabbix 安装在一个服务器上,而 Zabbix 客户端安装在另一个服务器上。

步骤 1 - 安装 Graphana

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

1[environment local]
2ssh sammy@your_zabbix_server_ip_address

默认情况下,Grafana 通过包管理器不可用,所以我们会设置仓库配置文件。

1sudo vi /etc/yum.repos.d/grafana.repo

将下列配置数据插入到文件中:

 1[label /etc/yum.repos.d/grafana.repo]
 2[grafana]
 3name=grafana
 4baseurl=https://packagecloud.io/grafana/stable/el/6/$basearch
 5repo_gpgcheck=1
 6enabled=1
 7gpgcheck=1
 8gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
 9sslverify=1
10sslcacert=/etc/pki/tls/certs/ca-bundle.crt

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

1sudo yum install grafana

在安装过程中,您将被要求导入 GPG 密钥. 确认您希望导入此密钥,以便继续安装。

一旦安装完成,请启动Grafana服务:

1sudo systemctl daemon-reload
2sudo systemctl start grafana-server

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

1sudo systemctl status grafana-server

您将看到以下状态:

1[secondary_label Output]
2 grafana-server.service - Starts and stops a single grafana instance on this system
3   Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: disabled)
4   Active: active (running) since Mon 2016-11-07 06:18:27 UTC; 1 day 4h ago
5     Docs: http://docs.grafana.org
6 Main PID: 16639 (grafana-server)
7  ...

最后,允许服务在启动时间启动:

1sudo systemctl enable grafana-server

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

步骤 2 — 为 Grafana 安装 Zabbix 插件

您可以通过安装插件来扩展Grafana的功能,您可以浏览可用的插件(https://grafana.net/plugins)。

  • 面板:可在仪表板上使用的新块,例如面板图或历史图
  • 数据源:您可以从其他来源提取数据的新存储后端
  • 应用程序:组合数据源和面板的复杂插件

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

安装插件的最简单方法是使用与Grafana结合的CLI工具grafana-cli。运行以下命令来安装Zabbix App插件:

1sudo grafana-cli plugins install alexanderzobnin-zabbix-app

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

1[secondary_label Output]
2✔ Installed alexanderzobnin-zabbix-app successfully

每当您添加或修改插件时,您必须重新启动grafana-server,以便更改生效。

1sudo systemctl restart grafana-server

随着插件安装,您可以登录Grafana并配置它以与Zabbix交谈。

步骤 3 – 配置 Zabbix 插件

登录到 Grafana Web 界面,通过导航到地址 http://your_zabbix_server_ip_address:3000

<$>[注] :Grafana在端口 3000上聆听接入连接. 如果您配置了防火墙,则需要打开此端口。

默认登录凭据是admin/admin。一旦登录,您可以在 Profile页面上更改您的密码。当您登录时,您将被 Home仪表板欢迎。

Home dashboard

点击用户界面左上角的 Grafana 标志来访问 Grafana 的主菜单,然后选择 ** Plugins.** 然后选择 Apps 选项卡,然后点击 Zabbix 应用程序并按下 Enable 按钮启用它。

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

Add data source

配置数据源如下:

  • 输入这个新数据源的名称在 Name字段
  • 检查 Default选项,这样这个数据源将在你创建的新面板中预选中
  • Type下载列表中选择 Zabbix
  • 填写在 Url字段中到 Zabbix API的完整路径,这将是 http://your_zabbix_server_ip_address/zabbix/api_jsonrpc.php.
  • 填写在 UsernamePassword字段中使用 Zabbix 的用户名和密码。 默认用户名是 admin 和默认密码是 `z

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

点击添加按钮来测试并保存配置,您将看到一个成功消息,看起来如下:

Successful test of the connection to Zabbix

如果您看不到此消息,请检查您的身份证并再次测试。

现在让我们看看与插件搭载的Zabbix仪表板。从屏幕顶部的下载列表中选择 Zabbix服务器仪表板

The Zabbix Server Dashboard

这个仪表板非常有信息性,但您可以从头开始创建自己的自定义仪表板。

步骤 4 — 创建自定义 Zabbix 仪表板

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

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

每个仪表板由包含块的行组成. 当您创建一个新的仪表板时,您会自动获得一行。 点击行左侧的绿色菜单以访问行的操作菜单。

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

您将收到包含多个选项卡的表单,选中了 Metrics 选项卡. 由于我们已将我们的 Zabbix 数据源设置为默认值,为您添加了一个新查询。

  • 设置 ** 主机组 ** 到 Zabbix 服务器
  • 设置 ** 主机** 到 Zabbix 服务器
  • 设置 ** 应用程序** 到 CPU
  • 设置 ** 项目** 到 处理器负载(每核平均 1 分钟)

你会看到你当前的处理器负载在图表上。

Graph metrics options

然后导航到 一般卡,将 标题字段设置为处理器负载,并将 Span选项设置为6

Graph general options

现在你可以点击 ** 返回仪表板** 查看结果:

Dashboard

<$>[注] :如果您看不到任何数据,您可能会被缩放太远。点击界面右上方的时钟图标,并从选项列表中选择 *Last 1 hour

要添加另一个图表. 要做到这一点,您可以重复前面的步骤或重复现有图表. 要重复现有图表,请选择面板标题,然后单击 重复

  • Title 更改为 CPU 使用量
  • 选择 Metrics 选项卡,然后将 Item 字段更改为 /CPU.*/

您可以为主机或计量名称使用常规表达式模式. 只需在前进切片(/)中包装该模式。

您还可以显示汇总统计数据. 选择 ** 传奇** 选项卡,您将看到一些可选择的选项和值。

  • 在 ** 选项下,点击 ** 作为表和 ** 向右**
  • 在 ** 值**下,选择 Min, Max, AvgCurrent

现在点击 ** 返回仪表板** 查看结果,将看起来像这样:

Dashboard

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

设置 Metrics 选项如下:

  • 将 **Host 组设置为 Zabbix 服务器
  • 将 **Host 设置为 Zabbix 服务器
  • 将 **Application 设置为 Filesystems
  • Item设置为 Free disk space on / (percentage)

接下来,切换到 ** 一般** 卡,并将 ** 标题** 字段设置为 自由磁盘空间 /

然后切换到 ** 选项** 选项卡并配置这些选项:

  • 啟用「顯示」選項為「測量」 **
  • 設定「值」為「10,20」。這將會顯示這些值在測量器上
  • 從「價值」落下列表中選擇「現在」選項。

现在的盖茨看起来像这样:

Gauge

回到仪表板,然后按CTRL+S来保存它。

现在让我们测试这个计量器如何响应实时事件. 为了做到这一点,我们将手动减少磁盘上的可用空间,看看仪表板显示了什么。

登录您的 Zabbix 服务器,如果您目前尚未登录:

1[environment local]
2ssh sammy@your_zabbix_server_ip_address

一旦登录,确定在文件系统上有多少可用空间. 您可以使用df命令做到这一点:

1df -h

您将看到以下结果:

1[secondary_label Output]
2Filesystem Size Used Avail Use% Mounted on
3/dev/vda1 20G 1.5G 18G 8% /
4devtmpfs 236M 0 236M 0% /dev
5tmpfs 245M 0 245M 0% /dev/shm
6tmpfs 245M 8.3M 237M 4% /run
7tmpfs 245M 0 245M 0% /sys/fs/cgroup
8tmpfs 49M 0 49M 0% /run/user/0

在这种情况下,有 18 GB 的自由空间. 您的服务器上的自由空间量会有所不同. 使用fallocate命令创建一个大临时文件,将根分区的自由空间缩小到 20% 以下:

1fallocate -l 15G /tmp/test.img

设置文件大小取决于您的服务器上空闲空间的数量。

然后给 Zabbix 几分钟时间更新其数据. 刷新仪表板,你会看到测量器改变了颜色,以反映自由空间问题:

Warning

最后,让我们在仪表板上显示活跃的 Zabbix 触发器. 创建一个新行,然后选择行菜单,选择 ** 添加面板**,然后选择 ** Zabbix 触发器** 项目。

您将看到一个活跃的触发器通知您服务器上缺乏自由空间。

Free space trigger

选择 ** 返回仪表板**,然后用CTRL+S保存仪表板。

The completed dashboard

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

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

1rm /tmp/test.img

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

结论

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

Published At
Categories with 技术
Tagged with
comments powered by Disqus