设为首页 收藏本站
查看: 769|回复: 0

[经验分享] 二次开发:zabbix表结构

[复制链接]

尚未签到

发表于 2017-12-31 17:59:52 | 显示全部楼层 |阅读模式
zabbix数据库表结构的重要性
  想理解zabbix的前端代码、做深入的二次开发,甚至的调优,那就不能不了解数据库的表结构了。
  我们这里采用的zabbix1.8、mysql,所以简单的说下我们mysql这边的表结构,其他环境不保证正确。


mysql> show tables;
+-----------------------+
| Tables_in_zabbix      |
+-----------------------+
| acknowledges          |
| actions               |
| alerts                |
| application_template  |
| applications          |
| auditlog              |
| auditlog_details      |
| autoreg_host          |
| conditions            |
| config                |
| dbversion             |
| dchecks               |
| dhosts                |
| drules                |
| dservices             |
| escalations           |
| events                |
| expressions           |
| functions             |
| globalmacro           |
| globalvars            |
| graph_discovery       |
| graph_theme           |
| graphs                |
| graphs_items          |
| group_discovery       |
| group_prototype       |
| groups                |
| history               |
| history_log           |
| history_str           |
| history_text          |
| history_uint          |
| host_discovery        |
| host_inventory        |
| hostmacro             |
| hosts                 |
| hosts_groups          |
| hosts_templates       |
| housekeeper           |
| httpstep              |
| httpstepitem          |
| httptest              |
| httptestitem          |
| icon_map              |
| icon_mapping          |
|>
| images                |
| interface             |
| interface_discovery   |
| item_condition        |
| item_discovery        |
| items                 |
| items_applications    |
| maintenances          |
| maintenances_groups   |
| maintenances_hosts    |
| maintenances_windows  |
| mappings              |
| media                 |
| media_type            |
| opcommand             |
| opcommand_grp         |
| opcommand_hst         |
| opconditions          |
| operations            |
| opgroup               |
| opmessage             |
| opmessage_grp         |
| opmessage_usr         |
| optemplate            |
| profiles              |
| proxy_autoreg_host    |
| proxy_dhistory        |
| proxy_history         |
| regexps               |
| rights                |
| screens               |
| screens_items         |
| scripts               |
| service_alarms        |
| services              |
| services_links        |
| services_times        |
| sessions              |
| slides                |
| slideshows            |
| sysmap_element_url    |
| sysmap_url            |
| sysmaps               |
| sysmaps_elements      |
| sysmaps_link_triggers |
| sysmaps_links         |
| timeperiods           |
| trends                |
| trends_uint           |
| trigger_depends       |
| trigger_discovery     |
| triggers              |
| user_history          |
| users                 |
| users_groups          |
| usrgrp                |
| valuemaps             |
+-----------------------+

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

mysql> desc actions;  
+---------------+---------------------+------+-----+---------+-------+
  
| Field         | Type                | Null | Key | Default | Extra |
  
+---------------+---------------------+------+-----+---------+-------+
  
| actionid      | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| name          | varchar(255)        | NO   |     |         |       |
  
| eventsource   | int(11)             | NO   | MUL | 0       |       |
  
| evaltype      | int(11)             | NO   |     | 0       |       |
  
| status        | int(11)             | NO   |     | 0       |       |
  
| esc_period    | int(11)             | NO   |     | 0       |       |
  
| def_shortdata | varchar(255)        | NO   |     |         |       |
  
| def_longdata  | blob                | NO   |     | NULL    |       |
  
| recovery_msg  | int(11)             | NO   |     | 0       |       |
  
| r_shortdata   | varchar(255)        | NO   |     |         |       |
  
| r_longdata    | blob                | NO   |     | NULL    |       |
  
+---------------+---------------------+------+-----+---------+-------+
  

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

mysql> desc alerts;  
+-------------+---------------------+------+-----+---------+-------+
  
| Field       | Type                | Null | Key | Default | Extra |
  
+-------------+---------------------+------+-----+---------+-------+
  
| alertid     | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| actionid    | bigint(20) unsigned | NO   | MUL | 0       |       |
  
| eventid     | bigint(20) unsigned | NO   | MUL | 0       |       |
  
| userid      | bigint(20) unsigned | NO   | MUL | 0       |       |
  
| clock       | int(11)             | NO   | PRI | 0       |       |
  
