zabbix数据库表结构的重要性

想理解zabbix的前端代码、做深入的二次开发,甚至的调优,那就不能不了解数据库的表结构了。

我们这里采用的zabbix1.8、mysql,所以简单的说下我们mysql这边的表结构,其他环境不保证正确。

  1. mysql> show tables;
  2. +-----------------------+
  3. | Tables_in_zabbix |
  4. +-----------------------+
  5. | acknowledges |
  6. | actions |
  7. | alerts |
  8. | application_template |
  9. | applications |
  10. | auditlog |
  11. | auditlog_details |
  12. | autoreg_host |
  13. | conditions |
  14. | config |
  15. | dbversion |
  16. | dchecks |
  17. | dhosts |
  18. | drules |
  19. | dservices |
  20. | escalations |
  21. | events |
  22. | expressions |
  23. | functions |
  24. | globalmacro |
  25. | globalvars |
  26. | graph_discovery |
  27. | graph_theme |
  28. | graphs |
  29. | graphs_items |
  30. | group_discovery |
  31. | group_prototype |
  32. | groups |
  33. | history |
  34. | history_log |
  35. | history_str |
  36. | history_text |
  37. | history_uint |
  38. | host_discovery |
  39. | host_inventory |
  40. | hostmacro |
  41. | hosts |
  42. | hosts_groups |
  43. | hosts_templates |
  44. | housekeeper |
  45. | httpstep |
  46. | httpstepitem |
  47. | httptest |
  48. | httptestitem |
  49. | icon_map |
  50. | icon_mapping |
  51. | ids |
  52. | images |
  53. | interface |
  54. | interface_discovery |
  55. | item_condition |
  56. | item_discovery |
  57. | items |
  58. | items_applications |
  59. | maintenances |
  60. | maintenances_groups |
  61. | maintenances_hosts |
  62. | maintenances_windows |
  63. | mappings |
  64. | media |
  65. | media_type |
  66. | opcommand |
  67. | opcommand_grp |
  68. | opcommand_hst |
  69. | opconditions |
  70. | operations |
  71. | opgroup |
  72. | opmessage |
  73. | opmessage_grp |
  74. | opmessage_usr |
  75. | optemplate |
  76. | profiles |
  77. | proxy_autoreg_host |
  78. | proxy_dhistory |
  79. | proxy_history |
  80. | regexps |
  81. | rights |
  82. | screens |
  83. | screens_items |
  84. | scripts |
  85. | service_alarms |
  86. | services |
  87. | services_links |
  88. | services_times |
  89. | sessions |
  90. | slides |
  91. | slideshows |
  92. | sysmap_element_url |
  93. | sysmap_url |
  94. | sysmaps |
  95. | sysmaps_elements |
  96. | sysmaps_link_triggers |
  97. | sysmaps_links |
  98. | timeperiods |
  99. | trends |
  100. | trends_uint |
  101. | trigger_depends |
  102. | trigger_discovery |
  103. | triggers |
  104. | user_history |
  105. | users |
  106. | users_groups |
  107. | usrgrp |
  108. | valuemaps |
  109. +-----------------------+

actions

actions表记录了当触发器触发时,需要采用的动作。

  1. mysql> desc actions;
  2. +---------------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +---------------+---------------------+------+-----+---------+-------+
  5. | actionid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | name | varchar(255) | NO | | | |
  7. | eventsource | int(11) | NO | MUL | 0 | |
  8. | evaltype | int(11) | NO | | 0 | |
  9. | status | int(11) | NO | | 0 | |
  10. | esc_period | int(11) | NO | | 0 | |
  11. | def_shortdata | varchar(255) | NO | | | |
  12. | def_longdata | blob | NO | | NULL | |
  13. | recovery_msg | int(11) | NO | | 0 | |
  14. | r_shortdata | varchar(255) | NO | | | |
  15. | r_longdata | blob | NO | | NULL | |
  16. +---------------+---------------------+------+-----+---------+-------+

alerts

