zabbix 二次开发--- 在zabbix菜单栏中增加 CMDB 菜单,该菜单下有个子栏目 CMDB overview,如图:

实现此效果,我们需要修改两个地方:menu.inc.php 和 main.js 。

具体如下:

1 找到 menu.inc.php ,并修改该文件

[root@zabbix_nginx ~]# find / -name "menu.inc.php"
/usr/share/zabbix/include/menu.inc.php
编辑修改menu.inc.php

vim /usr/share/zabbix/include/menu.inc.php
如果没动过源代码的话,在302行添加如下内容(命令行模式下:set nu  可以显示行数):

'cmdb' => [
'label' => _("CMDB"),
'user_type' => USER_TYPE_SUPER_ADMIN,
'default_page_id' => 0,
'pages' => [
      [
'url' => 'cmdb/overview.html',
'label' => _('CMDB overview')
       ]
      ]
     ]

注意:

USER_TYPE_SUPER_ADMIN 只有超级管理员才能看到该菜单,如果想让zabbix普通账户也看到该 CMDB 菜单,则应将 user_type 改成 USER_TYPE_ZABBIX_USER。(这样改后 guest用户也可以看到 CMDB菜单了,为了安全,我们采用 USER_TYPE_ZABBIX_USER 方式时,应设置禁用 guest用户:管理--->用户群组--->Guests--->设置状态为”停用“)

'user_type' => USER_TYPE_ZABBIX_USER
/usr/share/zabbix/下创建目录cmdb

mkdir cmdb
/usr/share/zabbix/cmdb/ 用来存放 overview.html --->我们的目标页面

2 找到并修改main.js

[root@zabbix_nginx ~]# find / -name "main.js"
/usr/share/zabbix/js/main.js
编辑修改 main.js

vim /usr/share/zabbix/js/main.js
修改为:

menus: {'view': 0, 'cm': 0, 'reports': 0, 'config': 0, 'admin': 0, 'cmdb': 0}

结束。

点击 CMDB ---> CMDB overview ,将弹出目标页面,如下图:

原文链接:https://blog.csdn.net/wudinaniya/article/details/99109955