| mediatypeid | bigint(20) unsigned | NO   | MUL | 0       |       |
  
| sendto      | varchar(100)        | NO   |     |         |       |
  
| subject     | varchar(255)        | NO   |     |         |       |
  
| message     | blob                | NO   |     | NULL    |       |
  
| status      | int(11)             | NO   | MUL | 0       |       |
  
| retries     | int(11)             | NO   |     | 0       |       |
  
| error       | varchar(128)        | NO   |     |         |       |
  
| nextcheck   | int(11)             | NO   |     | 0       |       |
  
| esc_step    | int(11)             | NO   |     | 0       |       |
  
| alerttype   | int(11)             | NO   |     | 0       |       |
  
+-------------+---------------------+------+-----+---------+-------+
  

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

mysql> desc config;  
+-------------------------+---------------------+------+-----+-----------------+-------+
  
| Field                   | Type                | Null | Key | Default         | Extra |
  
+-------------------------+---------------------+------+-----+-----------------+-------+
  
| configid                | bigint(20) unsigned | NO   | PRI | 0               |       |
  
| alert_history           | int(11)             | NO   |     | 0               |       |
  
| event_history           | int(11)             | NO   |     | 0               |       |
  
| refresh_unsupported     | int(11)             | NO   |     | 0               |       |
  
| work_period             | varchar(100)        | NO   |     | 1-5,00:00-24:00 |       |
  
| alert_usrgrpid          | bigint(20) unsigned | NO   |     | 0               |       |
  
| event_ack_enable        | int(11)             | NO   |     | 1               |       |
  
| event_expire            | int(11)             | NO   |     | 7               |       |
  
| event_show_max          | int(11)             | NO   |     | 100             |       |
  
| default_theme           | varchar(128)        | NO   |     | default.css     |       |
  
| authentication_type     | int(11)             | NO   |     | 0               |       |
  
| ldap_host               | varchar(255)        | NO   |     |                 |       |
  
| ldap_port               | int(11)             | NO   |     | 389             |       |
  
| ldap_base_dn            | varchar(255)        | NO   |     |                 |       |
  
| ldap_bind_dn            | varchar(255)        | NO   |     |                 |       |
  
| ldap_bind_password      | varchar(128)        | NO   |     |                 |       |
  
| ldap_search_attribute   | varchar(128)        | NO   |     |                 |       |
  
| dropdown_first_entry    | int(11)             | NO   |     | 1               |       |
  
| dropdown_first_remember | int(11)             | NO   |     | 1               |       |
  
| discovery_groupid       | bigint(20) unsigned | NO   |     | 0               |       |
  
| max_in_table            | int(11)             | NO   |     | 50              |       |
  
| search_limit            | int(11)             | NO   |     | 1000            |       |
  
+-------------------------+---------------------+------+-----+-----------------+-------+
  

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

mysql> desc functions ;  
+------------+---------------------+------+-----+---------+-------+
  
| Field      | Type                | Null | Key | Default | Extra |
  
+------------+---------------------+------+-----+---------+-------+
  
| functionid | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| itemid     | bigint(20) unsigned | NO   | MUL | 0       |       |
  
| triggerid  | bigint(20) unsigned | NO   | MUL | 0       |       |
  
| lastvalue  | varchar(255)        | YES  |     | NULL    |       |
  
| function   | varchar(12)         | NO   |     |         |       |
  
| parameter  | varchar(255)        | NO   |     | 0       |       |
  
+------------+---------------------+------+-----+---------+-------+
  

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

mysql> desc graphs;  
+------------------+---------------------+------+-----+---------+-------+
  
| Field            | Type                | Null | Key | Default | Extra |
  
+------------------+---------------------+------+-----+---------+-------+
  
| graphid          | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| name             | varchar(128)        | NO   | MUL |         |       |

  
|>
  
|>  
| yaxismin         | double(16,4)        | NO   |     | 0.0000  |       |
  
| yaxismax         | double(16,4)        | NO   |     | 0.0000  |       |
  
| templateid       | bigint(20) unsigned | NO   |     | 0       |       |
  
| show_work_period | int(11)             | NO   |     | 1       |       |
  
| show_triggers    | int(11)             | NO   |     | 1       |       |
  
| graphtype        | int(11)             | NO   |     | 0       |       |
  
| show_legend      | int(11)             | NO   |     | 0       |       |
  
