Zabbix数据库表结构解析

合集下载

zabbix数据库表结构

zabbix数据库表结构

zabbix数据库表结构概述Zabbix 5.2.6 数据库共有170张表,Zabbix 数据表的名称都是复数。

资源之间的关联关系是通过外键来完成的。

比如host和item的关联关系,就是在items表中使用hostid与hosts表中的资源进行关联。

本文将介绍Zabbix 数据库中主要的数据表,以及如何对数据库中表进行增删改查操作,熟悉Zabbix 数据库表结构;数据库版本select version();统计 zabbix 数据库中表项select count(8) tables,table_schema frominformation_schema.tables where table_schema ='zabbix';查询zabbix 数据库大小select table_schema as '数据库', sum(table_rows) as '记录数', sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)', sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)' from information_schema.tables where table_schema='zabbix';查询zabbix库各表容量大小select table_schema as '数据库', table_name as '表名', table_rows as '记录数', truncate(data_length/1024/1024,2) as '数据容量(MB)', truncate(index_length/1024/1024, 2) as '索引容量(MB)' from information_schema.tables where table_schema='zabbix' order by data_length desc, index_length desc;hosts存储被监控主机的信息常用字段介绍Hostid:唯一标识Host在Zabbix及数据库中的id。

zabbix架构原理

zabbix架构原理

zabbix架构原理Zabbix是一种用于监控和管理网络设备、服务器以及应用程序的开源解决方案。

它的架构原理如下:1. 服务器端(Zabbix Server):Zabbix的核心组件,负责接收来自各个监控代理和其他组件的数据,并处理这些数据。

它还负责存储监控数据、配置告警规则和触发动作。

2. 监控代理(Zabbix Agent):安装在需要监控的目标主机上,负责收集主机的性能数据并将其发送给Zabbix Server。

监控代理可以通过主动模式或被动模式与服务器通信。

3. 数据库(Database):Zabbix使用关系型数据库(如MySQL、PostgreSQL等)存储监控数据、配置信息和历史记录。

数据库存储了整个Zabbix系统的状态和配置信息。

4. 前端界面(Frontend):Zabbix提供了一个用户友好的Web界面,用于配置监控项、显示监控数据、设置报警规则等。

前端界面与服务器通过HTTP或HTTPS 协议进行通信。

5. 触发器(Triggers):Zabbix使用触发器定义在特定条件下触发报警动作的规则。

例如,当CPU利用率超过某个阈值时,触发器会触发相应的报警。

6. 动作(Actions):Zabbix的动作定义了在触发器满足条件时执行的操作,例如发送电子邮件、短信通知或运行脚本。

7. 监控项(Items):监控项定义了需要收集和监控的数据类型,可以是CPU利用率、内存使用量、网络流量等。

Zabbix支持多种监控方式,如简单检查、SNMP、JMX、IPMI等。

8. 图形和报表(Graphs and Reports):Zabbix可以生成各种图形和报表,以直观地展示监控数据的变化趋势和性能指标。

总体来说,Zabbix的架构包括服务器端、监控代理、数据库、前端界面以及触发器、动作、监控项、图形和报表等组件。

通过这些组件的协同工作,Zabbix实现了对网络设备、服务器和应用程序的全面监控和管理。

Zabbix数据库表结构解析

Zabbix数据库表结构解析