alerts 表保存了历史的告警事件,可以从这个表里面去做一些统计分析,例如某个部门、
某人、某类时间的告警统计,以及更深入的故障发生、恢复时间,看你想怎么用了。

  1. mysql> desc alerts;
  2. +-------------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +-------------+---------------------+------+-----+---------+-------+
  5. | alertid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | actionid | bigint(20) unsigned | NO | MUL | 0 | |
  7. | eventid | bigint(20) unsigned | NO | MUL | 0 | |
  8. | userid | bigint(20) unsigned | NO | MUL | 0 | |
  9. | clock | int(11) | NO | PRI | 0 | |
  10. | mediatypeid | bigint(20) unsigned | NO | MUL | 0 | |
  11. | sendto | varchar(100) | NO | | | |
  12. | subject | varchar(255) | NO | | | |
  13. | message | blob | NO | | NULL | |
  14. | status | int(11) | NO | MUL | 0 | |
  15. | retries | int(11) | NO | | 0 | |
  16. | error | varchar(128) | NO | | | |
  17. | nextcheck | int(11) | NO | | 0 | |
  18. | esc_step | int(11) | NO | | 0 | |
  19. | alerttype | int(11) | NO | | 0 | |
  20. +-------------+---------------------+------+-----+---------+-------+

config

config表保存了全局的参数,前端包括后端也是,很多情况下会查询改表的参数的,例如用户的自定义主题、
登陆认证类型等,非常重要,

不过对我们做数据分析意义不大。

  1. mysql> desc config;
  2. +-------------------------+---------------------+------+-----+-----------------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +-------------------------+---------------------+------+-----+-----------------+-------+
  5. | configid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | alert_history | int(11) | NO | | 0 | |
  7. | event_history | int(11) | NO | | 0 | |
  8. | refresh_unsupported | int(11) | NO | | 0 | |
  9. | work_period | varchar(100) | NO | | 1-5,00:00-24:00 | |
  10. | alert_usrgrpid | bigint(20) unsigned | NO | | 0 | |
  11. | event_ack_enable | int(11) | NO | | 1 | |
  12. | event_expire | int(11) | NO | | 7 | |
  13. | event_show_max | int(11) | NO | | 100 | |
  14. | default_theme | varchar(128) | NO | | default.css | |
  15. | authentication_type | int(11) | NO | | 0 | |
  16. | ldap_host | varchar(255) | NO | | | |
  17. | ldap_port | int(11) | NO | | 389 | |
  18. | ldap_base_dn | varchar(255) | NO | | | |
  19. | ldap_bind_dn | varchar(255) | NO | | | |
  20. | ldap_bind_password | varchar(128) | NO | | | |
  21. | ldap_search_attribute | varchar(128) | NO | | | |
  22. | dropdown_first_entry | int(11) | NO | | 1 | |
  23. | dropdown_first_remember | int(11) | NO | | 1 | |
  24. | discovery_groupid | bigint(20) unsigned | NO | | 0 | |
  25. | max_in_table | int(11) | NO | | 50 | |
  26. | search_limit | int(11) | NO | | 1000 | |
  27. +-------------------------+---------------------+------+-----+-----------------+-------+

functions

function 表时非常重要的一个表了,记录了trigger中使用的表达式,例如max、last、nodata等函数。

但其实这个表说他重要时因为同时记录了trigger、itemid,那就可以做一些API的开发了,例如根据
IP 茶香改IP的所有trigger,我记得1.8的版本的API是无法实现我说的这个功能的,那只能利用
function表去自己查询了。

  1. mysql> desc functions ;
  2. +------------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +------------+---------------------+------+-----+---------+-------+
  5. | functionid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | itemid | bigint(20) unsigned | NO | MUL | 0 | |
  7. | triggerid | bigint(20) unsigned | NO | MUL | 0 | |
  8. | lastvalue | varchar(255) | YES | | NULL | |
  9. | function | varchar(12) | NO | | | |
  10. | parameter | varchar(255) | NO | | 0 | |
  11. +------------+---------------------+------+-----+---------+-------+

graphs

graphs 表包含了用户定义的图表信息,同样的玩法可以是根据IP去查询改IP下的所有图表,
不过似乎是有API的,我只是举例而已。

  1. mysql> desc graphs;
  2. +------------------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +------------------+---------------------+------+-----+---------+-------+
  5. | graphid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | name | varchar(128) | NO | MUL | | |
  7. | width | int(11) | NO | | 0 | |
  8. | height | int(11) | NO | | 0 | |
  9. | yaxismin | double(16,4) | NO | | 0.0000 | |
  10. | yaxismax | double(16,4) | NO | | 0.0000 | |
  11. | templateid | bigint(20) unsigned | NO | | 0 | |
  12. | show_work_period | int(11) | NO | | 1 | |
  13. | show_triggers | int(11) | NO | | 1 | |
  14. | graphtype | int(11) | NO | | 0 | |
  15. | show_legend | int(11) | NO | | 0 | |
  16. | show_3d | int(11) | NO | | 0 | |
  17. | percent_left | double(16,4) | NO | | 0.0000 | |
  18. | percent_right | double(16,4) | NO | | 0.0000 | |
  19. | ymin_type | int(11) | NO | | 0 | |
  20. | ymax_type | int(11) | NO | | 0 | |
  21. | ymin_itemid | bigint(20) unsigned | NO | | 0 | |
  22. | ymax_itemid | bigint(20) unsigned | NO | | 0 | |
  23. +------------------+---------------------+------+-----+---------+-------+

