zoukankan      html  css  js  c++  java
  • 019-zabbix数据库表详解

    https://www.cnblogs.com/yaoyaojcy/p/10367945.html

     1. 查看目前zabbix系统所有数据表:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    [root@localhost /]# mysql -u root -p
    Enter password:
    Welcome to the MariaDB monitor.  Commands end with ; or g.
    Your MariaDB connection id is 170786
    Server version: 5.5.60-MariaDB MariaDB Server
     
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
     
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
     
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | test               |
    | zabbix             |
    +--------------------+
    5 rows in set (0.01 sec)
     
    MariaDB [(none)]> use zabbix
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
     
    Database changed
    MariaDB [zabbix]> show tables;
    +----------------------------+
    | Tables_in_zabbix           |
    +----------------------------+
    | acknowledges               |
    | actions                    |
    | alerts                     |
    | application_discovery      |
    | application_prototype      |
    | application_template       |
    | applications               |
    | auditlog                   |
    | auditlog_details           |
    | autoreg_host               |
    | conditions                 |
    | config                     |
    | corr_condition             |
    | corr_condition_group       |
    | corr_condition_tag         |
    | corr_condition_tagpair     |
    | corr_condition_tagvalue    |
    | corr_operation             |
    | correlation                |
    | dashboard                  |
    | dashboard_user             |
    | dashboard_usrgrp           |
    | dbversion                  |
    | dchecks                    |
    | dhosts                     |
    | drules                     |
    | dservices                  |
    | escalations                |
    | event_recovery             |
    | event_suppress             |
    | event_tag                  |
    | events                     |
    | expressions                |
    | functions                  |
    | globalmacro                |
    | globalvars                 |
    | graph_discovery            |
    | graph_theme                |
    | graphs                     |
    | graphs_items               |
    | group_discovery            |
    | group_prototype            |
    | history                    |
    | history_log                |
    | history_str                |
    | history_text               |
    | history_uint               |
    | host_discovery             |
    | host_inventory             |
    | hostmacro                  |
    | hosts                      |
    | hosts_groups               |
    | hosts_templates            |
    | housekeeper                |
    | hstgrp                     |
    | httpstep                   |
    | httpstep_field             |
    | httpstepitem               |
    | httptest                   |
    | httptest_field             |
    | httptestitem               |
    | icon_map                   |
    | icon_mapping               |
    | ids                        |
    | images                     |
    interface                  |
    | interface_discovery        |
    | item_application_prototype |
    | item_condition             |
    | item_discovery             |
    | item_preproc               |
    | items                      |
    | items_applications         |
    | maintenance_tag            |
    | maintenances               |
    | maintenances_groups        |
    | maintenances_hosts         |
    | maintenances_windows       |
    | mappings                   |
    | media                      |
    | media_type                 |
    | opcommand                  |
    | opcommand_grp              |
    | opcommand_hst              |
    | opconditions               |
    | operations                 |
    | opgroup                    |
    | opinventory                |
    | opmessage                  |
    | opmessage_grp              |
    | opmessage_usr              |
    | optemplate                 |
    | problem                    |
    | problem_tag                |
    | profiles                   |
    | proxy_autoreg_host         |
    | proxy_dhistory             |
    | proxy_history              |
    | regexps                    |
    | rights                     |
    | screen_user                |
    | screen_usrgrp              |
    | screens                    |
    | screens_items              |
    | scripts                    |
    | service_alarms             |
    | services                   |
    | services_links             |
    | services_times             |
    | sessions                   |
    | slides                     |
    | slideshow_user             |
    | slideshow_usrgrp           |
    | slideshows                 |
    | sysmap_element_trigger     |
    | sysmap_element_url         |
    | sysmap_shape               |
    | sysmap_url                 |
    | sysmap_user                |
    | sysmap_usrgrp              |
    | sysmaps                    |
    | sysmaps_elements           |
    | sysmaps_link_triggers      |
    | sysmaps_links              |
    | tag_filter                 |
    | task                       |
    | task_acknowledge           |
    | task_check_now             |
    | task_close_problem         |
    | task_remote_command        |
    | task_remote_command_result |
    | timeperiods                |
    | trends                     |
    | trends_uint                |
    | trigger_depends            |
    | trigger_discovery          |
    | trigger_tag                |
    | triggers                   |
    | users                      |
    | users_groups               |
    | usrgrp                     |
    | valuemaps                  |
    | widget                     |
    | widget_field               |
    +----------------------------+
    144 rows in set (0.00 sec)
     
    MariaDB [zabbix]>

    2. 查看hosts数据表

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    MariaDB [zabbix]> show create table hosts G;
    *************************** 1. row ***************************
           Table: hosts
    Create Table: CREATE TABLE `hosts` (
      `hostid` bigint(20) unsigned NOT NULL,
      `proxy_hostid` bigint(20) unsigned DEFAULT NULL,
      `host` varchar(128) COLLATE utf8_bin NOT NULL DEFAULT '',
      `status` int(11) NOT NULL DEFAULT '0',
      `disable_until` int(11) NOT NULL DEFAULT '0',
      `error` varchar(2048) COLLATE utf8_bin NOT NULL DEFAULT '',
      `available` int(11) NOT NULL DEFAULT '0',
      `errors_from` int(11) NOT NULL DEFAULT '0',
      `lastaccess` int(11) NOT NULL DEFAULT '0',
      `ipmi_authtype` int(11) NOT NULL DEFAULT '-1',
      `ipmi_privilege` int(11) NOT NULL DEFAULT '2',
      `ipmi_username` varchar(16) COLLATE utf8_bin NOT NULL DEFAULT '',
      `ipmi_password` varchar(20) COLLATE utf8_bin NOT NULL DEFAULT '',
      `ipmi_disable_until` int(11) NOT NULL DEFAULT '0',
      `ipmi_available` int(11) NOT NULL DEFAULT '0',
      `snmp_disable_until` int(11) NOT NULL DEFAULT '0',
      `snmp_available` int(11) NOT NULL DEFAULT '0',
      `maintenanceid` bigint(20) unsigned DEFAULT NULL,
      `maintenance_status` int(11) NOT NULL DEFAULT '0',
      `maintenance_type` int(11) NOT NULL DEFAULT '0',
      `maintenance_from` int(11) NOT NULL DEFAULT '0',
      `ipmi_errors_from` int(11) NOT NULL DEFAULT '0',
      `snmp_errors_from` int(11) NOT NULL DEFAULT '0',
      `ipmi_error` varchar(2048) COLLATE utf8_bin NOT NULL DEFAULT '',
      `snmp_error` varchar(2048) COLLATE utf8_bin NOT NULL DEFAULT '',
      `jmx_disable_until` int(11) NOT NULL DEFAULT '0',
      `jmx_available` int(11) NOT NULL DEFAULT '0',
      `jmx_errors_from` int(11) NOT NULL DEFAULT '0',
      `jmx_error` varchar(2048) COLLATE utf8_bin NOT NULL DEFAULT '',
      `name` varchar(128) COLLATE utf8_bin NOT NULL DEFAULT '',
      `flags` int(11) NOT NULL DEFAULT '0',
      `templateid` bigint(20) unsigned DEFAULT NULL,
      `description` text COLLATE utf8_bin NOT NULL,
      `tls_connect` int(11) NOT NULL DEFAULT '1',
      `tls_accept` int(11) NOT NULL DEFAULT '1',
      `tls_issuer` varchar(1024) COLLATE utf8_bin NOT NULL DEFAULT '',
      `tls_subject` varchar(1024) COLLATE utf8_bin NOT NULL DEFAULT '',
      `tls_psk_identity` varchar(128) COLLATE utf8_bin NOT NULL DEFAULT '',
      `tls_psk` varchar(512) COLLATE utf8_bin NOT NULL DEFAULT '',
      `proxy_address` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `auto_compress` int(11) NOT NULL DEFAULT '1',
      PRIMARY KEY (`hostid`),
      KEY `hosts_1` (`host`),
      KEY `hosts_2` (`status`),
      KEY `hosts_3` (`proxy_hostid`),
      KEY `hosts_4` (`name`),
      KEY `hosts_5` (`maintenanceid`),
      KEY `c_hosts_3` (`templateid`),
      CONSTRAINT `c_hosts_3` FOREIGN KEY (`templateid`) REFERENCES `hosts` (`hostid`) ON DELETE CASCADE,
      CONSTRAINT `c_hosts_1` FOREIGN KEY (`proxy_hostid`) REFERENCES `hosts` (`hostid`),
      CONSTRAINT `c_hosts_2` FOREIGN KEY (`maintenanceid`) REFERENCES `maintenances` (`maintenanceid`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
    1 row in set (0.00 sec)
     
    ERROR: No query specified

    3. 查看interface数据表

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    MariaDB [zabbix]> show create table interface G;
    *************************** 1. row ***************************
           Table: interface
    Create Table: CREATE TABLE `interface` (
      `interfaceid` bigint(20) unsigned NOT NULL,
      `hostid` bigint(20) unsigned NOT NULL,
      `main` int(11) NOT NULL DEFAULT '0',
      `type` int(11) NOT NULL DEFAULT '0',
      `useip` int(11) NOT NULL DEFAULT '1',
      `ip` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '127.0.0.1',
      `dns` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `port` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '10050',
      `bulk` int(11) NOT NULL DEFAULT '1',
      PRIMARY KEY (`interfaceid`),
      KEY `interface_1` (`hostid`,`type`),
      KEY `interface_2` (`ip`,`dns`),
      CONSTRAINT `c_interface_1` FOREIGN KEY (`hostid`) REFERENCES `hosts` (`hostid`) ON DELETE CASCADE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
    1 row in set (0.00 sec)
     
    ERROR: No query specified

     目前zabbix系统监控2台主机:

    查看一下hostid 10263 信息: 

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    MariaDB [zabbix]> select from interface a inner join hosts b on a.hostid=b.hostid where a.hostid=10263 G;
    *************************** 1. row ***************************
           interfaceid: 3
                hostid: 10263
                  main: 1
                  type: 2
                 useip: 1
                    ip: 172.18.100.25
                   dns:
                  port: 161
                  bulk: 1
                hostid: 10263
          proxy_hostid: NULL
                  host: CARLOS_test_100.25
                status: 0
         disable_until: 0
                 error:
             available: 0
           errors_from: 0
            lastaccess: 0
         ipmi_authtype: -1
        ipmi_privilege: 2
         ipmi_username:
         ipmi_password:
    ipmi_disable_until: 0
        ipmi_available: 0
    snmp_disable_until: 0
        snmp_available: 1
         maintenanceid: NULL
    maintenance_status: 0
      maintenance_type: 0
      maintenance_from: 0
      ipmi_errors_from: 0
      snmp_errors_from: 0
            ipmi_error:
            snmp_error:
     jmx_disable_until: 0
         jmx_available: 0
       jmx_errors_from: 0
             jmx_error:
                  name: CARLOS_test_100.25
                 flags: 0
            templateid: NULL
           description:
           tls_connect: 1
            tls_accept: 1
            tls_issuer:
           tls_subject:
      tls_psk_identity:
               tls_psk:
         proxy_address:
         auto_compress: 1

    4. 查看items数据表

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    MariaDB [zabbix]> show create table items G;
    *************************** 1. row ***************************
           Table: items
    Create Table: CREATE TABLE `items` (
      `itemid` bigint(20) unsigned NOT NULL,
      `type` int(11) NOT NULL DEFAULT '0',
      `snmp_community` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '',
      `snmp_oid` varchar(512) COLLATE utf8_bin NOT NULL DEFAULT '',
      `hostid` bigint(20) unsigned NOT NULL,
      `name` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `key_` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `delay` varchar(1024) COLLATE utf8_bin NOT NULL DEFAULT '0',
      `history` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '90d',
      `trends` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '365d',
      `status` int(11) NOT NULL DEFAULT '0',
      `value_type` int(11) NOT NULL DEFAULT '0',
      `trapper_hosts` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `units` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `snmpv3_securityname` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '',
      `snmpv3_securitylevel` int(11) NOT NULL DEFAULT '0',
      `snmpv3_authpassphrase` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '',
      `snmpv3_privpassphrase` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '',
      `formula` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `error` varchar(2048) COLLATE utf8_bin NOT NULL DEFAULT '',
      `lastlogsize` bigint(20) unsigned NOT NULL DEFAULT '0',
      `logtimefmt` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '',
      `templateid` bigint(20) unsigned DEFAULT NULL,
      `valuemapid` bigint(20) unsigned DEFAULT NULL,
      `params` text COLLATE utf8_bin NOT NULL,
      `ipmi_sensor` varchar(128) COLLATE utf8_bin NOT NULL DEFAULT '',
      `authtype` int(11) NOT NULL DEFAULT '0',
      `username` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '',
      `password` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '',
      `publickey` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '',
      `privatekey` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '',
      `mtime` int(11) NOT NULL DEFAULT '0',
      `flags` int(11) NOT NULL DEFAULT '0',
      `interfaceid` bigint(20) unsigned DEFAULT NULL,
      `port` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '',
      `description` text COLLATE utf8_bin NOT NULL,
      `inventory_link` int(11) NOT NULL DEFAULT '0',
      `lifetime` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '30d',
      `snmpv3_authprotocol` int(11) NOT NULL DEFAULT '0',
      `snmpv3_privprotocol` int(11) NOT NULL DEFAULT '0',
      `state` int(11) NOT NULL DEFAULT '0',
      `snmpv3_contextname` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `evaltype` int(11) NOT NULL DEFAULT '0',
      `jmx_endpoint` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `master_itemid` bigint(20) unsigned DEFAULT NULL,
      `timeout` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '3s',
      `url` varchar(2048) COLLATE utf8_bin NOT NULL DEFAULT '',
      `query_fields` varchar(2048) COLLATE utf8_bin NOT NULL DEFAULT '',
      `posts` text COLLATE utf8_bin NOT NULL,
      `status_codes` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '200',
      `follow_redirects` int(11) NOT NULL DEFAULT '1',
      `post_type` int(11) NOT NULL DEFAULT '0',
      `http_proxy` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `headers` text COLLATE utf8_bin NOT NULL,
      `retrieve_mode` int(11) NOT NULL DEFAULT '0',
      `request_method` int(11) NOT NULL DEFAULT '0',
      `output_format` int(11) NOT NULL DEFAULT '0',
      `ssl_cert_file` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `ssl_key_file` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `ssl_key_password` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '',
      `verify_peer` int(11) NOT NULL DEFAULT '0',
      `verify_host` int(11) NOT NULL DEFAULT '0',
      `allow_traps` int(11) NOT NULL DEFAULT '0',
      PRIMARY KEY (`itemid`),
      UNIQUE KEY `items_1` (`hostid`,`key_`),
      KEY `items_3` (`status`),
      KEY `items_4` (`templateid`),
      KEY `items_5` (`valuemapid`),
      KEY `items_6` (`interfaceid`),
      KEY `items_7` (`master_itemid`),
      CONSTRAINT `c_items_5` FOREIGN KEY (`master_itemid`) REFERENCES `items` (`itemid`) ON DELETE CASCADE,
      CONSTRAINT `c_items_1` FOREIGN KEY (`hostid`) REFERENCES `hosts` (`hostid`) ON DELETE CASCADE,
      CONSTRAINT `c_items_2` FOREIGN KEY (`templateid`) REFERENCES `items` (`itemid`) ON DELETE CASCADE,
      CONSTRAINT `c_items_3` FOREIGN KEY (`valuemapid`) REFERENCES `valuemaps` (`valuemapid`),
      CONSTRAINT `c_items_4` FOREIGN KEY (`interfaceid`) REFERENCES `interface` (`interfaceid`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin  

    查看当前zabbix系统items数量:

    1
    select count(*) from interface a inner join hosts b on a.hostid=b.hostid inner join items c on c.hostid=a.hostid where a.hostid=10263 G;

    查看当前zabbix系统单台主机key值与cpu相关:

    1
    2
    select c.key_,b.hostid,a.ip from interface a inner join hosts b on a.hostid=b.hostid inner join items c on c.hostid=a.hostid where a.hostid=
    10263 and c.key_ like "%cpu%" G;

    查看一下与主机相关联的模板数:

    1
    show tables like "%host%";

    1
    select from hosts_templates;

    以上显示主机hostid=10263一共关联6个模板,在zabbix页面确认一下:

    5. 查看目前zabbix系统history表:

    1
    select from history

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    MariaDB [zabbix]> select from items where itemid=28565 and value_type=0 G;
    *************************** 1. row ***************************
                   itemid: 28565
                     type: 3
           snmp_community:
                 snmp_oid:
                   hostid: 10263
                     name: ICMP response time
                     key_: icmppingsec
                    delay: 60s
                  history: 90d
                   trends: 365d
                   status: 0
               value_type: 0
            trapper_hosts:
                    units:
      snmpv3_securityname:
     snmpv3_securitylevel: 0
    snmpv3_authpassphrase:
    snmpv3_privpassphrase:
                  formula:
                    error:
              lastlogsize: 0
               logtimefmt:
               templateid: 28511
               valuemapid: NULL
                   params:
              ipmi_sensor:
                 authtype: 0
                 username:
                 password:
                publickey:
               privatekey:
                    mtime: 0
                    flags: 0
              interfaceid: 3
                     port:
              description:
           inventory_link: 0
                 lifetime: 30d
      snmpv3_authprotocol: 0
      snmpv3_privprotocol: 0
                    state: 0
       snmpv3_contextname:
                 evaltype: 0
             jmx_endpoint:
            master_itemid: NULL
                  timeout: 3s
                      url:
             query_fields:
                    posts:
             status_codes: 200
         follow_redirects: 1
                post_type: 0
               http_proxy:
                  headers:
            retrieve_mode: 0
           request_method: 0
            output_format: 0
            ssl_cert_file:
             ssl_key_file:
         ssl_key_password:
              verify_peer: 0
              verify_host: 0
              allow_traps: 0

    6. 查看目前zabbix系统triggers表:

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

    说在前面:

    • 数据库中的表的名称都是复数,比如存放Host信息的表的名字是Hosts等。
    • 数据库操作有风险,一旦出问题会造成Zabbix crash。需要谨慎操作。
    • 普通的查询可以在备库上进行。两边数据是实时同步的。

    概述:

    • Zabbix数据库共有108个表,表的名称都是复数的。
    • 针对Zabbix中的每一个资源,都有一张表与其对应,比如hosts表,items表等。
    • 每一张表中都有一个id字段,如hosts表中的hostid,items中的itemid等。而资源之间的关联关系是通过外键来完成的。
    • 资源之间的关联关系是通过外键来完成的。比如host和item的关联关系,就是在items表中使用hostid与hosts表中的资源进行关联。

    1. Hosts表

    “host”就是一台被监控的对象。

    Hosts表结构如下:

    • Hostid:唯一标识Host在Zabbix及数据库中的id。不同表之间的关联也要用id。
    • Proxy_hostid:若启用“proxy-server”架构,才会出现被监控机器的proxy_hostid。
    • Host:被监控机器的名字。
    • Dns:DNS的名称。
    • Useip:是否用ip监控。
    • Port:监控的端口。
    • Status:机器目前的状态。“0”为正常监控,“1”为disable。
    • disable_util,error,available,errors_from(ipmi_disable_util,ipmi_error…和 snmp_disable_until…都是此类):这几个都是Zabbix Poller会去修改的值。我看了下poller.c的代码,当poller在第一次取不到值(根据值的类型不同会更新相应的列,Item类型为snmp就会更新snmp_XXX,默认为“zabbix”类型)的时候,会等15秒(CONFIG_UNREACHABLE_DELAY)来重试,并且日志会显示“first network error”,如果15秒后依然取不到值,zabbix会在数据库更新这个host取不到值的信息,即这几列。并且日志里显示“another network error”。 
    • Lastacess:表示proxy最后一次工作的时间。这里的“工作”指Zabbix Server收到Proxy数据。
    • Ipmi*、snmp*、jmx*为使用这三种监控方式时的监控记录。
    • maintenanceid,maintenance_*:这是Zabbix另一个机制Maintaince有关,用于使Host 置于维护状态而不会报警。

    简单针对Host的操作:
      更新机器的proxy。找到proxy的hostid,更新对用host的proxy_hostid: 
               select hostid from hosts where host='ProxyA' and ip='0.0.0.0';  -- get hostid: 1234 
               update hosts set proxy_hostid=1234 where host='Host_To_Update_Proxy'; 
       得到更新的Host状态(enable/disable)如下:
             update hosts set status='0' where host='Host_To_Enable'; 
             update hosts set status='1' where host='Host_To_Disable'; 

    2.Hosts_groups 表

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

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

    3.Interface表 

      Interface表用于存储每一个host的接口信息,此表与hosts表分离,方便了用户修改信息与管理。

     

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

     Items表记录了item的所有设置。在Zabbix中,最多的操作就是对items的。如添加监控项、删除监控项、更新监控配置等。

     

    itemid:item的id 

    type:item的type,和前端见面配置item的type的对应。数据库中,这一列的值是0到17的数字,分别代表不同的类型:

    •  0:Zabbix agent 
    •  1:SNMPv1 agent 
    •  2:Zabbix trapper 
    •  3:simple check 
    •  4:SNMPv2 agent 
    •  5:Zabbix internal 
    •  6:SNMPv3 agent 
    •  7:Zabbix agent(active) 
    •  8:Zabbix aggregate  
    •  9:web item 
    • 10:external check 
    • 11:database monitor 
    • 12:IPMI agent 
    • 13:SSH agent 
    • 14:TELNET agent 
    • 15:calculated 
    • 16:JMX agent 
    • 17:SNMP trap 

    hostid:item所在的host的hostid。如果该item是属于template,那么这里显示的是templateid 

    name:item的名字

    key_:item的key 

    delay:这里的delay,实际就是在配置item时候配置的“Update Interval”

    trends:前端配置中的存储trend的时间

    status:item的状态

    • 0:item是enabled状态
    • 1:item是disabled状态
    • 3:numeric unsigned
    • 4:text

    value_type:item返回值的类型,配置item时候配置的“Type of Information”

    trapper_hosts:当item为trapper类型的时候,记录了也许发送的host

    units: item配置界面中的‘units’

    multiplier:针对这个item是否启用了 ’custom multiplier‘

    delta: item配置界面上的‘store value’

    snmpv3*: 都是和SNMP3相关的配置

    formula:页面设置item时候“User custom multiplier”配置的数字

    error:item的错误信息

    lastlogsize:针对log和logrt类型的items使用时,记录上衣系读取时日志文件的大小

    logtimefmt:针对log和logrt有效,配置日志中时间的格式

    templateid:记录Host上item对应的在template上的item的itemid

    valuemapid:Item配置界面中选择“valuemap”的id

    delay_flex:Item配置界面中选择“Fexible interval”的id

    params:当需要额外参数item时,记录这些参数的地方

    ipmi_sensor:使用IPMI类型的items需要设定的参数

    data_type:Item配置界面中‘datatype’ 选择item返回的数据类型

    authtype:使用SSHI类型的items时有效,选择SSH登陆的类型

    username:使用SSHI类型的items时有效,选择SSH登陆的用户名

    password:使用SSHI类型的items时有效,选择SSH登陆的密码

    publickey:使用SSHI类型的items时有效,但是只有当authtype设置we使用publickey时才有效

    privatekey:使用SSHI类型的items时有效,但是只有当authtype设置we使用privatekey时才有效

    mtime:针对log和logrt有效,配置日志文件的修改时间

    flags:

    • 0:表示一个普通的item
    • 4:表示是discover生成的item

    interfaceid:当使用hosts类型的item时生效,用来选择host上不同的interface

    port:使用SNMP监控室使用的端口号

    description:Item配置界面上的“Description”

    inventory_link:如果这个item的值要座位host的inventory,这里填写的是对应的inventoied

    state:当前item的状态

    • 0:正常
    • 1:not supported 

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

     1.Trigger表

     Trigger是zabbix的重要组成部分,相对应的Trigger表也比较复杂。 主要体现在与其他表的关联关系很强。
     

    2. Applicaion表

        Application表用于存储监控像所属于的应用

     

    • applicationid:为主键编号
    • hostid:对应与host的id
    • name:用于存储application的名称
    • flag:用于存储application的状态。

    3 Mappling表

    Mappings表用于存储的应用状态映射信息,存储数据时会将不同的值、不同的范围对应不同的状态,而用户关心的正是这些状态。

    自学Zabbix之路15.4 Zabbix数据库表结构简单解析-Expressions表、Media表、 Events表 

     1.Expressions表

       Expressions表用于判断triggers时需要用到的正则表达式,助于合理的进行triggers判断。

    2.Media表

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

    3. Events表

    当Zabbix server获取到一个数据,它就会检查跟这个item相关的trigger,然后无论是否触发action,都会生成一个event。

    source:event可能由多种源头生成,这里的source就是记录了这个event是由于什么事 件而生成的。

    • 0:由trigger生成的event
    • 1:由discovery rule生成的event
    •  2:由agent auto-registration生成的event
    •  3:internal的event

    object:这个字段记录了和event关联的Zabbix对象。

    • 对于trigger相关的events,这里的值只可能是0
    • 对于discovery相关的event,“1”表示是discovered host,“2”表示是discovered service
    • 对于auto-registration的event,这里值一定是“3”
    • 对于interval的event
      “0”表示trigger,
      “4”表示item,
      “5”表示low-level discovery  

    objectid:根据前面object里的定义,这里可能为triggerid,也可能是discovered hostid
    ns:在 2.0.0加入这个纳秒的记录的。原因是这样的,如果只有timestamp,那么这个{ITEM.VALUE}会发生错乱。
    value:和object字段类似,根据source的不同,这里的值有不同的含义
           对于trigger类型的event:

    •           0:trigger的状态为OK
    •           1:trigger的状态为PROBLEM 

           对于discovery类型的event:

    • 0:host或者service正在工作
    • 1:host或者service停止工作
    • 2:host或者service被侦测到
    • 3:host或者service丢失了

           对于internal类型的event:

      • 0:normal状态
      • 1:unknown或者not supported状态
     
     

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

     1. Actions表

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

    2.Alerts 表

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

     3. Config表

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

    4. Functions 表

     记录了trigger中使用的表达式,例如max、last、nodata等函数。

    5. graphs_items 表

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

     

    6.profiles 表

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

     

    7.sessions 表

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

     

    8.History
     History表用于存储监控所得的原始数据

     

    • itemid对应与监控项
    • clock为数据的获取时间,用时间戳表示
    • value为获取的原始数据
    • ns表示采集到该数据所用的时间

     9.History_str表 

       history_str表用于存储采集到的数据中需要用字符串记录的数据。

    • temid对应与监控项
    • clock为数据的获取时间,用时间戳表示
    • value为获取的原始数据
    • ns表示采集到该数据所用的时间

     10.Trends 表

       Trends表用于储存监控的趋势性数据,若将所有历史数据保留将占用大量存储空间,单用户可能仍需要查看监控对像的趋势状态,因此需要用到trends表。

     11.Users 表

      部分用户配置会在该表中,例如auotlogin、autologout、url、theme等信息。

     

    表结构和进程:
    MariaDB [zabbix]> show tables
        -> ;
    +----------------------------+
    | Tables_in_zabbix           |
    +----------------------------+
    | acknowledges               |        :存储问题原因的表
    | actions                    |        :存储自动发现动作的表
    | alerts                     |        :报警的表
    | application_discovery      |        :应用发现
    | application_prototype      |        :应用样板
    | application_template       |        :应用模板
    | applications               |        :应用
    | auditlog                   |        :操作日志,就是web页面中的审计日志
    | auditlog_details           |        :操作日志详细
    | autoreg_host               |        :自动注册的主机
    | conditions                 |        :条件,具体没研究,比如触发器的条件,自动注册的条件等
    | config                     |        :配置,就是web中管理中的一般项目中的所有
    | corr_condition             |
    | corr_condition_group       |
    | corr_condition_tag         |
    | corr_condition_tagpair     |
    | corr_condition_tagvalue    |
    | corr_operation             |
    | correlation                |        :关联项
    | dashboard                  |
    | dashboard_user             |
    | dashboard_usrgrp           |
    | dbversion                  |        :数据库的版本
    | dchecks                    |        :检测  在自动发现中用的 system.uname  d可以理解为discover的缩写
    | dhosts                     || drules                     |
    | dservices                  |
    | escalations                |        :报警升级
    | event_recovery             |        :恢复的事件
    | event_suppress             |        :废弃的事件
    | event_tag                  |        :事件的标签
    | events                     |        :事件
    | expressions                |        :正则表达式  就是web中管理中的一般中的正则表达式
    | functions                  |        :要跟着triggers 一起看  如下:
    ###########################################################################################
    MariaDB [zabbix]> select * from triggers where triggerid=16255G;
    *************************** 1. row ***************************
              triggerid: 16255
             expression: {18498}>0
            description: /etc/passwd has been changed on {HOST.NAME}
                    url: 
                 status: 0
                  value: 0
               priority: 2
             lastchange: 0
               comments: 
                  error: 
             templateid: 10016
                   type: 0
                  state: 0
                  flags: 0
          recovery_mode: 0
    recovery_expression: 
       correlation_mode: 0
        correlation_tag: 
           manual_close: 0
                details: 
    1 row in set (0.00 sec)
    
    
    MariaDB [zabbix]> desc functions;
    +------------+---------------------+------+-----+---------+-------+
    | Field      | Type                | Null | Key | Default | Extra |
    +------------+---------------------+------+-----+---------+-------+
    | functionid | bigint(20) unsigned | NO   | PRI | NULL    |       |
    | itemid     | bigint(20) unsigned | NO   | MUL | NULL    |       |
    | triggerid  | bigint(20) unsigned | NO   | MUL | NULL    |       |
    | name       | varchar(12)         | NO   |     |         |       |
    | parameter  | varchar(255)        | NO   |     | 0       |       |
    +------------+---------------------+------+-----+---------+-------+
    5 rows in set (0.01 sec)
    
    MariaDB [zabbix]> select * from functions where functionid=18498G;
    *************************** 1. row ***************************
    functionid: 18498
        itemid: 29826
     triggerid: 16255
          name: diff
     parameter: 0
    1 row in set (0.00 sec)
    
    
    MariaDB [zabbix]> 
    MariaDB [zabbix]> select * from triggers where triggerid=16250G;
    *************************** 1. row ***************************
              triggerid: 16250
             expression: {18493}>20
            description: Disk I/O is overloaded on {HOST.NAME}
                    url: 
                 status: 0
                  value: 0
               priority: 2
             lastchange: 0
               comments: OS spends significant time waiting for I/O (input/output) operations. It could be indicator of performance issues with storage system.
                  error: 
             templateid: 13243
                   type: 0
                  state: 0
                  flags: 0
          recovery_mode: 0
    recovery_expression: 
       correlation_mode: 0
        correlation_tag: 
           manual_close: 0
                details: 
    1 row in set (0.00 sec)
    
    ERROR: No query specified
    
    MariaDB [zabbix]> select * from functions where functionid=18493G;
    *************************** 1. row ***************************
    functionid: 18493
        itemid: 29812
     triggerid: 16250
          name: avg
     parameter: 5m
    1 row in set (0.00 sec)
    
    #################################################################################################
    
    | globalmacro                |        :全局的宏
    | globalvars                 |        :全局变量
    | graph_discovery            |        :图形的发现
    | graph_theme                |        :图形的主题
    | graphs                     |        :图形
    | graphs_items               |        :图形的监控项
    | group_discovery            || group_prototype            |        :组的模型
    | history                    |        :存的是浮点数
    | history_log                |        :存的是日志
    | history_str                |
    | history_text               |
    | history_uint               |        :存的是无符号的正整数
    | host_discovery             |
    | host_inventory             |        :资产
    | host_tag                   || hostmacro                  |        :主机的宏
    | hosts                      |        :主机
    | hosts_groups               |        :主机组
    | hosts_templates            |        :主机模板
    | housekeeper                |        :定期去清数据库的历史数据
    ####################################################################################################
    [root@zabbix ~]# ps -ef | grep zabbix_server
    zabbix    39375      1  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
    zabbix    39380  39375  0 15:05 ?        00:00:08 /usr/sbin/zabbix_server: configuration syncer [synced configuration in 0.024709 sec, idle 60 sec]
    zabbix    39381  39375  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server: housekeeper [deleted 2287 hist/trends, 0 items/triggers, 160 events, 0 sessions, 0 alarms, 0 audit items, 0 records in 0.099492 sec, idle for 1
    zabbix    39382  39375  0 15:05 ?        00:00:01 /usr/sbin/zabbix_server: timer #1 [updated 0 hosts, suppressed 0 events in 0.000923 sec, idle 59 sec]
    zabbix    39383  39375  0 15:05 ?        00:00:01 /usr/sbin/zabbix_server: http poller #1 [got 0 values in 0.000993 sec, idle 5 sec]
    zabbix    39385  39375  0 15:05 ?        00:00:04 /usr/sbin/zabbix_server: discoverer #1 [processed 1 rules in 3.025297 sec, performing discovery]
    zabbix    39387  39375  0 15:05 ?        00:00:02 /usr/sbin/zabbix_server: history syncer #1 [processed 0 values, 0 triggers in 0.000024 sec, idle 1 sec]
    zabbix    39388  39375  0 15:05 ?        00:00:02 /usr/sbin/zabbix_server: history syncer #2 [processed 0 values, 0 triggers in 0.000093 sec, idle 1 sec]
    zabbix    39389  39375  0 15:05 ?        00:00:02 /usr/sbin/zabbix_server: history syncer #3 [processed 0 values, 0 triggers in 0.000016 sec, idle 1 sec]
    zabbix    39390  39375  0 15:05 ?        00:00:02 /usr/sbin/zabbix_server: history syncer #4 [processed 1 values, 0 triggers in 0.002126 sec, idle 1 sec]
    zabbix    39391  39375  0 15:05 ?        00:00:02 /usr/sbin/zabbix_server: escalator #1 [processed 0 escalations in 0.001176 sec, idle 3 sec]
    zabbix    39392  39375  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server: proxy poller #1 [exchanged data with 0 proxies in 0.000069 sec, idle 5 sec]
    zabbix    39393  39375  0 15:05 ?        00:00:01 /usr/sbin/zabbix_server: self-monitoring [processed data in 0.000015 sec, idle 1 sec]
    zabbix    39394  39375  0 15:05 ?        00:00:01 /usr/sbin/zabbix_server: task manager [processed 0 task(s) in 0.000318 sec, idle 5 sec]
    zabbix    39395  39375  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server: poller #1 [got 0 values in 0.000010 sec, idle 5 sec]
    zabbix    39396  39375  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server: poller #2 [got 0 values in 0.000020 sec, idle 5 sec]
    zabbix    39397  39375  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server: poller #3 [got 0 values in 0.000010 sec, idle 5 sec]
    zabbix    39398  39375  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server: poller #4 [got 0 values in 0.000032 sec, idle 5 sec]
    zabbix    39399  39375  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server: poller #5 [got 0 values in 0.000039 sec, idle 5 sec]
    zabbix    39400  39375  0 15:05 ?        00:00:03 /usr/sbin/zabbix_server: unreachable poller #1 [got 0 values in 0.000043 sec, idle 5 sec]
    zabbix    39408  39375  0 15:05 ?        00:00:02 /usr/sbin/zabbix_server: trapper #1 [processed data in 0.000346 sec, waiting for connection]
    zabbix    39409  39375  0 15:05 ?        00:00:02 /usr/sbin/zabbix_server: trapper #2 [processed data in 0.000768 sec, waiting for connection]
    zabbix    39410  39375  0 15:05 ?        00:00:02 /usr/sbin/zabbix_server: trapper #3 [processed data in 0.000767 sec, waiting for connection]
    zabbix    39411  39375  0 15:05 ?        00:00:02 /usr/sbin/zabbix_server: trapper #4 [processed data in 0.000578 sec, waiting for connection]
    zabbix    39412  39375  0 15:05 ?        00:00:02 /usr/sbin/zabbix_server: trapper #5 [processed data in 0.001200 sec, waiting for connection]
    zabbix    39413  39375  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server: icmp pinger #1 [got 0 values in 0.000029 sec, idle 5 sec]
    zabbix    39414  39375  0 15:05 ?        00:00:03 /usr/sbin/zabbix_server: alert manager #1 [sent 0, failed 0 alerts, idle 5.008432 sec during 5.008528 sec]
    zabbix    39415  39375  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server: alerter #1 started
    zabbix    39416  39375  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server: alerter #2 started
    zabbix    39417  39375  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server: alerter #3 started
    zabbix    39418  39375  0 15:05 ?        00:00:01 /usr/sbin/zabbix_server: preprocessing manager #1 [queued 0, processed 0 values, idle 5.005733 sec during 5.006085 sec]
    zabbix    39419  39375  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server: preprocessing worker #1 started
    zabbix    39425  39375  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server: preprocessing worker #2 started
    zabbix    39426  39375  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server: preprocessing worker #3 started
    zabbix    39427  39375  0 15:05 ?        00:00:01 /usr/sbin/zabbix_server: lld manager #1 [processed 0 LLD rules during 5.008159 sec]
    zabbix    39428  39375  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server: lld worker #1 [processed 1 LLD rules, idle 750.002220 sec during 750.031470 sec]
    zabbix    39429  39375  0 15:05 ?        00:00:00 /usr/sbin/zabbix_server: lld worker #2 [processed 1 LLD rules, idle 748.993248 sec during 749.006637 sec]
    #####################################################################################################################
    
    | hstgrp                     |        :主机群组
    | httpstep                   || httpstep_field             |
    | httpstepitem               |
    | httptest                   |
    | httptest_field             |
    | httptestitem               |
    | icon_map                   |        :图标
    | icon_mapping               || ids                        || images                     |
    | interface                  |        :接口
    | interface_discovery        |
    | item_application_prototype |
    | item_condition             |
    | item_discovery             |
    | item_preproc               |
    | items                      |        :监控项
    | items_applications         |
    | lld_macro_path             |
    | maintenance_tag            |
    | maintenances               |
    | maintenances_groups        |
    | maintenances_hosts         |
    | maintenances_windows       |
    | mappings                   |        :映射值
    | media                      |        :媒体
    | media_type                 |        :媒体类型
    | opcommand                  |
    | opcommand_grp              |
    | opcommand_hst              |
    | opconditions               |
    | operations                 |
    | opgroup                    |
    | opinventory                |
    | opmessage                  |
    | opmessage_grp              |
    | opmessage_usr              |
    | optemplate                 |
    | problem                    |
    | problem_tag                |
    | profiles                   |
    | proxy_autoreg_host         |
    | proxy_dhistory             |
    | proxy_history              |
    | regexps                    |
    | rights                     |
    | screen_user                |
    | screen_usrgrp              |
    | screens                    |
    | screens_items              |
    | scripts                    |
    | service_alarms             |        :就是跟99.99%相关的
    | services                   |
    | services_links             |
    | services_times             |
    | sessions                   |
    | slides                     |
    | slideshow_user             |
    | slideshow_usrgrp           |
    | slideshows                 |
    | sysmap_element_trigger     |        :系统图
    | sysmap_element_url         |
    | sysmap_shape               |
    | sysmap_url                 |
    | sysmap_user                |
    | sysmap_usrgrp              |
    | sysmaps                    |
    | sysmaps_elements           |
    | sysmaps_link_triggers      |
    | sysmaps_links              |
    | tag_filter                 |
    | task                       |
    | task_acknowledge           |
    | task_check_now             |
    | task_close_problem         |
    | task_remote_command        |
    | task_remote_command_result |
    | timeperiods                |
    | trends                     |        :趋势图
    | trends_uint                |
    | trigger_depends            |        :触发器依赖
    | trigger_discovery          |
    | trigger_tag                |
    | triggers                   |
    | users                      |
    | users_groups               |
    | usrgrp                     |
    | valuemaps                  |
    | widget                     |
    | widget_field               |
    +----------------------------+
    146 rows in set (0.01 sec)
    
    MariaDB [zabbix]> select * from acknowledges;
    +---------------+--------+---------+------------+-----------------+--------+--------------+--------------+
    | acknowledgeid | userid | eventid | clock      | message         | action | old_severity | new_severity |
    +---------------+--------+---------+------------+-----------------+--------+--------------+--------------+
    |             1 |      1 |    5405 | 1566893083 | 主机不存在      |      4 |            0 |            0 |
    +---------------+--------+---------+------------+-----------------+--------+--------------+--------------+
  • 相关阅读:
    线段树时间分治
    CDQ分治
    并查集练习
    hihocoder 1513 小Hi的烦恼 (bitset优化)
    线段树维护哈希
    使用swift语言进行IOS应用开发
    用jquery+Asp.Net实现省市二级联动
    苹果IOS与谷歌 android系统的UI设计原则
    优秀设计师应当知道的20大UI设计原则
    JQuery Easy Ui dataGrid 数据表格
  • 原文地址:https://www.cnblogs.com/xuefy/p/11422104.html
Copyright © 2011-2022 走看看