snmp_*(除 8.中提到的):同上,SNMP 参数。
maintenanceid,maintenance_*:这是 Zabbix 另一个机制 Maintaince 有关,用于使 Host
置于维护状态而不会报警。
常用操作
前面只讲了 Hosts 一张表,所以这里只能介绍一些针对 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'; enable/disable host:
|
|
| jmx_errors_from | int(11)
| NO | | 0
|
|
| jmx_error
| varchar(128)
| NO | |
|
|
| name
| varchar(64)
| NO | MUL |
|
|
批注 [d1]: 改下结构
| flags
| int(11)
| NO | | 0
|
个类似,Zabbix 中任意一种资源都有自己的 id,比如 itemid,groupid 等。
proxy_hostid:如果使用了‘Proxy-Server’架构,这个字段表示的是监控这台机器的 Proxy
的 hostid。有一点需要注意,每个 Proxy 在 Hosts 表里有两条记录(其他 Host 只有一条

zabbix深入分析

zabbix深入分析

Zabbix深入分析2015目录1研究目标 (2)3WEB界面菜单功能......................................................................................................... 4主要功能名词及概念 ......................................................................................................4.1.1SNMP................................................................................................................4.1.2IPMP..................................................................................................................4.1.3配置(configuration) ..................................................................................4.1.4主机和主机组(Hosts and host group) .................................................IT 服务(IT services)................................................................................发现(Discovery)........................................................................................队列(Queue)..............................................................................................应用(Applications)....................................................................................分布式监控(Distributed monitoring) ...................................................维护(Maintenance) (5)5.9SSH检查..................................................................................................................5.10Telnet检查...............................................................................................................5.11外部检查..................................................................................................................5.12汇总检查..................................................................................................................5.13被动监控..................................................................................................................5.14JMX监控 .................................................................................................................66.3.5滞留状态..........................................................................................................6.4触发器依赖性(Dependency) .........................................................................6.5触发器严重性(Severity)..................................................................................6.6触发器的单位符号(Unit symbols)...............................................................6.6.1单位后缀..........................................................................................................6.6.2使用举例 (7)8Quickstart............................................................................................................................ 9数据模型............................................................................................................................ 10Zabbix API..................................................................................................................10.1概览...........................................................................................................................10.1.1API使用说明..................................................................................................10.1.2Zabbix API支持的数据类型 ......................................................................10.3.4Grahps...............................................................................................................10.3.5Templates..........................................................................................................10.3.6Export and import...........................................................................................10.3.7Low-level discovery.........................................................................................10.3.8Screens...............................................................................................................10.3.9Actions and alerts ............................................................................................10.5API信息...................................................................................................................10.6API引用的对象(Object)的属性 ..................................................................10.6.1History object...................................................................................................11图表套件-FusionChats..............................................................................................11.1概述...........................................................................................................................11.2套件...........................................................................................................................12.3.1外部查看图表可行性 ...........................................................................12.3.2利用FusionCharts 展现.......................................................................12.4报警策略的可定制性...........................................................................................12.5与Zabbix用户会话同步策略 ............................................................................12.5.1统一用户..................................................................................................12.5.2动态登录..................................................................................................13系统的集成................................................................................................................13.1方案...........................................................................................................................13.1.1方案一:内建模块................................................................................13.1.2方案二:iframe嵌入 ............................................................................13.1.3方案三:图表接口................................................................................13.2方案总结..................................................................................................................1研究目标通过对ZABBIX的研究实现如下目标:熟悉可监控的基本模块研究API,并且要写代码测试到监控任务的API控制,包括创建,暂停,更改选项,删除任务。

Zabbix 数据库表结构说明文档

Zabbix 数据库表结构说明文档

Zabbix 数据库表结构说明文档Zabbix 数据库表结构说明文档目录目录Zabbix 数据库表结构说明文档 (1)Zabbix 数据库表结构说明文档 (1)目录 (1)1. acknowledges表(空) (5)1. actions表 (6)1. alerts表 (7)1. applications_discovery表(空) (8)1. applications_prototype表 (9)1. applications_template表 (9)1. applications表 (9)1. auditlog表 (10)1. auditlog_details表 (10)1. autoreg_host表 (11)1. conditions表 (11)1. config (13)1. corr_condition表(空) (15)1. corr_condition_group表(空) (16)1. corr_condition_tag表(空) (16)1. corr_condition_tagpair表(空) (16)1. corr_condition_tagvalue表(空) (17)1. Corr_operation表(空) (17)1. correlation表(空) (17)1. dashboard表 (18)1. Dashboard_user表 (18)1. Dashboard_usrgrp表 (18)1. dbversion表 (19)1. dchecks表 (19)1. dhosts表(空) (20)1. drules表 (21)1. dservices表(空) (22)1. escalations表(空) (22)1. event_recovery表 (23)1. event_tag表(空) (23)1. events表 (24)1. expressions表 (24)1. functions表 (25)1. globalmacro表 (26)1. globalvars表(空) (26)1. graph_discovery表 (26)1. graph_theme表 (26)1. graphs表 (27)1. graphs_items表 (29)1. group_discovery表(空) (31)1. group_prototype表 (31)1. groups表 (31)1. history表 (32)1. history_log表 (32)1. history_str表 (33)1. history_text表(空) (33)1. history_uint表 (34)1. host_discovery表 (34)1. host_inventory表(空) (35)1. hostmacro表 (37)1. hosts表 (37)1. hosts_groups表 (41)1. hosts_templates表 (41)1. housekeeper表(空) (41)1. httpstep表(空) (42)1. httpstep_field表(空) (42)1. httpstepitem表(空) (43)1. httptest表(空) (43)1:基本认证 (45)2:NTML认证 (45)1. httptest_field表(空) (45)1. httptestitem表(空) (45)1. icon_map表(空) (46)1. icon_mapping表(空) (46)1. ids表 (47)1. images表 (47)1. interface表 (48)1. interface_discovery表(空) (49)1. item_condition表 (50)1. item_discovery表 (50)1. item_preproc表 (51)1. items表 (51)1. items_applications表 (55)1. maintenances表(空) (56)1. maintenances_groups表(空) (56)1. maintenances_hosts表(空) (57)1. mappings表 (57)1. media表 (58)1. media_type表 (59)1. opcommand表(空) (60)1. opcommand_grp表(空) (61)1. opcommand_hst表(空) (62)1. opconditions表 (62)1. operations表 (64)1. opgroup表 (65)1. opinventory表(空) (65)1. opmessage表 (66)1. opmessage_grp表 (66)1. opmessage_usr表 (67)1. optemplate表 (67)1. problem表 (68)1. problem_tag表(空) (68)1. profiles表 (69)1. proxy_autoreg_host表(空) (70)1. proxy_dhistory表(空) (71)1. proxy_history表(空) (71)1. regexps表 (72)1. rights表 (72)1. screen_user表(空) (73)1. screen_usrgrp表(空) (73)1. screens表 (74)1. screens_items表 (74)1. scripts表 (77)1. service_alarms表(空) (78)1. services表(空) (78)1. services_links表(空) (79)1. services_times表(空) (80)1. sessions表 (80)1. slides表(空) (81)1. slideshow_user表(空) (81)1. slideshow_usrgrp表(空) (81)1. slideshows表(空) (82)1. sysmap_element_trigger表(空) (82)1. sysmap_element_url表(空) (83)1. sysmap_shape表 (83)1. sysmap_url表(空) (84)1. sysmap_user表(空) (85)1. sysmap_usrgrp表(空) (85)1. sysmaps表 (86)1. sysmaps_link_triggers表(空) (89)1. sysmaps_links表(空) (89)1. task表(空) (90)1. task_acknowledge表(空) (91)1. task_close_problem表(空) (91)1. task_remote_command表(空) (91)1. timeperiods表(空) (92)1. trends表 (93)1. trends_uint表 (94)1. trigger_depends表 (94)1. trigger_discovery表 (94)1. trigger_tag表(空) (95)1. triggers表 (95)1. users表 (96)1. users_groups表 (98)1. usrgrp表 (98)1. valuemaps表 (99)1. widget表 (99)1. widget_field表 (99)一、触发器(trigger)状态发生变化后,即产生某个事件(event)管理员需要对这些状态变化进行确认(acknowledges)表。

zabbix数据库说明

zabbix数据库说明
7、evnets表:事件信息
eventid:事件的id
clock:事件发生的时间戳
8、alerts表:
alertid:报警id
eventid:事件id
clock:时间戳
message:报警内容
triggerid
description 描述
status 触发器状态,值为1表示未启动
12、actions表,实现报警的操作
actionid
name 报警的组名
def_shortdata 触发条件
def_longdata 触发动作
Zabbix数据库常用表结构
1、hosts表:hosts表是Zabbix当前正在监控的服务器的相关信息
hostid:被监控服务器id
host:被监控服务器名称
ip:被监控服务器的ip
2、items表:监控项的相关信息
Itemid:监控项的id
hostid:该监控项监控的服务器id,对应于hosts表的hostid
description:监控项的描述
key_:监控的key值
3、history表:存储了详细的历史监控信息,
itemid:监控项的id,对应于items表的itemid
clock:监控数据采集时的时间戳
value:监控到的数据
4、trends表:存储的趋势数据
itemid:监控项的id,对应于items表的itemid
clock:
5、graphs表:每个监控项有一个对应的监控图,这是监控图的信息表
status:值为1表示已确认
9、screens表,监控图像的分组信息

Zabbix的history相关数据表数据太大,执行表分区操作过程

Zabbix的history相关数据表数据太大,执行表分区操作过程

Zabbix的history相关数据表数据太⼤,执⾏表分区操作过程⼀、查询zabbix数据库⼤⼩mysql> select table_schema, concat(truncate(sum(data_length)/1024/1024,2),' mb') as data_size,concat(truncate(sum(index_length)/1024/1024,2),'mb') as index_size from information_schema.tables group by table_sc +--------------------+------------+------------+| table_schema | data_size | index_size |+--------------------+------------+------------+| zabbix | 8326.06 mb | 3031.85mb || jumpserver | 26.57 mb | 8.21mb || mysql | 2.49 mb | 0.21mb || information_schema | 0.15 mb | 0.00mb || sys | 0.01 mb | 0.00mb || performance_schema | 0.00 mb | 0.00mb |+--------------------+------------+------------+6 rows in set (0.40 sec)发现Zabbix数据占⽤了8G空间⼆、查询Zabbix数据库⾥所有表⼤⼩mysql> select table_name, (data_length+index_length)/1024/1024 as total_mb,table_rows from information_schema.tables where table_schema='zabbix' order by total_mb desc;+----------------------------+---------------+------------+| table_name | total_mb | table_rows |+----------------------------+---------------+------------+| history_uint | 5487.29687500 | 56075683 || history | 4843.39062500 | 51787332 || trends_uint | 526.92187500 | 7440029 || history_str | 251.39062500 | 2393973 || trends | 215.87500000 | 2978883 || items | 6.21875000 | 10033 || events | 4.93750000 | 7922 || alerts | 4.67187500 | 5030 || items_applications | 2.35937500 | 11510 || triggers | 1.89062500 | 4359 || auditlog | 1.85937500 | 6803 || images | 1.53125000 | 138 || functions | 0.67187500 | 4746 || item_discovery | 0.57812500 | 3921 || graphs_items | 0.51562500 | 3773 || graphs | 0.50000000 | 1561 || auditlog_details | 0.42187500 | 2620 || event_recovery | 0.32812500 | 2936 || applications | 0.29687500 | 2345 || item_preproc | 0.29687500 | 3668 || application_template | 0.28125000 | 1989 || sessions | 0.23437500 | 1064 || hosts | 0.17187500 | 167 || profiles | 0.15625000 | 564 || sysmaps_elements | 0.15625000 | 95 || mappings | 0.12500000 | 820 || widget_field | 0.10937500 | 170 || graph_discovery | 0.10937500 | 887 || problem | 0.09375000 | 104 || item_condition | 0.07812500 | 446 || sysmaps | 0.07812500 | 13 || trigger_depends | 0.07812500 | 401 || httptest | 0.07812500 | 41 || event_suppress | 0.06250000 | 0 || escalations | 0.06250000 | 8 || sysmaps_links | 0.06250000 | 0 || scripts | 0.06250000 | 3 || trigger_discovery | 0.06250000 | 648 || hostmacro | 0.06250000 | 297 || group_prototype | 0.06250000 | 7 || acknowledges | 0.06250000 | 207 || slides | 0.04687500 | 0 || rights | 0.04687500 | 4 || maintenances_groups | 0.04687500 | 0 || host_discovery | 0.04687500 | 2 || httpstepitem | 0.04687500 | 123 || item_application_prototype | 0.04687500 | 23 || autoreg_host | 0.04687500 | 0 || task | 0.04687500 | 0 || maintenances | 0.04687500 | 0 || dservices | 0.04687500 | 30 || sysmap_element_trigger | 0.04687500 | 0 || tag_filter | 0.04687500 | 0 || drules | 0.04687500 | 8 || slideshows | 0.04687500 | 0 || users_groups | 0.04687500 | 5 || services_links | 0.04687500 | 0 || opcommand_hst | 0.04687500 | 0 || optemplate | 0.04687500 | 0 || interface | 0.04687500 | 82 || slideshow_usrgrp | 0.04687500 | 0 || opcommand_grp | 0.04687500 | 0 || opmessage_usr | 0.04687500 | 22 || sysmaps_link_triggers | 0.04687500 | 0 || service_alarms | 0.04687500 | 0 || opmessage_grp | 0.04687500 | 4 || hosts_templates | 0.04687500 | 263 || icon_mapping | 0.04687500 | 0 || application_prototype | 0.04687500 | 23 || dashboard_usrgrp | 0.04687500 | 0 || media | 0.04687500 | 9 || hosts_groups | 0.04687500 | 211 || icon_map | 0.04687500 | 0 || application_discovery | 0.04687500 | 8 || sysmap_usrgrp | 0.04687500 | 0 || dashboard_user | 0.04687500 | 0 || opgroup | 0.04687500 | 0 || httptestitem | 0.04687500 | 123 || sysmap_user | 0.04687500 | 0 || screens | 0.04687500 | 12 || actions | 0.04687500 | 16 || screen_usrgrp | 0.04687500 | 0 || maintenances_windows | 0.04687500 | 0 || correlation | 0.04687500 | 0 || slideshow_user | 0.04687500 | 0 || config | 0.04687500 | 0 || screen_user | 0.04687500 | 0 || maintenances_hosts | 0.04687500 | 0 || group_discovery | 0.03125000 | 0 || conditions | 0.03125000 | 30 || sysmap_element_url | 0.03125000 | 0 || problem_tag | 0.03125000 | 0 || regexps | 0.03125000 | 5 || httpstep_field | 0.03125000 | 26 || interface_discovery | 0.03125000 | 0 || services_times | 0.03125000 | 0 || maintenance_tag | 0.03125000 | 0 || history_text | 0.03125000 | 22 || graph_theme | 0.03125000 | 4 || httpstep | 0.03125000 | 41 || dhosts | 0.03125000 | 31 || widget | 0.03125000 | 23 || users | 0.03125000 | 3 || services | 0.03125000 | 0 || hstgrp | 0.03125000 | 27 || history_log | 0.03125000 | 0 || dchecks | 0.03125000 | 8 || valuemaps | 0.03125000 | 75 || opcommand | 0.03125000 | 0 || usrgrp | 0.03125000 | 8 || media_type | 0.03125000 | 11 || opmessage | 0.03125000 | 30 || globalmacro | 0.03125000 | 0 || trigger_tag | 0.03125000 | 0 || screens_items | 0.03125000 | 51 || proxy_history | 0.03125000 | 0 || corr_condition_group | 0.03125000 | 0 || expressions | 0.03125000 | 10 || dashboard | 0.03125000 | 3 || proxy_dhistory | 0.03125000 | 0 || corr_condition | 0.03125000 | 0 || operations | 0.03125000 | 32 || httptest_field | 0.03125000 | 0 || sysmap_url | 0.03125000 | 0 || proxy_autoreg_host | 0.03125000 | 0 || sysmap_shape | 0.03125000 | 0 || opconditions | 0.03125000 | 0 || event_tag | 0.03125000 | 0 || corr_operation | 0.03125000 | 0 || timeperiods | 0.01562500 | 0 || corr_condition_tagvalue | 0.01562500 | 0 || task_remote_command_result | 0.01562500 | 0 || corr_condition_tagpair | 0.01562500 | 0 || task_remote_command | 0.01562500 | 0 || corr_condition_tag | 0.01562500 | 0 || task_close_problem | 0.01562500 | 0 || task_check_now | 0.01562500 | 0 || housekeeper | 0.01562500 | 0 || ids | 0.01562500 | 52 || globalvars | 0.01562500 | 0 || dbversion | 0.01562500 | 0 || task_acknowledge | 0.01562500 | 0 || opinventory | 0.01562500 | 0 || host_inventory | 0.01562500 | 20 |+----------------------------+---------------+------------+144 rows in set (0.02 sec)mysql>发现history和trends相关表数据量很⼤,⼀个是历史数据,⼀个是趋势数据需要对这些表进⾏分区操作,提⾼效率三、下载分区脚本drwxr-xr-x. 4 root root 4096 12⽉ 26 2018 share[root@zabbix_server zabbix-4.0.3]# wget https:///zabbix/partitiontables_gt_zbx34.sh --2019-06-28 11:20:28-- https:///zabbix/partitiontables_gt_zbx34.sh正在解析主机 ... 222.186.135.67正在连接 |222.186.135.67|:443... 已连接。

zabbix表达式详解

zabbix表达式详解

zabbix表达式详解Zabbix是一款流行的网络监控系统,它可以通过各种方式监控网络设备、服务器和应用程序的性能和可用性。

在Zabbix中,表达式是一种用于定义监控项的规则,它可以根据不同的条件和操作符来计算结果。

下面是对Zabbix表达式进行详细解释的一些重要方面。

1.表达式语法:Zabbix表达式采用类似于SQL的语法结构,包含函数、操作符和变量。

表达式可以包含多个函数和操作符,它们可以嵌套和组合在一起,以实现更复杂的监控项计算。

2.函数:Zabbix提供了各种函数,用于处理不同类型的监控数据。

常见的函数包括avg、min、max、last等,用于计算平均值、最小值、最大值和最近值。

此外,还有一些特殊的函数,如count用于计算符合条件的监控数据的数量,sum用于计算符合条件的监控数据的总和。

3.操作符:Zabbix支持各种操作符,用于对监控数据进行比较和计算。

常见的操作符包括等于(=)、不等于(<>)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)等。

