• 使用zabbix邮件发送报表


    简介

    首先我们来看下图片的url (右击screens中随便一张图片,选复制图片地址)

    http://zabbix.xxx.com/chart2.php?graphid=524&screenid=16&width=400&height=156&updateProfile=1&profileIdx=web.screens&profileIdx2=16&period=86400&stime=20150629172712&sid=f6dd0d127bba0123&curtime=1404120808037

    可以看到上面的url后面有很多的参数,当然我们需要的没有那么多,简化后的url如下

    http://zabbix.xxx.com/chart2.php?graphid=524&screenid=16&width=400&height=156&period=86400


    简化后我们只需要5个参数

    graphid    # 图片的ID,对应的值为某一个graph的唯一标识

    screenid    # screenID,对应的值为某一个screen的唯一标识

    width      # 图片的宽度,对应的值为图片的宽度(可根据需要自己定义)

    height      # 图片的高度,对应的值为图片的高度(可根据需要自己定义)

    period      # 图片展示数据的时钟周期 单位为 秒 (86400 =1天)


    通过上面的信息我们知道要通过zabbix获取screen中的图片需要的参数下面我们需要做的就是通过screen name到数据库中查询相关参数即可

    1、根据管理员自定义的screens name在数据库中查询此screen的ID (screens 表)

    2、根据所查到的screenID查询此screen中所包含的resourceid (resourceid==graphid)(screens_items 表)

    3、通过1、2两步查到的参数获取图片并保存至zabbix服务器上的web目录并生成html代码

    4、通过smtplib模块把html代码发送到管理员邮箱

    大概的流程是这样的,代码如下,代码中所涉及的参数变量根据自己的环境做出相应的配置即可

    代码参阅:http://heylinux.com/archives/2081.html

  • 相关阅读:
    AOP动态代理两种方式
    Spring AOP的两种代理方式
    面试中关于Redis的问题看这篇就够了
    关于redis,学会这8点就够了
    什么是MVCC
    JAVA 中BIO,NIO,AIO的理解
    JAVA异常体系结构详解
    Java多线程:由浅入深看synchronized的底层实现原理
    为什么wait,notify和notifyAll要与synchronized一起使用?
    Java并发之AQS详解
  • 原文地址:https://www.cnblogs.com/janehoo/p/6150402.html
Copyright © 2020-2023  润新知