| show_3d          | int(11)             | NO   |     | 0       |       |
  
| percent_left     | double(16,4)        | NO   |     | 0.0000  |       |
  
| percent_right    | double(16,4)        | NO   |     | 0.0000  |       |
  
| ymin_type        | int(11)             | NO   |     | 0       |       |
  
| ymax_type        | int(11)             | NO   |     | 0       |       |
  
| ymin_itemid      | bigint(20) unsigned | NO   |     | 0       |       |
  
| ymax_itemid      | bigint(20) unsigned | NO   |     | 0       |       |
  
+------------------+---------------------+------+-----+---------+-------+
  

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

mysql> desc graphs_items;  
+-------------+---------------------+------+-----+---------+-------+
  
| Field       | Type                | Null | Key | Default | Extra |
  
+-------------+---------------------+------+-----+---------+-------+
  
| gitemid     | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| graphid     | bigint(20) unsigned | NO   | MUL | 0       |       |
  
| itemid      | bigint(20) unsigned | NO   | MUL | 0       |       |
  
| drawtype    | int(11)             | NO   |     | 0       |       |
  
| sortorder   | int(11)             | NO   |     | 0       |       |
  
| color       | varchar(6)          | NO   |     | 009600  |       |
  
| yaxisside   | int(11)             | NO   |     | 1       |       |
  
| calc_fnc    | int(11)             | NO   |     | 2       |       |
  
| type        | int(11)             | NO   |     | 0       |       |
  
| periods_cnt | int(11)             | NO   |     | 5       |       |
  
+-------------+---------------------+------+-----+---------+-------+
  

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

mysql> desc groups ;  
+----------+---------------------+------+-----+---------+-------+
  
| Field    | Type                | Null | Key | Default | Extra |
  
+----------+---------------------+------+-----+---------+-------+
  
| groupid  | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| name     | varchar(64)         | NO   | MUL |         |       |
  
| internal | int(11)             | NO   |     | 0       |       |
  
+----------+---------------------+------+-----+---------+-------+
  

history 、history_str、history_log 、history_uint_sync等
  这部分表都差不多,唯一不同的是保存的数据类型,history_str保存的数据
  类型就算str即字符类型的。这个是和采集时设置的数据类型一致的。
  需要注意的时,因为history表有这么多的类型,那自己写报表系统等去查询
  数据时,就需要判断下数据的采集类型,如果查错了表,那肯定时没有数据的。
  

mysql> desc history;  
+--------+---------------------+------+-----+---------+-------+
  
| Field  | Type                | Null | Key | Default | Extra |
  
+--------+---------------------+------+-----+---------+-------+
  
| itemid | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| clock  | int(11)             | NO   | PRI | 0       |       |
  
| value  | double(16,4)        | NO   |     | 0.0000  |       |
  
+--------+---------------------+------+-----+---------+-------+
  

  
mysql> desc history_str;
  
+--------+---------------------+------+-----+---------+-------+
  
| Field  | Type                | Null | Key | Default | Extra |
  
+--------+---------------------+------+-----+---------+-------+
  
| itemid | bigint(20) unsigned | NO   | MUL | 0       |       |
  
| clock  | int(11)             | NO   |     | 0       |       |
  
| value  | varchar(255)        | NO   |     |         |       |
  
+--------+---------------------+------+-----+---------+-------+
  

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

trends、trends_uint
  trends 也是保存了历史数据用的,和history不同的时,trends表仅仅保存了
  小时平均的值,即你可以理解为是history表的数据压缩。所以trends表也有
  很多的类型,对应history。
  值的注意的trends和history表这两类表数据量都非常大,我们一天大概就要有
  40G 的数据。
  所以注意定是去做压缩、删除。
  

mysql> desc trends;  
+-----------+---------------------+------+-----+---------+-------+
  
| Field     | Type                | Null | Key | Default | Extra |
  
+-----------+---------------------+------+-----+---------+-------+
  
| itemid    | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| clock     | int(11)             | NO   | PRI | 0       |       |
  
| num       | int(11)             | NO   |     | 0       |       |
  
| value_min | double(16,4)        | NO   |     | 0.0000  |       |
  
| value_avg | double(16,4)        | NO   |     | 0.0000  |       |
  
| value_max | double(16,4)        | NO   |     | 0.0000  |       |
  
+-----------+---------------------+------+-----+---------+-------+
  

  
mysql> desc trends_uint;
  