此外,还有一些特殊的操作符,如and、or、not等,用于组合多个条件。

4.变量:Zabbix表达式中可以使用各种变量,用于表示监控数据和其他相关信息。

常见的变量包括{$ITEM.VALUE}用于表示监控项的值,{$HOSTNAME}用于表示主机名,{$TRIGGER.ID}用于表示触发器的ID等。

通过使用变量,可以实现对不同监控项和触发器的灵活处理。

5.触发器表达式:Zabbix的触发器是基于表达式的,它定义了在何种条件下触发告警。

触发器表达式使用了Zabbix表达式语法,并可以包含各种函数、操作符和变量。

触发器表达式可以根据监控项的值、时间范围和其他条件来计算出一个布尔值,如果满足条件,则触发器被触发,并触发相应的告警。

6.举例说明:下面是一个示例表达式,用于计算某个监控项的平均值是否超过了某个阈值:avg({$ITEM.VALUE}) > 100在这个表达式中,avg函数用于计算监控项的平均值,{$ITEM.VALUE}表示监控项的值,>操作符用于比较两个值的大小,100表示阈值。

zabbix数据库简要分析

zabbix数据库简要分析

Zabbix数据库分析Zabbix数据库共有108个表,表的名称都是复数的。

针对Zabbix中的每一个资源,都有一张表与其对应,比如hosts表,items表等。

