前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在CentOS 7上安装和配置Grafana从Zabbix绘制漂亮的图形

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

原创
作者头像
尘埃
修改2018-09-27 17:05:04
6K0
修改2018-09-27 17:05:04
举报
文章被收录于专栏:云计算教程系列

介绍

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》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
    • 准备
      • 第1步 - 安装Grafana
        • 第2步 - 为Grafana安装Zabbix插件
          • 第3步 - 配置Zabbix插件
            • 第4步 - 创建自定义Zabbix仪表板
              • 结论
              相关产品与服务
              对象存储
              对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档