+-----------+---------------------+------+-----+---------+-------+
  
| Field     | Type                | Null | Key | Default | Extra |
  
+-----------+---------------------+------+-----+---------+-------+
  
| itemid    | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| clock     | int(11)             | NO   | PRI | 0       |       |
  
| num       | int(11)             | NO   |     | 0       |       |
  
| value_min | bigint(20) unsigned | NO   |     | 0       |       |
  
| value_avg | bigint(20) unsigned | NO   |     | 0       |       |
  
| value_max | bigint(20) unsigned | NO   |     | 0       |       |
  
+-----------+---------------------+------+-----+---------+-------+
  

hosts
  hosts 非常重要,保存了每个agent、proxy等的IP 、hostid、状态、IPMI等信息,
  几乎是记录了一台设备的所有的信息。
  当然hostid是当中非常非常重要的信息,其他的表一般都时关联hostid的。
  

mysql> desc hosts;  
+--------------------+---------------------+------+-----+-----------+-------+
  
| Field              | Type                | Null | Key | Default   | Extra |
  
+--------------------+---------------------+------+-----+-----------+-------+
  
| hostid             | bigint(20) unsigned | NO   | PRI | 0         |       |
  
| proxy_hostid       | bigint(20) unsigned | NO   | MUL | 0         |       |
  
| host               | varchar(64)         | NO   | MUL |           |       |
  
| dns                | varchar(64)         | NO   |     |           |       |
  
| useip              | int(11)             | NO   |     | 1         |       |
  
| ip                 | varchar(39)         | NO   |     | 127.0.0.1 |       |
  
| port               | int(11)             | NO   |     | 10050     |       |
  
| status             | int(11)             | NO   | MUL | 0         |       |
  
| disable_until      | int(11)             | NO   |     | 0         |       |
  
| error              | varchar(128)        | NO   |     |           |       |
  
| available          | int(11)             | NO   |     | 0         |       |
  
| errors_from        | int(11)             | NO   |     | 0         |       |
  
| lastaccess         | int(11)             | NO   |     | 0         |       |
  
| inbytes            | bigint(20) unsigned | NO   |     | 0         |       |
  
| outbytes           | bigint(20) unsigned | NO   |     | 0         |       |
  
| useipmi            | int(11)             | NO   |     | 0         |       |
  
| ipmi_port          | int(11)             | NO   |     | 623       |       |
  
| ipmi_authtype      | int(11)             | NO   |     | 0         |       |
  
| ipmi_privilege     | int(11)             | NO   |     | 2         |       |
  
| ipmi_username      | varchar(16)         | NO   |     |           |       |
  
| ipmi_password      | varchar(20)         | NO   |     |           |       |
  
| ipmi_disable_until | int(11)             | NO   |     | 0         |       |
  
| ipmi_available     | int(11)             | NO   |     | 0         |       |
  
| snmp_disable_until | int(11)             | NO   |     | 0         |       |
  
| snmp_available     | int(11)             | NO   |     | 0         |       |
  
| maintenanceid      | bigint(20) unsigned | NO   |     | 0         |       |
  
| maintenance_status | int(11)             | NO   |     | 0         |       |
  
| maintenance_type   | int(11)             | NO   |     | 0         |       |
  
| maintenance_from   | int(11)             | NO   |     | 0         |       |
  
| ipmi_ip            | varchar(64)         | NO   |     | 127.0.0.1 |       |
  
| ipmi_errors_from   | int(11)             | NO   |     | 0         |       |
  
| snmp_errors_from   | int(11)             | NO   |     | 0         |       |
  
| ipmi_error         | varchar(128)        | NO   |     |           |       |
  
| snmp_error         | varchar(128)        | NO   |     |           |       |
  
+--------------------+---------------------+------+-----+-----------+-------+
  

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

hosts_groups
  hosts_groups 保存了host(主机)与host groups(主机组)的关联关系。
  这部分信息可以在我们自己做一些批量查询,例如查询关联到某个主机组的所有
  设备的IP 、存活状态等,进一步去查询该批量设备的load、IO、mem等统计信息。
  我之前做的一个简单的报表就是例如了这部分的信息去查询某个业务线下所有设备
  的一周统计信息,当然了是在同一个主机组或者模版组才可以的。
  

mysql> desc hosts_groups ;  
+-------------+---------------------+------+-----+---------+-------+
  