graphs_items

graphs_items 保存了属于某个图表的所有的监控项信息。

  1. mysql> desc graphs_items;
  2. +-------------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +-------------+---------------------+------+-----+---------+-------+
  5. | gitemid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | graphid | bigint(20) unsigned | NO | MUL | 0 | |
  7. | itemid | bigint(20) unsigned | NO | MUL | 0 | |
  8. | drawtype | int(11) | NO | | 0 | |
  9. | sortorder | int(11) | NO | | 0 | |
  10. | color | varchar(6) | NO | | 009600 | |
  11. | yaxisside | int(11) | NO | | 1 | |
  12. | calc_fnc | int(11) | NO | | 2 | |
  13. | type | int(11) | NO | | 0 | |
  14. | periods_cnt | int(11) | NO | | 5 | |
  15. +-------------+---------------------+------+-----+---------+-------+

groups

groups 没啥说的,都懂,就是保存了组名和组的ID 。

  1. mysql> desc groups ;
  2. +----------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +----------+---------------------+------+-----+---------+-------+
  5. | groupid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | name | varchar(64) | NO | MUL | | |
  7. | internal | int(11) | NO | | 0 | |
  8. +----------+---------------------+------+-----+---------+-------+

history 、history_str、history_log 、history_uint_sync等

这部分表都差不多,唯一不同的是保存的数据类型,history_str保存的数据
类型就算str即字符类型的。这个是和采集时设置的数据类型一致的。

需要注意的时,因为history表有这么多的类型,那自己写报表系统等去查询
数据时,就需要判断下数据的采集类型,如果查错了表,那肯定时没有数据的。

  1. mysql> desc history;
  2. +--------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +--------+---------------------+------+-----+---------+-------+
  5. | itemid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | clock | int(11) | NO | PRI | 0 | |
  7. | value | double(16,4) | NO | | 0.0000 | |
  8. +--------+---------------------+------+-----+---------+-------+
  9.  
  10. mysql> desc history_str;
  11. +--------+---------------------+------+-----+---------+-------+
  12. | Field | Type | Null | Key | Default | Extra |
  13. +--------+---------------------+------+-----+---------+-------+
  14. | itemid | bigint(20) unsigned | NO | MUL | 0 | |
  15. | clock | int(11) | NO | | 0 | |
  16. | value | varchar(255) | NO | | | |
  17. +--------+---------------------+------+-----+---------+-------+

接收item值时的时间值存放在两个字段内,大于1秒的部分存放找clock字段单位是秒(s),小于一秒的部分存放在ns字段单位是纳秒(ns)。

两个字段相加的值才是接收item值时的时间值,一般不用关心小于1秒的部分。

trends、trends_uint

trends 也是保存了历史数据用的,和history不同的时,trends表仅仅保存了
小时平均的值,即你可以理解为是history表的数据压缩。所以trends表也有
很多的类型,对应history。

值的注意的trends和history表这两类表数据量都非常大,我们一天大概就要有
40G 的数据。

所以注意定是去做压缩、删除。

  1. mysql> desc trends;
  2. +-----------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +-----------+---------------------+------+-----+---------+-------+
  5. | itemid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | clock | int(11) | NO | PRI | 0 | |
  7. | num | int(11) | NO | | 0 | |
  8. | value_min | double(16,4) | NO | | 0.0000 | |
  9. | value_avg | double(16,4) | NO | | 0.0000 | |
  10. | value_max | double(16,4) | NO | | 0.0000 | |
  11. +-----------+---------------------+------+-----+---------+-------+
  12.  
  13. mysql> desc trends_uint;
  14. +-----------+---------------------+------+-----+---------+-------+
  15. | Field | Type | Null | Key | Default | Extra |
  16. +-----------+---------------------+------+-----+---------+-------+
  17. | itemid | bigint(20) unsigned | NO | PRI | 0 | |
  18. | clock | int(11) | NO | PRI | 0 | |
  19. | num | int(11) | NO | | 0 | |
  20. | value_min | bigint(20) unsigned | NO | | 0 | |
  21. | value_avg | bigint(20) unsigned | NO | | 0 | |
  22. | value_max | bigint(20) unsigned | NO | | 0 | |
  23. +-----------+---------------------+------+-----+---------+-------+

