点击返回:自学Zabbix之路

点击返回:自学Zabbix4.0之路

点击返回:自学zabbix集锦

自学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.1 Zabbix数据库表结构简单解析-Hosts表、Hosts_groups表、Interface表的更多相关文章

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

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

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

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

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

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

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

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

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

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix之路15.5 Zabbix数据库表结构简单解析-其他 表  1. Actions表 ...

  6. 自学Python之路-Python并发编程+数据库+前端

    自学Python之路-Python并发编程+数据库+前端 自学Python之路[第一回]:1.11.2 1.3

  7. activiti数据库表结构全貌解析

    http://www.jianshu.com/p/e6971e8a8dad 下面本人介绍一些activiti这款开源流程设计引擎的数据库表结构,首先阐述:我们刚开始接触或者使用一个新的东西(技术)时我 ...

  8. Oracle数据库的表结构 简单表的建立

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

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

随机推荐

  1. WebApi 异步请求(HttpClient)

    还是那几句话: 学无止境,精益求精 十年河东,十年河西,莫欺少年穷 学历代表你的过去,能力代表你的现在,学习代表你的将来 废话不多说,直接进入正题: 今天公司总部要求各个分公司把短信接口对接上,所谓的 ...

  2. 微信小程序——获取用户unionId

    1.获取code 2.获取openid 3.获取access_token 4.获取unionid

  3. (一)ABP添加控制器和页面(有时候页面不出来)

    1:添加控制器后需要写[Area("AppAreaName")] 2:继承  WebControllerBase 3:创建视图就可以出现index页面了

  4. 从0到1上线一个微信小程序

    0.0 前期准备 微信小程序的出现极大地降低了个人开发者微创业的门槛,不需要后端技术,不需要服务器和域名这些乱七八糟的前置操作,只需要懂得前端技术,就能发布一款属于自己的轻量级应用,简直是前端开发者的 ...

  5. git-两小时简单使用教程

    两小时学会Git玩转Github 1. 了解Git和Github 1.1什么是Git Git是一个免费.开源的版本控制软件 1.2什么是版本控制系统 版本控制是一种记录一个或若干个文件内容变化,以便将 ...

  6. sublime text3 安装package control 出现问题解决过程记录

    1.安装package control 失败 通过最简单的自动安装 package control 失败(详见package control官网). 报错展示: File "./python ...

  7. Linux内核 实践二

    实践二 内核模块编译 20135307 张嘉琪 一.实验原理 Linux模块是一些可以作为独立程序来编译的函数和数据类型的集合.之所以提供模块机制,是因为Linux本身是一个单内核.单内核由于所有内容 ...

  8. 20135327--linux内核分析 实践二

    内核模块编译 1.实验原理 Linux模块是一些可以作为独立程序来编译的函数和数据类型的集合.之所以提供模块机制,是因为Linux本身是一个单内核.单内核由于所有内容都集成在一起,效率很高,但可扩展性 ...

  9. sho

    手工编程:hello world 全部用命令行工具和Notepad编辑器,用手工创建并编译一个C的命令行程序:hello world. public class Hello{         publ ...

  10. QT QProgressBar QProgressDialog 模态,位置设置,无边框,进度条样式

    一  关于模态设置 QProgressDialog可以设置模态(需要在new的时候传入parent),QProgressBar设置不好: 只有dialog可以设置模态,widget不能设置模态(QPr ...