| Field       | Type                | Null | Key | Default | Extra |
  
+-------------+---------------------+------+-----+---------+-------+
  
| hostgroupid | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| hostid      | bigint(20) unsigned | NO   | MUL | 0       |       |
  
| groupid     | bigint(20) unsigned | NO   | MUL | 0       |       |
  
+-------------+---------------------+------+-----+---------+-------+
  

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

mysql> desc items ;  
+-----------------------+---------------------+------+-----+---------+-------+
  
| Field                 | Type                | Null | Key | Default | Extra |
  
+-----------------------+---------------------+------+-----+---------+-------+
  
| itemid                | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| type                  | int(11)             | NO   |     | 0       |       |
  
| snmp_community        | varchar(64)         | NO   |     |         |       |
  
| snmp_oid              | varchar(255)        | NO   |     |         |       |
  
| snmp_port             | int(11)             | NO   |     | 161     |       |
  
| hostid                | bigint(20) unsigned | NO   | MUL | 0       |       |
  
| description           | varchar(255)        | NO   |     |         |       |
  
| key_                  | varchar(255)        | NO   |     |         |       |
  
| delay                 | int(11)             | NO   |     | 0       |       |
  
| history               | int(11)             | NO   |     | 90      |       |
  
| trends                | int(11)             | NO   |     | 365     |       |
  
| lastvalue             | varchar(255)        | YES  |     | NULL    |       |
  
| lastclock             | int(11)             | YES  |     | NULL    |       |
  
| prevvalue             | varchar(255)        | YES  |     | NULL    |       |
  
| status                | int(11)             | NO   | MUL | 0       |       |
  
| value_type            | int(11)             | NO   |     | 0       |       |
  
| trapper_hosts         | varchar(255)        | NO   |     |         |       |
  
| units                 | varchar(10)         | NO   |     |         |       |
  
| multiplier            | int(11)             | NO   |     | 0       |       |
  
| delta                 | int(11)             | NO   |     | 0       |       |
  
| prevorgvalue          | varchar(255)        | YES  |     | NULL    |       |
  
| snmpv3_securityname   | varchar(64)         | NO   |     |         |       |
  
| snmpv3_securitylevel  | int(11)             | NO   |     | 0       |       |
  
| snmpv3_authpassphrase | varchar(64)         | NO   |     |         |       |
  
| snmpv3_privpassphrase | varchar(64)         | NO   |     |         |       |
  
| formula               | varchar(255)        | NO   |     | 1       |       |
  
| error                 | varchar(128)        | NO   |     |         |       |
  
| lastlogsize           | int(11)             | NO   |     | 0       |       |
  
| logtimefmt            | varchar(64)         | NO   |     |         |       |
  
| templateid            | bigint(20) unsigned | NO   | MUL | 0       |       |
  
| valuemapid            | bigint(20) unsigned | NO   |     | 0       |       |
  
| delay_flex            | varchar(255)        | NO   |     |         |       |
  
| params                | text                | NO   |     | NULL    |       |
  
| ipmi_sensor           | varchar(128)        | NO   |     |         |       |
  
| data_type             | int(11)             | NO   |     | 0       |       |
  
| authtype              | int(11)             | NO   |     | 0       |       |
  
| username              | varchar(64)         | NO   |     |         |       |
  
| password              | varchar(64)         | NO   |     |         |       |
  
| publickey             | varchar(64)         | NO   |     |         |       |
  
| privatekey            | varchar(64)         | NO   |     |         |       |
  
| mtime                 | int(11)             | NO   |     | 0       |       |
  
+-----------------------+---------------------+------+-----+---------+-------+
  

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

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

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

mysql> desc media_type;  
+-------------+---------------------+------+-----+---------+-------+
  
| Field       | Type                | Null | Key | Default | Extra |
  
+-------------+---------------------+------+-----+---------+-------+
  
| mediatypeid | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| type        | int(11)             | NO   |     | 0       |       |
  
| description | varchar(100)        | NO   |     |         |       |
  
| smtp_server | varchar(255)        | NO   |     |         |       |
  
| smtp_helo   | varchar(255)        | NO   |     |         |       |
  
| smtp_email  | varchar(255)        | NO   |     |         |       |
  
| exec_path   | varchar(255)        | NO   |     |         |       |
  
| gsm_modem   | varchar(255)        | NO   |     |         |       |
  