hosts

hosts 非常重要,保存了每个agent、proxy等的IP 、hostid、状态、IPMI等信息,
几乎是记录了一台设备的所有的信息。

当然hostid是当中非常非常重要的信息,其他的表一般都时关联hostid的。

  1. mysql> desc hosts;
  2. +--------------------+---------------------+------+-----+-----------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +--------------------+---------------------+------+-----+-----------+-------+
  5. | hostid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | proxy_hostid | bigint(20) unsigned | NO | MUL | 0 | |
  7. | host | varchar(64) | NO | MUL | | |
  8. | dns | varchar(64) | NO | | | |
  9. | useip | int(11) | NO | | 1 | |
  10. | ip | varchar(39) | NO | | 127.0.0.1 | |
  11. | port | int(11) | NO | | 10050 | |
  12. | status | int(11) | NO | MUL | 0 | |
  13. | disable_until | int(11) | NO | | 0 | |
  14. | error | varchar(128) | NO | | | |
  15. | available | int(11) | NO | | 0 | |
  16. | errors_from | int(11) | NO | | 0 | |
  17. | lastaccess | int(11) | NO | | 0 | |
  18. | inbytes | bigint(20) unsigned | NO | | 0 | |
  19. | outbytes | bigint(20) unsigned | NO | | 0 | |
  20. | useipmi | int(11) | NO | | 0 | |
  21. | ipmi_port | int(11) | NO | | 623 | |
  22. | ipmi_authtype | int(11) | NO | | 0 | |
  23. | ipmi_privilege | int(11) | NO | | 2 | |
  24. | ipmi_username | varchar(16) | NO | | | |
  25. | ipmi_password | varchar(20) | NO | | | |
  26. | ipmi_disable_until | int(11) | NO | | 0 | |
  27. | ipmi_available | int(11) | NO | | 0 | |
  28. | snmp_disable_until | int(11) | NO | | 0 | |
  29. | snmp_available | int(11) | NO | | 0 | |
  30. | maintenanceid | bigint(20) unsigned | NO | | 0 | |
  31. | maintenance_status | int(11) | NO | | 0 | |
  32. | maintenance_type | int(11) | NO | | 0 | |
  33. | maintenance_from | int(11) | NO | | 0 | |
  34. | ipmi_ip | varchar(64) | NO | | 127.0.0.1 | |
  35. | ipmi_errors_from | int(11) | NO | | 0 | |
  36. | snmp_errors_from | int(11) | NO | | 0 | |
  37. | ipmi_error | varchar(128) | NO | | | |
  38. | snmp_error | varchar(128) | NO | | | |
  39. +--------------------+---------------------+------+-----+-----------+-------+

其实1.0的版本中,是没有这么多的字段的,好像只有hostid、host、status、disable_until
等几个字段,但1.8已经如此丰富了。

hosts_groups

hosts_groups 保存了host(主机)与host groups(主机组)的关联关系。

这部分信息可以在我们自己做一些批量查询,例如查询关联到某个主机组的所有
设备的IP 、存活状态等,进一步去查询该批量设备的load、IO、mem等统计信息。

我之前做的一个简单的报表就是例如了这部分的信息去查询某个业务线下所有设备
的一周统计信息,当然了是在同一个主机组或者模版组才可以的。

  1. mysql> desc hosts_groups ;
  2. +-------------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +-------------+---------------------+------+-----+---------+-------+
  5. | hostgroupid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | hostid | bigint(20) unsigned | NO | MUL | 0 | |
  7. | groupid | bigint(20) unsigned | NO | MUL | 0 | |
  8. +-------------+---------------------+------+-----+---------+-------+

items