每一张表中都有一个id字段,如hosts 表中的hostid,items中的itemid等。

而资源之间的关联关系是通过外键来完成的。

比如host和item的关联关系,就是在items表中使用hostid与hosts表中的资源进行关联。

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

Hosts表结构如下:图1 hosts表Hostid:唯一标识Host在Zabbix及数据库中的id。

不同表之间的关联也要用id。

Proxy_hostid:若启用“proxy-server”架构,才会出现被监控机器的proxy_hostid。

Host:被监控机器的名字。

Dns:DNS的名称。

Useip:是否用ip监控。

Port:监控的端口。

Status:机器目前的状态。

“0”为正常监控,“1”为disable。

Disabled_util、error、available、errors_from:这些值Zabbix Poller回去修改的值。

Lastacess:表示proxy最后一次工作的时间。

Ipmi*、snmp*、jmx*为使用这三种监控方式时的监控记录。

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

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

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

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

zabbix数据库表结构

zabbix数据库表结构

zabbix数据库表结构1、基础表1.1实体表(1)hosts该表存储zabbix监控的主机信息,它支持多种主机类型,如网络设备、操作系统、容器、云系统等,其字段如下:hostid:主机id,proxy_hostid:主机代理idhost:主机名称status:主机状态,2代表启动,1代表停止ipmi_authtype:ipmi认证类型ipmi_privilege:ipmi权限ipmi_username:ipmi用户名ipmi_password: ipmi密码ipmi_disable_until: ipmi停用时间ipmi_available:ipmi可用性snmp_disable_until:snmp停用时间snmp_available:snmp可用性maintenance_status:维护状态maintenance_type:维护类型maintenance_from:维护开始时间maintenance_to:维护结束时间maintenanceid:维护id(2)items该表存储zabbix监控的具体指标以及指标的详细信息,其字段如下:itemid:指标idhostid:主机idname:指标名称key_:指标keytype:指标类型value_type:指标值类型data_type:数据类型delta:是否为增量units:指标单位multiplier:乘法倍数delta_speddy:增量倍数formula:计算公式params:参数trapper_hosts:trap主机status:状态value_type:值类型(3)triggers该表存储zabbix监控的触发器信息,其字段如下:triggerid:触发器iddescription:触发器描述expression:触发器表达式priority:触发器优先级status:触发器状态。

