我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Zabbix与Python不得不说的基情

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Zabbix与Python不得不说的基情

分享提要

在平时的工作中,Zabbix对于运维来说是一个非常重要的工具,在马哥的课程中也有相当的体现。Zabbix的图形界面已经相当漂亮了,今天Derek老师就会带领大家一起来定制属于自己的监控页面哦!

大咖身份

Derek

国内某小型互联网运维工程师,51CTO推荐博客博主、5年linux一线经验,擅长shell脚本、python开发、自动化运维、web应用等,曾就职过国家电网、链家、新浪等知名公司与企业,现在关注自动化运维、虚拟化技术。


分享开始

大家好,我是今天的分享老师Derek,今天给大家带来的分享是zabbix与python之间不得不说的基情,想必在平时的工作中,大家用到的监控软件还是以zabbix为主吧,咱们的课程中马哥对zabbix也是花了很大的时间来介绍它的原理,安装,配置,维护等,但是不知道大家有没有觉得,zabbix的图形界面不是很漂亮,那么我们是不是可以自己来定制专属于我们自己的zabbix的监控界面那,如果你也有这样的想法,那么希望今天我分享的内容对你有一定的帮助。

今天我们首先会对zabbix进行简单的介绍,但是这里不会涉及zabbix的原理,安装,配置与维护,这些内容马哥的视频中已经讲的很清楚了,咱们为了节省时间,就不再做过多的介绍,会对zabbix-python模块进行介绍,包括模块的安装,使用,为了后面出图的方便,我们会对python的time模块进行介绍,最后我们会给大家介绍如何用咱们通过api查到的数据绘制出漂亮的图形

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

首先,我们来看一下zabbix的介绍,zabbix在官网写了这样一句话:The Enterprise-class Monitoring Solution for Everyone(所有人的企业级监控解决方案),zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成,zabbix server与可选组件zabbix agent。        

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。

zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

现在最新的稳定版本是3.4.3,关于它的安装,配置等可以参考咱们的课程中的相关介绍。

介绍一下我本地的环境,我本地准备了一台机器,里面分别安装了zabbix的server和zabbix的agent客户端,后面我们所有的操作都连接这台机器进行操作, 我这里是用到的版本为3.0.8  

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

接下来我们来对zabbix的api进行简单的介绍

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

zabbix API请求和响应都是json,并且还提供了各种语法的lib库,http://zabbix.org/wiki/Docs/api/libraries,包含php、c#、Python、Perl、go等等语言,使用非常方便。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

我们看到zabbix支持的python的模块有这么多,接下来我们开始来介绍今天的重头戏pyzabbix的使用

d3hfZm10PXBuZw==

d3hfZm10PXBuZw==

我们对pyzabbix的介绍,只挑选几个最基本的介绍,比如安装,获取zabbix的版本号,获取监控的主机组,获取某个主机组中主机,获取用户组,获取某个用户组中的用户,获取某台主机的item,获取某个item的hstory,由于时间关系,我们现在只对zabbix做获取操作,至于新增,更新,删除等操作,朋友们可以看官方文档来完成。

首先是安装,可以通过pip来进行安装,安装命令是:pip install pyzabbix

安装完成以后,第一步我们来获取一下我们的zabbix的版本号,看看和我说的是不是一样

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

我们可以看到我们的版本是3.0.8

d3hfZm10PXBuZw==

我们来看一下我们页面上的版本号,也是3.0.8,那说明我们获取的没有问题

接下来我们来获取我们的主机组,我们可以先打开zabbix的官方文档,https://www.zabbix.com/documentation/3.0/manual/api,找到Host group

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

我们可以看到我们可以对主机组有这么多的操作,我们此次只演示,hostgroup.get的操作

我们可以看到我们在进行get操作的时候可以传递很多的参数,参数的含义咱们这里就不做一一说明了,有兴趣的朋友可以看一下文档的介绍,接下来我们来获取我们系统的主机组aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

我们也可以指输出我们需要的内容,比如只输出groupid和nameaHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

获取到主机组的信息了,那么我们来获取zabbix server组里面的主机,我们也是首先找一下官方文档,看一下我们主机可以进行的操作

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

我们这里还是只做get操作,我们这里来获取一下zabbix server组里面的主机看一下aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

这里为了操作方便,我们只需要获取主机的id和主机的nameaHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

系统的用户组和用户的获取方式与主机和主机组的获取类似,为了节省时间,我们这里就不在进行一一获取,有兴趣的小伙伴可以自己尝试一下。

接下来我们来获取监控项,然后选择一个监控项来获取这个监控项的数据,首先来获取监控项,我们还是先来看一下官方文档的介绍aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

接下来我们来获取我们主机id为10084的监控项

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

我们可以看到我们一台主机的监控项还是有很多的,我们还是挑一个监控项来获取他的监控值,还是老办法,先看一下官方文档对于监控值的说明以及可以做的操作

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

监控值只能用来获取,我们这里随便选择一个item来获取一下他的监控值,我们这里选择获取机器15分钟的load3hfZm10PXBuZw==d值,它的itemsid为23295,我们来获取最后10次的值,然后根据时间来进行一下排序aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

我们可以看到我们获取到的是时间戳,可以将时间戳转换成年月日的类型,可以用到time模块,time模块的具体应用咱们这里就不具体讲了,有需要的朋友可以自己看官方文档

d3hfZm10PXBuZw==接下来我们来介绍使用erchart来绘制我们想要的图形

ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的 Canvas 类库 ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。

ECharts 3 中更是加入了更多丰富的交互功能以及更多的可视化效果,并且对移动端做了深度的优化。

ECharts 提供了常规的折线图,柱状图,散点图,饼图,K线图,用于统计的盒形图,用于地理数据可视化的地图,热力图,线图,用于关系数据可视化的关系图,treemap,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。

你可以在下载界面下载包含所有图表的构建文件,如果只是需要其中一两个图表,又嫌包含所有图表的构建文件太大,也可以在在线构建中选择需要的图表类型后自定义构建

echart的官方网站是:http://echarts.baidu.com

接下来我们就用我们上面获取到的数据,来用echarts来绘制一个折线图,

假设我们获取到数据经过处理以后是这样的,接下来我们用django搭建一个简单的应用,至于django的应用,如果大家有兴趣,可以下次给朋友做一个简单的分享

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

我们来看一下前段的配置,主要看一下后端获取的变量是怎么传递到前端的

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

我们来接着看一下我们最后的出图

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

好的,今天的分享就到这里了,谢谢大家的参与!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Zabbix与Python不得不说的基情

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Zabbix与Python不得不说的基情

分享提要在平时的工作中,Zabbix对于运维来说是一个非常重要的工具,在马哥的课程中也有相当的体现。Zabbix的图形界面已经相当漂亮了,今天Derek老师就会带领大家一起来定制属于自己的监控页面哦!大咖身份Derek国内某小型互联网运维工
2023-01-31

Python与Excel不得不说的事

Python 与 Excel 不得不说的事数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件。因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道。如果仅仅是要以表单形式保存数据,可以借助
2023-01-31

字字谏言!Python入门学习教程:关于Python不得不说的事儿

作为程序员,你肯定遇到过这样的领导:“别人还没走,你先走了不合适吧。”“不能确定功劳,总得有苦劳吧!你看别人9点谁走了?”说到996,这很有可能是诱因之一。所以很多程序员会在学习了Java、C的情况下,依然转头Python的怀抱。提升工作效
2023-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录