items 表保存了采集项的信息。

  1. mysql> desc items ;
  2. +-----------------------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +-----------------------+---------------------+------+-----+---------+-------+
  5. | itemid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | type | int(11) | NO | | 0 | |
  7. | snmp_community | varchar(64) | NO | | | |
  8. | snmp_oid | varchar(255) | NO | | | |
  9. | snmp_port | int(11) | NO | | 161 | |
  10. | hostid | bigint(20) unsigned | NO | MUL | 0 | |
  11. | description | varchar(255) | NO | | | |
  12. | key_ | varchar(255) | NO | | | |
  13. | delay | int(11) | NO | | 0 | |
  14. | history | int(11) | NO | | 90 | |
  15. | trends | int(11) | NO | | 365 | |
  16. | lastvalue | varchar(255) | YES | | NULL | |
  17. | lastclock | int(11) | YES | | NULL | |
  18. | prevvalue | varchar(255) | YES | | NULL | |
  19. | status | int(11) | NO | MUL | 0 | |
  20. | value_type | int(11) | NO | | 0 | |
  21. | trapper_hosts | varchar(255) | NO | | | |
  22. | units | varchar(10) | NO | | | |
  23. | multiplier | int(11) | NO | | 0 | |
  24. | delta | int(11) | NO | | 0 | |
  25. | prevorgvalue | varchar(255) | YES | | NULL | |
  26. | snmpv3_securityname | varchar(64) | NO | | | |
  27. | snmpv3_securitylevel | int(11) | NO | | 0 | |
  28. | snmpv3_authpassphrase | varchar(64) | NO | | | |
  29. | snmpv3_privpassphrase | varchar(64) | NO | | | |
  30. | formula | varchar(255) | NO | | 1 | |
  31. | error | varchar(128) | NO | | | |
  32. | lastlogsize | int(11) | NO | | 0 | |
  33. | logtimefmt | varchar(64) | NO | | | |
  34. | templateid | bigint(20) unsigned | NO | MUL | 0 | |
  35. | valuemapid | bigint(20) unsigned | NO | | 0 | |
  36. | delay_flex | varchar(255) | NO | | | |
  37. | params | text | NO | | NULL | |
  38. | ipmi_sensor | varchar(128) | NO | | | |
  39. | data_type | int(11) | NO | | 0 | |
  40. | authtype | int(11) | NO | | 0 | |
  41. | username | varchar(64) | NO | | | |
  42. | password | varchar(64) | NO | | | |
  43. | publickey | varchar(64) | NO | | | |
  44. | privatekey | varchar(64) | NO | | | |
  45. | mtime | int(11) | NO | | 0 | |
  46. +-----------------------+---------------------+------+-----+---------+-------+

media

media 保存了某个用户的media配置项,即对应的告警方式。

  1. mysql> desc media;
  2. +-------------+---------------------+------+-----+-----------------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +-------------+---------------------+------+-----+-----------------+-------+
  5. | mediaid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | userid | bigint(20) unsigned | NO | MUL | 0 | |
  7. | mediatypeid | bigint(20) unsigned | NO | MUL | 0 | |
  8. | sendto | varchar(100) | NO | | | |
  9. | active | int(11) | NO | | 0 | |
  10. | severity | int(11) | NO | | 63 | |
  11. | period | varchar(100) | NO | | 1-7,00:00-23:59 | |
  12. +-------------+---------------------+------+-----+-----------------+-------+

media_type

media_type 表与media 表不同的是media_type 记录了某个告警方式对应的脚步等的存放路径。

  1. mysql> desc media_type;
  2. +-------------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +-------------+---------------------+------+-----+---------+-------+
  5. | mediatypeid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | type | int(11) | NO | | 0 | |
  7. | description | varchar(100) | NO | | | |
  8. | smtp_server | varchar(255) | NO | | | |
  9. | smtp_helo | varchar(255) | NO | | | |
  10. | smtp_email | varchar(255) | NO | | | |
  11. | exec_path | varchar(255) | NO | | | |
  12. | gsm_modem | varchar(255) | NO | | | |
  13. | username | varchar(255) | NO | | | |
  14. | passwd | varchar(255) | NO | | | |
  15. +-------------+---------------------+------+-----+---------+-------+

media 与media_type 通过mediatypeid 键关联。

profiles