银行 Zabbix 监控架构分享

银行 Zabbix 监控架构分享

银行 Zabbix 监控架构分享Zabbix 平台概述平台介绍Zabbix 是一个基于 Web 界面提供分布式系统监视及网络监视功能的企业级开源解决方案。

它能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位、解决存在的各种问题,借助Zabbix 可很轻松地减轻运维人员繁重的服务器管理任务,保证业务系统持续运行。

其后端使用数据库存储监控配置和历史数据,可以非常方便地对接数据分析、报表定制等渠道,在前端开放了丰富的 RESTful API 供第三方平台调用,整体架构在当下的 DevOps 的趋势下显得非常亮眼。

选型过程我们于 2017 年开始接触 Zabbix,之前运维内主要使用的监控系统是 Nagios,但 Nagios 的页面展示、监控配置、自动化等各项功能对基础架构的运维人员来说不是特别友好,而风头正劲的 Zabbix 正好引起了我们的注意。

基础架构的运维工作中,需要面对各种各样的监控场景,例如 PC 服务器的故障灯巡检、存储设备的阵列健康判断、小型机 LPAR 的资源监控、操作系统的多路径检查,等等。

而 Zabbix 内置提供了 SNMP、IMPI、SSH、Agent 等多种监控途径,在系统架构的各层场景下都能很好的适配,其中 Agent 还支持自定义工具,总体的表现非常灵活。

在网页前端管理上,Zabbix 可以满足各个粒度的监控管理,从整个集群到单独一个监控项都能够进行细分管控,自定义 dashboard 和历史数据可视化功能也极大地方便运维人员对监控数据的审查。

综合以上的考虑因素,行内选择了 Zabbix 作为一个新的监控平台试点,从基础资源的监控出发,首先将大部分存储、主机和操作系统接管到 Zabbix。

使用现状2017 年底在基础架构范围内试行的 Zabbix 系统,从 3.2 版本开始逐步演进到现在的 4.4 版本,其中经历了各项监控系统的里程碑事件。

history_uint结构说明

history_uint结构说明

history_uint结构说明以history_uint结构说明为标题,本文将详细介绍history_uint结构的相关内容。

history_uint是Zabbix监控系统中的一个数据结构,用于存储无符号整型的历史数据。

在Zabbix中,监控项可以采集各种类型的数据,而history_uint主要用于存储无符号整型数据,例如CPU使用率、内存使用量等。

history_uint的结构由多个字段组成,包括itemid、clock、value 和ns字段。

其中,itemid字段表示监控项的ID,用于唯一标识一个监控项;clock字段表示数据采集的时间戳,以Unix时间格式表示;value字段存储了采集到的无符号整型数据;ns字段用于存储纳秒级的时间戳,以提高时间精度。

在Zabbix系统中,history_uint结构的应用非常广泛。

首先,在数据采集阶段,Zabbix Agent会定期采集监控项的数据,并将采集到的数据存储到history_uint结构中。

这样,用户可以通过查看history_uint表来获取历史监控数据,以便进行性能分析和故障排查。

在数据展示和分析阶段,Zabbix前端会根据history_uint结构中的数据生成各种图表和报表,以便用户可以直观地了解监控项的变化趋势和性能状况。

通过这些图表和报表,用户可以及时发现系统的异常情况,并采取相应的措施进行处理。

history_uint结构还可以用于Zabbix的自动化告警功能。

用户可以通过设置阈值来定义监控项的正常范围,当监控项的值超出了设定的阈值时,Zabbix会自动发送告警通知给相关人员。

这样,用户可以及时发现并解决系统的异常情况,提高系统的稳定性和可靠性。

需要注意的是,history_uint结构中的数据是按照时间顺序存储的,因此在进行数据查询和分析时,可以根据时间范围来过滤数据,以提高查询效率。

同时,为了减少存储空间的占用,Zabbix会对历史数据进行压缩和归档,只保留一定时间范围内的数据,过期的数据会被自动删除。

zabbix数据库表结构说明

zabbix数据库表结构说明

zabbix数据库表结构说明Zabbix数据库表结构说明Zabbix是一款开源的网络监控系统,用于实时监测网络设备和服务器的性能和可用性。

作为一个完整的监控系统,Zabbix包含多个数据库表,这些表用于存储不同类型的监控数据和配置信息。

本文将对Zabbix数据库表结构进行详细说明。

1. 表名:hosts说明:该表用于存储被监控主机的基本信息,包括主机ID、主机名称、可见名称、主机状态等。

每个被监控的主机在此表中都有一条记录。

2. 表名:items说明:该表用于存储监控项的配置信息,包括监控项ID、主机ID、监控项名称、监控项的键值、监控项的数据类型等。