zabbix 二次开发(添加menu)的更多相关文章

  1. C#/AutoCAD 2018/ObjectArx/二次开发添加删除实体的工具函数(四)

    1.添加删除实体 C# ObjectARX二次开发添加删除实体是非常容易主要代码如下: 添加实体: objId = btr.AppendEntity(entity); trans.AddNewlyCr ...

  2. C#/AutoCAD 2018/ObjectArx/二次开发添加圆对象的的例子(五)

    C#/AutoCAD 2018/ObjectArx/二次开发添加圆对象的的例子(五) 1.创建一个图形对象的步骤如下见上一篇博客(三)2.添加删除实体的工具函数见上一篇博客(四) 3.添加圆的例子(完 ...

  3. 像MIUI一样做Zabbix二次开发(1)——MIUI之于Android,乐维监控之于Zabbix

    摘要 文章主要介绍:7年做Zabbix二次开发,讲述那些从技术方向的选择,到开发.架构设计.深度定制,到我们的更多前瞻性想法. 关于MIUI "专注.极致.口碑.快"成了雷布斯的口 ...

  4. Arcengine 二次开发添加右键菜单

    最近在搞arcengine 二次开发,遇到了好多问题,也通过网上查资料试着慢慢解决了,把解决的步骤记录下来,有需要帮助的可以看一下,也欢迎各位来批评指正. 想给自己的map application在图 ...

  5. jooml二次开发---添加文章组件

    在写一个joomla组件的时候需要手动添加excel表格,并把表格当做文章的内容添加到前台文章中, 开始不知道怎么下手,索性先把一个基本的组件写出来,在joomla网站上测试是可以访问这个组件的,在p ...

  6. C#/AutoCAD 2018/ObjectArx/二次开发添加图形对象步骤和添加直线的例子(三)

    1.创建一个图形对象的步骤如下(1)得到创建对象的图形数据库:(2)在内存中创建实体类的一个对象:(3)定义一个指向当前数据库的事务处理:(4)打开图形数据库的块表:(5)打开一个存储实体的块表记录( ...

  7. 像MIUI一样做Zabbix二次开发(7)——问答

    Q:用Zabbix怎么去监控IBM的power服务器(硬件方面的) A:硬件监控,ipmi  和SNMP,带外管理口集成 Q:ipmi获取数据有时候回拉不到 A:ipmi的监控zabbix低版本的的确 ...

  8. 像MIUI一样做Zabbix二次开发(5)——那些坑和优化方向

    踩过的那些坑 从2011年开始玩Zabbix,踩过的坑着实不少,被研发的同事吐了无数槽,所谓"情到深度又爱又恨".以下简述印象比较深刻的几个坑: 二次开发的方式:2011刚开始做的 ...

  9. 像MIUI一样做Zabbix二次开发(2)——Zabbix与商业及开源产品的比较分析

    Zabbix的特点 Zabbix是一个基于WEB界面的提供分布式系统监控的开源解决方案,通过浏览器监视,做到告警分级处理.网络访问安全可控,该开源平台在全球有广泛的用户基础,他的特点: 开放性:源代码 ...

  10. 像MIUI一样做Zabbix二次开发(3)——Zabbix深度定制的意义

    深度定制的意义 综合来讲,Zabbix是一个非常强大的监控平台,简单拿来完成监控一些Hosts,没有什么问题,而且,目前国内大部分客户都是这么做的,基本上是安装完后,网上找到一些相关模板,配置后把Ho ...

随机推荐

  1. CodeServer 不能粘贴

    CodeServer 在没有SSL证书时, 由一浏览器的限制, 默认是不能粘贴的. 在局域网中, 如果不考虑安全性的话, 可以考虑直接把加密关掉, 就能复制粘贴了. 配置文件如下: cert: Tru ...

  2. LLM推理 - Nvidia TensorRT-LLM 与 Triton Inference Server

    1. LLM部署-TensorRT-LLM与Triton 随着LLM越来越热门,LLM的推理服务也得到越来越多的关注与探索.在推理框架方面,tensorrt-llm是非常主流的开源框架,在Nvidia ...

  3. Stable Diffusion(三)Dreambooth finetune模型

    1. Dreambooth Dreambooth可以把你任何喜欢的东西放入Stable Diffusion模型. 1.1. 什么是Dreambooth 最初由谷歌在2022年发布,是对SD模型的fin ...

  4. ASP.NET Core使用Hangfire定时发布文章

    ASP.NET Core使用Hangfire实现定时任务 前言 也是上了5天班,终于迎来了休息,抽空更新下博客,然后就是下周一公司会对我进行考核,希望考核能通过吧!!! 然后我想给博客添加一个定时发布 ...

  5. 使用explain优化慢查询的业务场景分析

    问:你最害怕的事情是什么? 答:搓澡 问:为什么? 答:因为有些人一旦错过,就不在了 Explain 这个词在不同的上下文中有不同的含义.在数据库查询优化的上下文中,"EXPLAIN&quo ...

  6. NAT类型检测方案

    一.NAT分类 NAT大致有4种类型: 1. Full Cone NAT 完全锥形NAT,所有从同一个内网IP和端口号发送过来的请求都会被映射成同一个外网IP和端口号,并且任何一个外网主机都可以通过这 ...

  7. 基于NXP i.MX 6ULL——MQTT通信协议的开发案例

    前  言 本指导文档适用开发环境: Windows开发环境:Windows 7 64bit.Windows 10 64bit Linux开发环境:Ubuntu 18.04.4 64bit 拟机:VMw ...

  8. helloworld - 程序员的第一个社区终于来了

    helloworld - 程序员的第一个社区终于来了 csdn事件 CSDN旗下的GitCode最近因为一种极其不道德的行为引起了开发者的广泛愤怒和抗议.CSDN在没有通知或征求开发者同意的情况下,悄 ...

  9. GUI测试

    标签(空格分隔): GUI 我要用到 Chrome 浏览器,所以需要先下载 Chrome Driver 并将其放入环境变量.接下来,你可以用自己熟悉的方式建立一个空的 Maven 项目,然后在 POM ...

  10. Java FastJson解析json字符串

    json转map Map<String, 实体类> titleMap=JSON.parseObject(JSON字符串, new TypeReference<HashMap<S ...