profiles 表保存了用户的一些配置项。

  1. mysql> desc profiles ;
  2. +-----------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +-----------+---------------------+------+-----+---------+-------+
  5. | profileid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | userid | bigint(20) unsigned | NO | MUL | 0 | |
  7. | idx | varchar(96) | NO | | | |
  8. | idx2 | bigint(20) unsigned | NO | | 0 | |
  9. | value_id | bigint(20) unsigned | NO | | 0 | |
  10. | value_int | int(11) | NO | | 0 | |
  11. | value_str | varchar(255) | NO | | | |
  12. | source | varchar(96) | NO | | | |
  13. | type | int(11) | NO | | 0 | |
  14. +-----------+---------------------+------+-----+---------+-------+

rights

rights 表保存了用户组的权限信息,zabbix的权限一直也是我理不太清的地方,
其实这个表里面有详细的记录。

  1. mysql> desc rights;
  2. +------------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +------------+---------------------+------+-----+---------+-------+
  5. | rightid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | groupid | bigint(20) unsigned | NO | MUL | 0 | |
  7. | permission | int(11) | NO | | 0 | |
  8. | id | bigint(20) unsigned | YES | MUL | NULL | |
  9. +------------+---------------------+------+-----+---------+-------+

screens

screens 表保存了用户定义的图片。

  1. mysql> desc graphs;
  2. +------------------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +------------------+---------------------+------+-----+---------+-------+
  5. | graphid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | name | varchar(128) | NO | MUL | | |
  7. | width | int(11) | NO | | 0 | |
  8. | height | int(11) | NO | | 0 | |
  9. | yaxismin | double(16,4) | NO | | 0.0000 | |
  10. | yaxismax | double(16,4) | NO | | 0.0000 | |
  11. | templateid | bigint(20) unsigned | NO | | 0 | |
  12. | show_work_period | int(11) | NO | | 1 | |
  13. | show_triggers | int(11) | NO | | 1 | |
  14. | graphtype | int(11) | NO | | 0 | |
  15. | show_legend | int(11) | NO | | 0 | |
  16. | show_3d | int(11) | NO | | 0 | |
  17. | percent_left | double(16,4) | NO | | 0.0000 | |
  18. | percent_right | double(16,4) | NO | | 0.0000 | |
  19. | ymin_type | int(11) | NO | | 0 | |
  20. | ymax_type | int(11) | NO | | 0 | |
  21. | ymin_itemid | bigint(20) unsigned | NO | | 0 | |
  22. | ymax_itemid | bigint(20) unsigned | NO | | 0 | |
  23. +------------------+---------------------+------+-----+---------+-------+

screens_items

同graphs_items。

  1. mysql> desc screens_items;
  2. +--------------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +--------------+---------------------+------+-----+---------+-------+
  5. | screenitemid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | screenid | bigint(20) unsigned | NO | | 0 | |
  7. | resourcetype | int(11) | NO | | 0 | |
  8. | resourceid | bigint(20) unsigned | NO | | 0 | |
  9. | width | int(11) | NO | | 320 | |
  10. | height | int(11) | NO | | 200 | |
  11. | x | int(11) | NO | | 0 | |
  12. | y | int(11) | NO | | 0 | |
  13. | colspan | int(11) | NO | | 0 | |
  14. | rowspan | int(11) | NO | | 0 | |
  15. | elements | int(11) | NO | | 25 | |
  16. | valign | int(11) | NO | | 0 | |
  17. | halign | int(11) | NO | | 0 | |
  18. | style | int(11) | NO | | 0 | |
  19. | url | varchar(255) | NO | | | |
  20. | dynamic | int(11) | NO | | 0 | |
  21. +--------------+---------------------+------+-----+---------+-------+

sessions

sessions 表很重要,保存了每个用户的sessions,在登陆、注销的时候均会操作
该张表的。

做cas等统一认证时,需要了解下该表和相关的登陆、验证流程。有兴趣的看我
前面的文章吧。

  1. mysql> desc sessions;
  2. +------------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +------------+---------------------+------+-----+---------+-------+
  5. | sessionid | varchar(32) | NO | PRI | | |
  6. | userid | bigint(20) unsigned | NO | MUL | 0 | |
  7. | lastaccess | int(11) | NO | | 0 | |
  8. | status | int(11) | NO | | 0 | |
  9. +------------+---------------------+------+-----+---------+-------+

triggers