每个监控项在此表中都有一条记录。

3. 表名:history说明:该表用于存储监控项的历史数据,包括监控项ID、时间戳、数值等。

每个监控项的历史数据都会在此表中生成一条记录。

4. 表名:triggers说明:该表用于存储触发器的配置信息,包括触发器ID、触发器表达式、触发器状态等。

触发器用于定义在什么条件下触发报警。

5. 表名:events说明:该表用于存储事件的数据,包括事件ID、事件类型、事件状态、事件发生的时间等。

事件用于记录系统中的重要变化或故障。

6. 表名:actions说明:该表用于存储动作的配置信息,包括动作ID、动作名称、动作条件、动作操作等。

动作用于定义在触发器被触发时需要执行的操作。

7. 表名:users说明:该表用于存储用户的信息,包括用户ID、用户名、密码、用户类型等。

用户可以登录Zabbix系统进行监控数据的查看和管理操作。

8. 表名:user_groups说明:该表用于存储用户组的信息,包括用户组ID、用户组名称等。

用户组用于对用户进行分类管理。

9. 表名:applications说明:该表用于存储应用程序的信息,包括应用程序ID、应用程序名称、主机ID等。

应用程序用于对监控项进行分类管理。

10. 表名:graphs说明:该表用于存储图形的配置信息,包括图形ID、图形名称、图形类型等。

《Zabbix基础》课件

《Zabbix基础》课件

计算方式
除了聚合外,Zabbix还支持对监 控项的数据进行计算操作,如: 加减乘除等。通过计算操作,可 以实现更复杂的监控需求。
数据展示
聚合和计算后的数据可以在 Zabbix的Web界面上展示,帮助 用户更好地了解系统的性能状态 。
监控项的报警与通知
01
报警方式
02
通知设置
Zabbix支持多种报警方式,如:邮件 、短信、声音等。用户可以根据实际 需求选择合适的报警方式。
《Zabbix基础》 PPT课件
目录
• Zabbix简介 • Zabbix的安装与配置 • Zabbix的监控功能 • Zabbix的展示功能 • Zabbix的扩展功能 • Zabbix的常见问题与解决方案
01
CATALOGUE
Zabbix简介
Zabbix是什么
Zabbix是一款开源的IT基础设施监 控软件,用于监控各种网络服务、网 络硬件、服务器和网络设备等。
触发器表达式
触发器的核心是表达式,它定义了触发警报的条件。用户 可以根据实际需求编写表达式,以实现精确控制。
触发器使用
当监控项的数据满足触发器的条件时,Zabbix将自动触发 警报,并通过预设的方式通知用户。用户可以根据警报信 息及时处理问题。
监控项的聚合与计算
聚合方式
Zabbix支持对多个监控项的数据 进行聚合操作,如:求和、平均 值等。通过聚合操作,可以更方 便地了解系统的整体性能。
常见问题二:Zabbix无法接收报警通知
总结词 详细描述 解决方案 预防措施
报警通知问题
Zabbix无法接收报警通知可能是由于配置错误、网络问题或报 警方式不支持等原因。
检查报警配置,包括报警方式、接收人地址和报警内容等是否 正确。确保网络连接正常,报警方式支持。

zabbix数据库存储和性能

zabbix数据库存储和性能

zabbix数据库存储和性能
1 基本认识
1.1 history
zabbix默认每分钟采集⼀次item的数据,然后会存⼊history表中。

主机越多,需要采集的item值就越多,history表的增长速度就越快。

在history表中,每⼀个item有⼀个id,然后每条数据会记录时间戳和值。

通过联合查询items和hosts表,可以对应给对应的主机。

以下历史实时绘图数据就是从history表中获取的。

这是⼀个测试⽤的zabbix,只有⼏台主机和两个mysql,并且只运⾏了⼏天,可见,history表已有32万条数据。

1.2 trends
history表中存的是每分钟的数据值,所以增长量很⼤。

zabbix默认设定数据过期时间,就是把以前的history数据删除。

trends表就是记录每⼩时数据的平均值,这样,就减少的数据库的容量压⼒。

可见,trends表的容远⽐history⼩。

1.3 保留时长设定
这是⼀个mysql 插⼊的监控项,可见,数据采集周期是1m,历史数据保留1w,趋势数据保留365d。

ZABBIX数据库表结构解析

ZABBIX数据库表结构解析

ZABBIX数据库表结构解析下⾯开始介绍:1.添加监控表结构详解(1)hosts,存储被监控的机器的信息,表结构如下:(2)items(3)hosts_templates,存储机器和模版或者模版和模版之间的关系由于模版和机器都存储在hosts表中,所以hosts_templates和hosts 之间可以hostid关联也可以通过templateid关联。

(4)interface,存储了所有设备的ip和端⼝的数据。

(由于hosts表中不仅保存了设备信息还保存了模版信息,所以统计实际监控的设备,此表更加准确)2.数据存储表结构详解将clock 转化为⼈性化时间:3.报警相关表结构详解(1)triggers附 functions 表结构:(2)events例⼦:1. 找出某台主机的所有items ,含有某个key_的item , 统计items 总个数SELECT * FROM HOSTS WHERE hostid=10157;SELECT * FROM items WHERE hostid=10157 AND key_ LIKE '%agent%';SELECT COUNT(*) FROM items;2. 找出触发trigger次数最多的事件,并按trigger 降序排列。

SELECT a.description, COUNT(*) cnt FROM TRIGGERS a , EVENTS bWHERE a.triggerid=b.objectid ORDER BY cnt DESC ;3. 从item记录各找出⼀个value类型为整形,浮点型的key_。

统计这两个key_ 存储在history或者history_uint 某⼀个时间段(⽐如2017/06/12)的最⼤值,最⼩值,平均值,然后与 trends 或者 trends_unint 中相应时间段做对⽐整型SELECT * FROM items WHERE value_type=3 AND hostid=10157 LIMIT 1;SELECT * FROM history_uint a,trends_uint b WHERE a.clock=b.clock AND a.itemid=b.itemid LIMIT 1;浮点型SELECT * FROM items WHERE value_type=0 AND hostid=10157 LIMIT 1;SELECT * FROM history a,trends b WHERE a.clock=b.clock AND a.itemid=b.itemid LIMIT 1;4.统计Zabbix Dashboard中triggers总数的来源。