| username    | varchar(255)        | NO   |     |         |       |
  
| passwd      | varchar(255)        | NO   |     |         |       |
  
+-------------+---------------------+------+-----+---------+-------+
  

  media 与media_type 通过mediatypeid 键关联。

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

mysql> desc profiles ;  
+-----------+---------------------+------+-----+---------+-------+
  
| Field     | Type                | Null | Key | Default | Extra |
  
+-----------+---------------------+------+-----+---------+-------+
  
| profileid | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| userid    | bigint(20) unsigned | NO   | MUL | 0       |       |

  
|>
  
|>  
| value_id  | bigint(20) unsigned | NO   |     | 0       |       |
  
| value_int | int(11)             | NO   |     | 0       |       |
  
| value_str | varchar(255)        | NO   |     |         |       |
  
| source    | varchar(96)         | NO   |     |         |       |
  
| type      | int(11)             | NO   |     | 0       |       |
  
+-----------+---------------------+------+-----+---------+-------+
  

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

mysql> desc rights;  
+------------+---------------------+------+-----+---------+-------+
  
| Field      | Type                | Null | Key | Default | Extra |
  
+------------+---------------------+------+-----+---------+-------+
  
| rightid    | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| groupid    | bigint(20) unsigned | NO   | MUL | 0       |       |
  
| permission | int(11)             | NO   |     | 0       |       |

  
|>  
+------------+---------------------+------+-----+---------+-------+
  

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

mysql> desc graphs;  
+------------------+---------------------+------+-----+---------+-------+
  
| Field            | Type                | Null | Key | Default | Extra |
  
+------------------+---------------------+------+-----+---------+-------+
  
| graphid          | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| name             | varchar(128)        | NO   | MUL |         |       |

  
|>
  
|>  
| yaxismin         | double(16,4)        | NO   |     | 0.0000  |       |
  
| yaxismax         | double(16,4)        | NO   |     | 0.0000  |       |
  
| templateid       | bigint(20) unsigned | NO   |     | 0       |       |
  
| show_work_period | int(11)             | NO   |     | 1       |       |
  
| show_triggers    | int(11)             | NO   |     | 1       |       |
  
| graphtype        | int(11)             | NO   |     | 0       |       |
  
| show_legend      | int(11)             | NO   |     | 0       |       |
  
| show_3d          | int(11)             | NO   |     | 0       |       |
  
| percent_left     | double(16,4)        | NO   |     | 0.0000  |       |
  
| percent_right    | double(16,4)        | NO   |     | 0.0000  |       |
  
| ymin_type        | int(11)             | NO   |     | 0       |       |
  
| ymax_type        | int(11)             | NO   |     | 0       |       |
  
| ymin_itemid      | bigint(20) unsigned | NO   |     | 0       |       |
  
| ymax_itemid      | bigint(20) unsigned | NO   |     | 0       |       |
  
+------------------+---------------------+------+-----+---------+-------+
  

screens_items
  同graphs_items。
  

mysql> desc screens_items;  
+--------------+---------------------+------+-----+---------+-------+
  
| Field        | Type                | Null | Key | Default | Extra |
  
+--------------+---------------------+------+-----+---------+-------+
  
| screenitemid | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| screenid     | bigint(20) unsigned | NO   |     | 0       |       |
  
| resourcetype | int(11)             | NO   |     | 0       |       |
  
| resourceid   | bigint(20) unsigned | NO   |     | 0       |       |

  
|>
  
|>  
| x            | int(11)             | NO   |     | 0       |       |
  
| y            | int(11)             | NO   |     | 0       |       |
  
| colspan      | int(11)             | NO   |     | 0       |       |
  
| rowspan      | int(11)             | NO   |     | 0       |       |
  
| elements     | int(11)             | NO   |     | 25      |       |
  
| valign       | int(11)             | NO   |     | 0       |       |
  
| halign       | int(11)             | NO   |     | 0       |       |
  
| style        | int(11)             | NO   |     | 0       |       |
  
| url          | varchar(255)        | NO   |     |         |       |
  
| dynamic      | int(11)             | NO   |     | 0       |       |
  
+--------------+---------------------+------+-----+---------+-------+
  

sessions
  sessions 表很重要,保存了每个用户的sessions,在登陆、注销的时候均会操作
  该张表的。
  做cas等统一认证时,需要了解下该表和相关的登陆、验证流程。有兴趣的看我
  前面的文章吧。
  