triggers 顾名思义保存了trigger的所有信息。

  1. mysql> desc triggers;
  2. +-------------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +-------------+---------------------+------+-----+---------+-------+
  5. | triggerid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | expression | varchar(255) | NO | | | |
  7. | description | varchar(255) | NO | | | |
  8. | url | varchar(255) | NO | | | |
  9. | status | int(11) | NO | MUL | 0 | |
  10. | value | int(11) | NO | MUL | 0 | |
  11. | priority | int(11) | NO | | 0 | |
  12. | lastchange | int(11) | NO | | 0 | |
  13. | dep_level | int(11) | NO | | 0 | |
  14. | comments | blob | NO | | NULL | |
  15. | error | varchar(128) | NO | | | |
  16. | templateid | bigint(20) unsigned | NO | | 0 | |
  17. | type | int(11) | NO | | 0 | |
  18. +-------------+---------------------+------+-----+---------+-------+

trigger_depends

trigger_depends 保存了trigger的依赖关系。

  1. mysql> desc trigger_depends;
  2. +----------------+---------------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +----------------+---------------------+------+-----+---------+-------+
  5. | triggerdepid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | triggerid_down | bigint(20) unsigned | NO | MUL | 0 | |
  7. | triggerid_up | bigint(20) unsigned | NO | MUL | 0 | |
  8. +----------------+---------------------+------+-----+---------+-------+

users

不需要解释了,值的一提的部分用户配置会在该表中,例如auotlogin、autologout、
url、theme等信息。

  1. mysql> desc users;
  2. +----------------+---------------------+------+-----+-------------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +----------------+---------------------+------+-----+-------------+-------+
  5. | userid | bigint(20) unsigned | NO | PRI | 0 | |
  6. | alias | varchar(100) | NO | MUL | | |
  7. | name | varchar(100) | NO | | | |
  8. | surname | varchar(100) | NO | | | |
  9. | passwd | char(32) | NO | | | |
  10. | url | varchar(255) | NO | | | |
  11. | autologin | int(11) | NO | | 0 | |
  12. | autologout | int(11) | NO | | 900 | |
  13. | lang | varchar(5) | NO | | en_gb | |
  14. | refresh | int(11) | NO | | 30 | |
  15. | type | int(11) | NO | | 0 | |
  16. | theme | varchar(128) | NO | | default.css | |
  17. | attempt_failed | int(11) | NO | | 0 | |
  18. | attempt_ip | varchar(39) | NO | | | |
  19. | attempt_clock | int(11) | NO | | 0 | |
  20. | rows_per_page | int(11) | NO | | 50 | |
  21. +----------------+---------------------+------+-----+-------------+-------+

转载:http://www.furion.info/623.html

使用python获取表中TCP连接数,生成Execl文件

  1. #/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. import MySQLdb
  5. import xlsxwriter
  6. import time
  7.  
  8. host_list = ['192.168.0.1',
  9. '192.168.0.2',
  10. '192.168.0.3',
  11. ]
  12.  
  13. def sql_login(ip):
  14. conn = MySQLdb.connect(host='地址', port=3306, user='账号', passwd='密码', db='库名')
  15. cur = conn.cursor()
  16. sql_context = "select itemid, FROM_UNIXTIME(clock, '%Y-%m-%d %H:%i:%S'), value " \
  17. "from history_uint where itemid = (select itemid from items where items.key_ = 'tcpconn' " \
  18. "and items.hostid = (select hostid from hosts where host = '" + ip + \
  19. "')) and clock >= UNIX_TIMESTAMP('2016-04-22 18:00:00') and clock < UNIX_TIMESTAMP('2016-04-24 00:00:00')"
  20. reCount = cur.execute(sql_context)
  21. nRet = cur.fetchall()
  22. cur.close()
  23. conn.close()
  24.  
  25. print reCount
  26. #print nRet
  27. perfix = time.strftime('%y%m%d%H%M%S')
  28. xfilename = "./data/" + ip + "_conn_" + perfix + ".xlsx"
  29. workbook = xlsxwriter.Workbook(xfilename)
  30. worksheet1 = workbook.add_worksheet()
  31. worksheet1.write('A1', u'主机地址')
  32. worksheet1.write('B1', u'时间')
  33. worksheet1.write('C1', u'TCP连接数')
  34. row = 1
  35. for i in nRet:
  36. print i[0], i[1], i[2]
  37. worksheet1.write(row, 0, ip)
  38. worksheet1.write(row, 1, i[1])
  39. worksheet1.write(row, 2, i[2])
  40. row += 1
  41. if row == reCount:
  42. break
  43. workbook.close()
  44.  
  45. def run():
  46. for ip in host_list:
  47. sql_login(ip)
  48.  
  49. if __name__ == '__main__':
  50.  
  51. run()

