说明:
继续zabbix4.0的数据抽取展示测试。
对python不熟练, 所以先参考网友脚本,抽取zabbix数据,生成excel表格。
脚本如下:


#/usr/bin/env python
# -*- coding: utf-8 -*-

import MySQLdb
import xlsxwriter
import time

host_list = ['192.168.164.131',
                '192.168.164.132'
               ]

def sql_login(ip):
    conn = MySQLdb.connect(host='192.168.164.131' ,port=3306, user='root', passwd='123456', db='zabbix')
    cur = conn.cursor()
    sql_context = "select itemid, FROM_UNIXTIME(clock, '%Y-%m-%d %H:%i:%S'), value  " \
                  "from  history_uint where itemid = (select itemid from items where items.key_ = 'tcpconn' " \
                  "and items.hostid = (select hostid from hosts where host = '" + ip + \
                  "')) and clock >= UNIX_TIMESTAMP('2016-04-22 18:00:00') and clock < UNIX_TIMESTAMP('2016-04-24 00:00:00')"
    reCount = cur.execute(sql_context)
    nRet = cur.fetchall()
    cur.close()
    conn.close()

    print (reCount)
    #print nRet
    perfix = time.strftime('%y%m%d%H%M%S')
    xfilename = "./data/" + ip + "_conn_" + perfix + ".xlsx"
    workbook = xlsxwriter.Workbook(xfilename)
    worksheet1 = workbook.add_worksheet()
    worksheet1.write('A1', u'主机地址')
    worksheet1.write('B1', u'时间')
    worksheet1.write('C1', u'TCP连接数')
    row = 1
    for i in nRet:
        print( i[0], i[1], i[2])
        worksheet1.write(row, 0, ip)
        worksheet1.write(row, 1, i[1])
        worksheet1.write(row, 2, i[2])
        row += 1
        if row == reCount:
            break
    workbook.close()

def run():
    for ip in host_list:
        sql_login(ip)

if __name__ == '__main__':

    run()

我需要的数据比较简单:
主机IP地址 CPU最大值 CPU最小值 内存使用率最大值 内存使用率最小值 磁盘/使用率
zabbix (3)
接下里开始分析zabbix表结构,拿到最比较老的版本zabbix表结构说明,
https://blog.csdn.net/zhangxueleishamo/article/details/94400572
开始测试。