019-zabbix数据库表详解

019-zabbix数据库表详解

019-zabbix数据库表详解1. 查看⽬前zabbix系统所有数据表:12345678910111213141516 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[root@localhost /]# mysql -u root -pEnter password:Welcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is170786Server version: 5.5.60-MariaDB MariaDB ServerCopyright (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 zabbixReading table information for completion of table and column names You can turn off this feature to get a quicker startup with -ADatabase changedMariaDB [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 |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| 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]>1671681691701711721731741751761771781792. 查看hosts数据表123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051MariaDB [zabbix]> show create table hosts \G;*************************** 1. row *************************** Table: hostsCreate 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_bin52535455565758591 row in set (0.00 sec)ERROR: No query specified3. 查看interface数据表123456789101112131415161718192021MariaDB [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 信息: 1234567891011121314151617181920212223242526272829303132333435363738MariaDB [zabbix]> select * from interface a inner join hosts b on a.hostid=b.hostid where a.hostid=10263 \G;*************************** 1. row ***************************interfaceid: 3hostid: 10263main: 1 type: 2 useip: 1ip: 172.18.100.25dns:port: 161 bulk: 1 hostid: 10263 proxy_hostid: NULLhost: CARLOS_test_100.25status: 0 disable_until: 0 error: available: 0errors_from: 0lastaccess: 0ipmi_authtype: -1 ipmi_privilege: 2 ipmi_username:ipmi_password:ipmi_disable_until: 0ipmi_available: 0snmp_disable_until: 0 snmp_available: 1maintenanceid: NULLmaintenance_status: 0maintenance_type: 0 maintenance_from: 0 ipmi_errors_from: 0 snmp_errors_from: 0ipmi_error:snmp_error: jmx_disable_until: 0 jmx_available: 0 jmx_errors_from: 0jmx_error:name: CARLOS_test_100.253940414243444546474849505152flags: 0templateid: NULLdescription: tls_connect: 1 tls_accept: 1tls_issuer:tls_subject:tls_psk_identity: tls_psk: proxy_address: auto_compress: 14. 查看items数据表123456789101112131415161718192021222324252627282930MariaDB [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,3132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980`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 数量:1select count(*) from interface a inner join hosts b on a.hostid=b.hostid inner join items c on c.hostid=a.hostid wherea.hostid=10263 \G;查看当前zabbix 系统单台主机key 值与cpu 相关:12select 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;查看⼀下与主机相关联的模板数:1show tables like "%host%";1select * from hosts_templates;以上显⽰主机hostid=10263⼀共关联6个模板,在zabbix页⾯确认⼀下:5. 查看⽬前zabbix 系统history 表:1select * fromhistory1234567891011121314151617181920212223242526272829303132333435363738394041MariaDB [zabbix]> select * from items where itemid=28565 and value_type=0 \G;*************************** 1. row ***************************itemid: 28565type: 3snmp_community: snmp_oid: hostid: 10263name: ICMP response timekey_: icmppingsecdelay: 60s history: 90d trends: 365dstatus: 0value_type: 0trapper_hosts: units: snmpv3_securityname: snmpv3_securitylevel: 0snmpv3_authpassphrase:snmpv3_privpassphrase: formula: error: lastlogsize: 0logtimefmt:templateid: 28511valuemapid: NULL params: ipmi_sensor:authtype: 0username:password: publickey: privatekey:mtime: 0flags: 0interfaceid: 3 port: description: inventory_link: 0lifetime: 30dsnmpv3_authprotocol: 0 snmpv3_privprotocol: 0424344454647484950515253545556575859606162636465state: 0snmpv3_contextname:evaltype: 0 jmx_endpoint: master_itemid: NULLtimeout: 3surl:query_fields: posts: status_codes: 200 follow_redirects: 1post_type: 0http_proxy: headers: retrieve_mode: 0 request_method: 0output_format: 0ssl_cert_file:ssl_key_file: ssl_key_password: verify_peer: 0verify_host: 0allow_traps: 06. 查看⽬前zabbix 系统triggers表:⾃学Zabbix 之路15.1 Zabbix 数据库表结构简单解析-Hosts 表、Hosts_groups 表、Interface 表说在前⾯:数据库中的表的名称都是复数,⽐如存放Host 信息的表的名字是Hosts 等。

zabbix优化记一次惨痛的zabbix数据库优化

zabbix优化记一次惨痛的zabbix数据库优化

zabbix优化记⼀次惨痛的zabbix数据库优化zabbix优化记⼀次惨痛的zabbix数据库优化最近负责公司的zabbix项⽬,由于前期缺少整体性能架构的规划,导致后期出⼀系列的问题,玩zabbix的兄弟都知道,zabbix最⼤的瓶颈本⾝不在zabbix服务,⽽在mysql数据库的压⼒上,因此,优化zabbix其实就是优化zabbix的配置以及zabbix的mysql了;Zabbix 数据库常见的优化处理⽅法有两种:01. 优化数据库,对数据库进⾏分表处理;02. 清空数据库中的history, history_uint表;在接下来的⽅案我们就mysql数据库分表来进⾏优化;具体思路:1. ⾸先下载脚本感谢hao哥提供脚本以及帮助。