zabbix表结构的更多相关文章

  1. zabbix 表结构详情(基本)

    zabbix表结构 1.acknowledges 记录告警的确认信息 2.actions 记录了当触发器触发时,需要采用的动作. mysql> desc actions; +---------- ...

  2. 【Zabbix】 Zabbix表结构说明【转载】

    本文转自[https://www.cnblogs.com/shhnwangjian/p/5484352.html] 参考文[https://www.cnblogs.com/learningJAVA/p ...

  3. zabbix数据库表结构解析

     下面开始介绍: 1.添加监控表结构详解 (1)hosts,存储被监控的机器的信息,表结构如下: (2)items (3)hosts_templates,存储机器和模版或者模版和模版之间的关系 由于模 ...

  4. Zabbix的数据表结构

    看到Zabbix的数据表结构吧,就知道数据量大了 性能问题很让人担忧,不过基于Zabbix数据库导出报表,或自动跑报表的时候,就必须去了解一下zabbix的数据表结构了,得知道XX放在哪才能找到XX, ...

  5. 15.5 自学Zabbix之路15.5 Zabbix数据库表结构简单解析-其他 表

    点击返回:自学Zabbix之路 自学Zabbix之路15.5 Zabbix数据库表结构简单解析-其他 表  1. Actions表 actions表记录了当触发器触发时,需要采用的动作. 2.Aler ...

  6. 25 Zabbix系统数据表结构介绍

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 25 Zabbix系统数据表结构介绍 自学Zabbix之路15.1 Zabbix数据库表结构简单解 ...

  7. 自学Zabbix之路15.1 Zabbix数据库表结构简单解析-Hosts表、Hosts_groups表、Interface表

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix之路15.1 Zabbix数据库表结构简单解析-Hosts表.Hosts_grou ...

  8. 自学Zabbix之路15.2 Zabbix数据库表结构简单解析-Items表

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix之路15.2 Zabbix数据库表结构简单解析-Items表 Items表记录了i ...

  9. 自学Zabbix之路15.3 Zabbix数据库表结构简单解析-Triggers表、Applications表、 Mapplings表

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix之路15.3 Zabbix数据库表结构简单解析-Triggers表.Applica ...

随机推荐

  1. Centos7下修改默认网卡名(改为eth0)的操作记录

    安装好centos7版本的系统后,发现默认的网卡名字有点怪,为了便于管理,可以手动修改.下面对centos7版本下网卡重命名操作做一记录:1)编辑网卡信息[root@linux-node2~]# cd ...

  2. 18种CSS3loading效果完整版,兼容各大主流浏览器,提供在线小工具使用

    今天把之前分享的两篇博客<CSS3实现10种Loading效果>和 <CSS3实现8种Loading效果[二]>整理了一下.因为之前所分享的各种loading效果都只是做了we ...

  3. 【MFC】无边框窗体 WS_THICKFRAME

    1.没有WS_THICKFRAME,有WS_SYSMENU,就没办法通过相应WM_NCHITTEST,去处理窗口的缩放.2.没有WS_THICKFRAME,也没有WS_SYSMEN,在xp系统下任务栏 ...

  4. SilverIight数据绑定实例

    前台Code <DataGrid Name="DataGrid1" AutoGenerateColumns="False" IsReadOnly=&quo ...

  5. python数字图像处理(5):图像的绘制

    实际上前面我们就已经用到了图像的绘制,如: io.imshow(img) 这一行代码的实质是利用matplotlib包对图片进行绘制,绘制成功后,返回一个matplotlib类型的数据.因此,我们也可 ...

  6. [CareerCup] 5.5 Number of Converted Bits 转换数字所需的位数

    5.5 Write a function to determine the number of bits required to convert integer A to integer B.EXAM ...

  7. [CareerCup] 11.2 Sort Anagrams Array 异位词数组排序

    11.2 Write a method to sort an array of strings so that all the anagrams are next to each other. 这道题 ...

  8. 20135208 20135212 LINUX第一次实验报告

    北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础                     班级: 201352 姓名:池彬宁 贺邦 学号:2013521 ...

  9. windows命令行

    [drive:] Change the current driver, without changing its current directory cd [drive:] [path] Just c ...

  10. iOS技巧,宏定义

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAnoAAAPCCAYAAADvRHWgAAAAAXNSR0IArs4c6QAAAZ1pVFh0WE1MOm