首页 > 其他分享 >Zabbix模板数据存储在哪里?

Zabbix模板数据存储在哪里?

时间:2024-10-18 10:33:20浏览次数:5  
标签:templates 存储 hostid Zabbix hosts mysql 模板

Zabbix的模板数据存储在数据库的哪一个表里面?以MySQL数据库为例,在数据库zabbix中,其实模板数据存储在hosts这个表里面,而不是存在hosts_templates表里面。很多人一看到templates关键字,容易先入为主的以为这个表会存储模板的相关数据。但是实际上,hosts_templates表用于存储主机和模板之间的关系。这个表允许一个主机与多个模板关联,对应实际情况中的主机配置多个模板,从而实现监控项、触发器和图形的继承。以下是hosts_templates表的一些重要字段及其描述:

mysql> desc hosts_templates;
+----------------+-----------------+------+-----+---------+-------+
| Field          | Type            | Null | Key | Default | Extra |
+----------------+-----------------+------+-----+---------+-------+
| hosttemplateid | bigint unsigned | NO   | PRI | NULL    |       |
| hostid         | bigint unsigned | NO   | MUL | NULL    |       |
| templateid     | bigint unsigned | NO   | MUL | NULL    |       |
| link_type      | int             | NO   |     | 0       |       |
+----------------+-----------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

mysql>
mysql> show create table hosts_templates\G
*************************** 1. row ***************************
       Table: hosts_templates
