介绍
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插件:
sudo grafana-cli plugins install alexanderzobnin-zabbix-app
您将看到以下输出,表明已安装插件:
代码语言:javascript复制✔ Installed alexanderzobnin-zabbix-app successfully
无论何时添加或修改插件,都必须重新启动 grafana-server
才能使更改生效。
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 /
。
然后切换到选项卡并配置以下选项:
- 启用Gauge
Show
选项。 - 将阈值设置为
10,20
。这将在仪表上显示这些阈值。 - 从值下拉列表中选择
current
选项。
仪表现在看起来像这样:
返回仪表板并按CTRL S
保存。
现在让我们测试一下该仪表如何响应实时事件。为此,我们将手动减少磁盘上的可用空间,并查看仪表板显示的内容。
如果您当前未登录,请登录Zabbix服务器:
代码语言:javascript复制ssh sammy@your_zabbix_server_ip_address
登录后,确定文件系统上有多少可用空间。您可以使用df
命令执行此操作:
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%阈值以下:
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》