mysql> desc sessions;  
+------------+---------------------+------+-----+---------+-------+
  
| Field      | Type                | Null | Key | Default | Extra |
  
+------------+---------------------+------+-----+---------+-------+
  
| sessionid  | varchar(32)         | NO   | PRI |         |       |
  
| userid     | bigint(20) unsigned | NO   | MUL | 0       |       |
  
| lastaccess | int(11)             | NO   |     | 0       |       |
  
| status     | int(11)             | NO   |     | 0       |       |
  
+------------+---------------------+------+-----+---------+-------+
  

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

mysql> desc triggers;  
+-------------+---------------------+------+-----+---------+-------+
  
| Field       | Type                | Null | Key | Default | Extra |
  
+-------------+---------------------+------+-----+---------+-------+
  
| triggerid   | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| expression  | varchar(255)        | NO   |     |         |       |
  
| description | varchar(255)        | NO   |     |         |       |
  
| url         | varchar(255)        | NO   |     |         |       |
  
| status      | int(11)             | NO   | MUL | 0       |       |
  
| value       | int(11)             | NO   | MUL | 0       |       |
  
| priority    | int(11)             | NO   |     | 0       |       |
  
| lastchange  | int(11)             | NO   |     | 0       |       |
  
| dep_level   | int(11)             | NO   |     | 0       |       |
  
| comments    | blob                | NO   |     | NULL    |       |
  
| error       | varchar(128)        | NO   |     |         |       |
  
| templateid  | bigint(20) unsigned | NO   |     | 0       |       |
  
| type        | int(11)             | NO   |     | 0       |       |
  
+-------------+---------------------+------+-----+---------+-------+
  

trigger_depends
  trigger_depends 保存了trigger的依赖关系。
  

mysql> desc trigger_depends;  
+----------------+---------------------+------+-----+---------+-------+
  
| Field          | Type                | Null | Key | Default | Extra |
  
+----------------+---------------------+------+-----+---------+-------+
  
| triggerdepid   | bigint(20) unsigned | NO   | PRI | 0       |       |
  
| triggerid_down | bigint(20) unsigned | NO   | MUL | 0       |       |
  
| triggerid_up   | bigint(20) unsigned | NO   | MUL | 0       |       |
  
+----------------+---------------------+------+-----+---------+-------+
  

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

mysql> desc users;  
+----------------+---------------------+------+-----+-------------+-------+
  
| Field          | Type                | Null | Key | Default     | Extra |
  
+----------------+---------------------+------+-----+-------------+-------+
  
| userid         | bigint(20) unsigned | NO   | PRI | 0           |       |
  
| alias          | varchar(100)        | NO   | MUL |             |       |
  
| name           | varchar(100)        | NO   |     |             |       |
  
| surname        | varchar(100)        | NO   |     |             |       |
  
| passwd         | char(32)            | NO   |     |             |       |
  
| url            | varchar(255)        | NO   |     |             |       |
  
| autologin      | int(11)             | NO   |     | 0           |       |
  
| autologout     | int(11)             | NO   |     | 900         |       |
  
| lang           | varchar(5)          | NO   |     | en_gb       |       |
  
| refresh        | int(11)             | NO   |     | 30          |       |
  
| type           | int(11)             | NO   |     | 0           |       |
  
| theme          | varchar(128)        | NO   |     | default.css |       |
  
| attempt_failed | int(11)             | NO   |     | 0           |       |
  
| attempt_ip     | varchar(39)         | NO   |     |             |       |
  
| attempt_clock  | int(11)             | NO   |     | 0           |       |
  
| rows_per_page  | int(11)             | NO   |     | 50          |       |
  
+----------------+---------------------+------+-----+-------------+-------+
  

转载:http://www.furion.info/623.html
  使用python获取表中TCP连接数,生成Execl文件


#/usr/bin/env python
# -*- coding: utf-8 -*-
import MySQLdb
import xlsxwriter
import time
host_list = ['192.168.0.1',
                '192.168.0.2',
                '192.168.0.3',
               ]
def sql_login(ip):
    conn = MySQLdb.connect(host='地址', port=3306, user='账号', passwd='密码', db='库名')
    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()

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-430325-1-1.html 上篇帖子: Zabbix部署-LNMP环境 下篇帖子: 安装Zabbix随笔记录。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表