2. 前期准备⼯作,安全起见最好安装screen,也不怕程序卡死,关于screen的⽤法请参考关闭zabbix的邮件报警,也可以关闭zabbix server服务,mysql本⾝会锁表3. 在screen模式下运⾏脚本,在这⾥需要注意的是,如果你的数据库特别⼤,最好先备份,然后在修改脚本,然后分表,在修改脚本的时候需要注意的⼏个地⽅我这⾥先列出来下,如下:⾸先修改zabbix 数据库和密码默认情况下是都是zabbix 如果你的也是这样的话,那么不⽤修改,然后修改配置⽂件的路径,根据⾃⼰的⾃定义的路径来修改脚本的路径如果⼿动备份了那么关闭脚本中备份.4. 然后来查看是否创建完成;具体实施:1. ⾸先在安装部署之前,来查看两张图⽚,然后我们就知道压⼒怎么样了,2. 切记记得备份,关于备份就不在这⾥列出来了,使⽤mysqldump来完成备份.关闭zabbix服务器;完整导出数据库备份,mysqldump -uroot -p zabbix > /www/zabbix.sql导出数据库结构不导出数据:mysqldump --opt -d zabbix -uroot -p > zabbix.biao.sql关闭zabbix服务:/etc/rc.d/init.d/zabbix-server stop3. 执⾏脚本,在执⾏脚本之前,我们先创建两张表, history_bak和history_uint_bak,然后我们重命名原来的两张表history和history_uint两张表;然后把创建的两张表变成原来的,这样表中就没有数据了.如下:创建表:关于创建,可以到处zabbix数据库的表结构,然后找到这个表就可以,还好这两张表没有依赖关系。

性能优化:zabbix性能优化

性能优化:zabbix性能优化

因素慢快数据库⼤⼩巨⼤适应内存⼤⼩触发器表达式的复杂程度Max()min()avg()Last()nodata()数据收集⽅法轮询Trapping数据类型⽂本,字符串数值前端⽤户数量多少主机数量(台)性能(NVPS)每个主机有60个items 每分钟更新⼀次1010 100100 10001000每个主机有600个items 每分钟更新⼀次10101001000100010000性能优化:zabbix性能优化Zabbix性能优化概述造成zabbix性能下降的因素如表所⽰主机数量也是影响性能的主要因素zabbix性能低下的表现1. zabbix队列有太多被延迟的item,可以通过administration-queue查看2. zabbix绘图中经常出现断图,⼀些item没有数据3. 带有nodata()函数的触发器出现flase4. 前端页⾯⽆响应,或者响应慢解决办法如下:1. 不要使⽤默认的模板,应该⾃⼰定制模板2. 数据库调优3. 架构优化,如果使⽤分布式,各服务器功能独⽴4. Items、trigger调优5. 更换更好的硬件Zabbix性能优化的原则1、确保zabbix内部组件性能处于被监控状态(调优的基础!)2、使⽤硬件性能⾜够好的服务器3、不同⾓⾊分开,使⽤各⾃独⽴的服务器4、使⽤分布式部署5、调整MySQL性能6、调整Zabbix⾃⾝配置Zabbix性能优化的依据对xxx进⾏的监控,选择xxx的监控模板,如图看到如图所⽰的内部监控情况查看等待队列查看详情等待队列越来越多,说明性能越来越差NVPS计算⽅法NVPS是PHP语⾔实现的,⽂件位于include/func.inc.phpSELECT round(SUM(1.0/i.delay),2) AS qps FROM items i,hosts h WHERE i.status='0'AND i.hostid=h.hostid AND h.status='0'AND i.delay<>0; 配置⽂件的参数优化调整zabbix参数(/etc/zabbix/zabbix_server.conf)StartPollers=160StartPollersUnreacheable=80StartTrappers=20StartPingers=100StartDiscoverers=120Cachesize=1024MstartDBSyncers=16HistoryCacheSize-1024MTrendCacheSize=1024MHIstoryTextCacheSize-512M重启zabbix_serverZabbix的架构优化Zabbix的架构分为三种Server/agentServer/node/agentServer/proxy/agentItem⼯作模式及trigger优化Zabbix中的item默认⼯作是被动模式,可以通过设置主动模式来提⾼server的性能Tigger中正则表达式函数last()nodata()的速度是最快的,Min(),max().avg()是最慢的,尽量使⽤速度快的函数Zabbix数据库优化Zabbix数据库优化1. 对数据库软件本⾝的优化,采⽤更⾼性能的数据库版本2. 对数据库本⾝的参数进⾏调优3. 对zabbix数据库结构进⾏优化,进⾏分表操作,会最⼤程度提⾼zabbix的数据库性能,在分表的时候,需要关闭housekeeper4. 在zabbix_server.conf中的logshowqueries参数是关于慢查询的设置,将其设置为1000,开启这个参数对慢查询继续记录,⽅便调优配置5. 对zabbix的⼯作机制和各种process的作⽤要了解,对zabbix的数据库表结构也要有⽐较好的理解。

zabbix history表结构

zabbix history表结构

zabbix history表结构Zabbix History表结构Zabbix是一个功能强大的开源监控系统,用于监测各种网络参数和服务器性能。

在Zabbix中,数据存储在各种数据库表中,其中之一就是History表。

本文将介绍Zabbix History表的结构和功能。

History表是Zabbix中的一个重要表,用于存储监控数据的历史记录。

它包含了大量的字段,用于存储不同类型的监控数据。

下面是History表的结构:1. historyid:这是一个唯一的标识符,用于区分不同的历史记录。

2. itemid:这是一个与Items表关联的外键,用于标识监控数据所属的监控项。

3. clock:这是一个时间戳,用于记录监控数据的时间。

4. value:这是一个存储监控数据的字段,它的数据类型根据监控数据的类型而定。

例如,对于整型数据,它将存储一个整数值;对于浮点型数据,它将存储一个浮点数值。

5. ns:这是一个表示纳秒的字段,用于记录监控数据的时间精度。

它与clock字段一起使用,可以提供更精确的时间信息。

6. lastvalue:这是一个存储最新监控数据的字段。

它用于存储最近一次的监控数据,方便进行实时监控。

7. prevvalue:这是一个存储上一次监控数据的字段。

它用于存储上一次的监控数据,以便进行比较和分析。

8. status:这是一个表示监控数据状态的字段。

它可以存储不同的状态值,例如正常、警告、故障等,以便进行监控状态的判断和报警。

9. timestamp:这是一个时间戳,用于记录监控数据的时间。

与clock字段类似,但timestamp字段的精度更高。

10. source:这是一个表示监控数据来源的字段。

它可以存储不同的来源值,例如Agent、SNMP、IPMI等,以便区分不同的监控数据源。

11. severity:这是一个表示监控数据严重程度的字段。

它可以存储不同的严重程度值,例如信息、警告、严重等,以便进行监控数据的分类和处理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档