Create Table: CREATE TABLE `hosts_templates` (
  `hosttemplateid` bigint unsigned NOT NULL,
  `hostid` bigint unsigned NOT NULL,
  `templateid` bigint unsigned NOT NULL,
  `link_type` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`hosttemplateid`),
  UNIQUE KEY `hosts_templates_1` (`hostid`,`templateid`),
  KEY `hosts_templates_2` (`templateid`),
  CONSTRAINT `c_hosts_templates_1` FOREIGN KEY (`hostid`) REFERENCES `hosts` (`hostid`) ON DELETE CASCADE,
  CONSTRAINT `c_hosts_templates_2` FOREIGN KEY (`templateid`) REFERENCES `hosts` (`hostid`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
1 row in set (0.00 sec)

mysql>

由于模板和主机都存储在hosts表中,hosts_templates表可以通过hostid或templateid与hosts表进行关联。这种设计允许灵活地管理主机和模板之间的关系,包括创建层次化的模板结构,其中父模板的设置可以被子模板继承。

下面我们来看一个简单的例子,服务器mysqlu01映射了两个模板,如下所示:

mysql> select hostid from hosts where name='mysqlu01';
+--------+
| hostid |
+--------+
|  10556 |
+--------+
1 row in set (0.00 sec)

mysql> select * from  hosts_templates where hostid=10556;
+----------------+--------+------------+-----------+
| hosttemplateid | hostid | templateid | link_type |
+----------------+--------+------------+-----------+
|            460 |  10556 |      10001 |         0 |
|            461 |  10556 |      10316 |         0 |
+----------------+--------+------------+-----------+
2 rows in set (0.00 sec)

mysql> select name,host from hosts where hostid in(10001,10316);
+-----------------------+-----------------------+
| name                  | host                  |
+-----------------------+-----------------------+
| Linux by Zabbix agent | Linux by Zabbix agent |
| MySQL by Zabbix agent | MySQL by Zabbix agent |
+-----------------------+-----------------------+
2 rows in set (0.00 sec)

mysql>

上面例子可以很清楚的展示了模板与主机的关联关系。这里就不做过多阐述了。

另外一个问题,既然hosts中保存了主机和模板的数据,那么它通过哪一个字段来表示区分数据是模板数据还是主机数据呢? 其实它是通过hosts中的字段status来区分的。其中status 代表主机的状态:它有三个值,0 表示正常监控,1表示未被监控(disable状态), 3表示该主机是模板。

备注:不清楚是否有状态为2的记录。

我们可以验证一下,例如,在Zabbix的主页,它提示模板数量有315个,如下所示,那么

mysql>  select count(*) from hosts where status=3;
+----------+
| count(*) |
+----------+
|      315 |
+----------+
1 row in set (0.00 sec)

mysql>

标签:templates,存储,hostid,Zabbix,hosts,mysql,模板
From: https://www.cnblogs.com/kerrycode/p/18473773

相关文章

  • 网站如何修改后台代码?模板网站怎么修改?
    修改网站后台代码通常涉及以下几个步骤,具体操作可能会因网站的技术栈和架构而有所不同。以下是一般流程:1.备份现有代码重要:在进行任何修改之前,务必备份现有的代码和数据库。这可以在出现问题时帮助你快速恢复。2.确定修改需求明确你需要对后台代码进行哪些具体的修改,比如......
  • 网站后台怎么修改模板?
    要修改网站后台的模板,通常需要遵循以下步骤。具体步骤可能会根据您使用的CMS(内容管理系统)或框架有所不同,但大体流程相似:登录后台管理界面:使用您的管理员账号登录到网站的后台管理界面。找到模板管理选项:在后台菜单中查找与“模板”、“主题”或“外观”相关的选项。这......
  • 模板网站可以修改内容吗?网站修改资料页面模板?
    模板网站通常提供了多种方式让用户自定义和修改内容,具体方法取决于所使用的模板平台或工具。以下是几种常见的修改方式:文本编辑:大多数模板网站允许用户直接在页面上编辑文本内容,如标题、段落等。图片更换:用户可以通过上传自己的图片来替换模板中的默认图片。颜色调整:一些高级......
  • 2024 CSP-J/S2 模板复习计划
    2024CSP-J/S2模板复习计划(Starton2024-10-18)说明原来这个计划是2023CSP-J/S2模板复习,现在被拿来当模板集。Day1我的记录@zhenghanyun的记录任务已完成SPFA(不带负环)已完成Floyd已完成Dijkstra已完成拓扑排序已完成单调栈已......
  • k8s-Longhorn系统配置 20241017 -分布式存储
    目录一Longhorn存储部署1.1Longhorn概述1.2Longhorn部署1.5动态sc创建1.6测试PV及PVC1.7Ingress暴露Longhorn1.8确认验证附加Helm部署附0.1helm安装附0.2helm安装 回到顶部一Longhorn存储部署1.1Longhorn概述Longhorn是用于Kubernetes的......
  • 模板网站如何修改代码?修改织梦网站页面模板?
    修改模板网站的代码通常涉及以下几个步骤:备份原始文件:在开始任何修改之前,确保备份原始文件。这可以帮助您在遇到问题时恢复到初始状态。了解文件结构:浏览模板文件夹,了解其结构。常见的文件夹包括 css、js、img 和 html 文件。查看 README 或其他文档,了解模板的......
  • 如何修改网站模板?想修改公司网站界面?
    修改网站模板通常涉及以下几个步骤,具体操作可能会根据你使用的建站平台或CMS(内容管理系统)有所不同:备份当前网站:在进行任何更改之前,确保备份你的网站,以防万一出现问题可以恢复。选择编辑器或平台:确定你是在使用WordPress、Joomla、Drupal等CMS,还是静态网站生成器如Hugo......
  • 【FastAPI】jinja2模板
    本文介绍简单的jinja2语法APIimportuvicornfromfastapiimportFastAPIfromfastapi.requestsimportRequestfromfastapi.templatingimportJinja2Templatesfromfastapi.staticfilesimportStaticFilesapp=FastAPI()#项目根目录下创建static与templates文件......
  • 七牛云存储数据,删除无用数据
    最近公司有一个业务,由于多年使用七牛云存储数据【一些图片,文件】,导致占用了好几个T的空间,其实有好几年之前的大量数据是现在不再使用的,于是需要删除这批数据。需要注意的是好几年之前的数据和现在的业务生成的数据都是用的一个储存空间,想要删除就必须要根据时间来进行筛选,例......
  • LangGraph 源码分析 | BaseTool 模板类
    文章目录BaseTool源码分析核心属性以`TavilySearchResults(BaseTool)`为例namedescriptionargs_schemaresponse_format查询选项属性需要子类实现的抽象方法以`TavilySearchResults(BaseTool)`为例核心方法`arun()`:`run()`的异步执行版本`invoke()`和`ainvoke()`......