利用鸿鹄快速构建公司IT设备管理方案

需求描述

相信应该有一部分朋友跟我们一样,公司内部有很多各种各样的系统,比如资产管理、CRM、issue管理等等。这篇文章介绍下,鸿鹄是如何让我们的资产系统,按照我们的需求展示数据的。

我们的资产管理系统,是使用开源的Snipe-IT。Snipe-IT 凭借着易安装部署和内容丰富,赢得了不少的用户。炎凰是使用 docker 来进行部署的,只要部署两个容器即可。MySQL 和 Snipe-IT,所以理所当然Snipe-IT 的数据是存储在MySQL中的。

从功能上来说,仅仅就记录资产而言,Snipe-IT 完全能够满足我们目前的需求。但是随着时间的推移,电脑在快到达报废期限前,我希望能够收到提醒,并且可以提前统计出来,这样以便为下一次的预算做准备。Snipe-IT却没有这样的功能,但是我们可以依托鸿鹄的数据分析和展示能力,来实现我们的需求。

需求的实现

我们常常会有这样的感觉,数据和想法我都有,但是没有一个工具,能让我灵活的分析和展示我的数据。不过在了解鸿鹄之后,这样的问题就能够迎刃而解。

对于资产的支出,目前一大部分都是消费在电脑的采购上,如果有明年将会采购电脑的统计,那么明年的预算就简单了很多。而对于电脑的采购,也分为,电脑的换新和新购。

电脑换新:电脑年限一般在4年。到达4年后,同事们可以申请新的电脑,公司会为其采购。(为了本篇文章我暂时设置电脑换新年限为3年,因为我们公司刚成立2年多,如果设置4年的话,就没有数据样本)

电脑新购:为新进同事购买新的电脑。假设我们明年计划招聘15位新同事,而且根据不同部门分配不同配置的电脑,就能估算出新电脑的购置费用。

通过一天多的努力,就基本实现了我的需求。仪表盘等展示如下(由于数据敏感,为了展示。以下是我们根据真实场景,对数据进行了脱敏处理,以下数字并非真实业务数据):

图片

图1 资产预算仪表板

图片

图2 解释电脑总支出费用

‘2023年预计电脑费用总支出(元)’是由‘电脑换新费用(元)’与‘新购电脑费用(元)’之和。

换新电脑的数据从何而来?我们是通过JDBC去查snipe-it的MySQL表中数据,然后发送给鸿鹄,下一章节会详细介绍。

图片

图3 明年换新的季度费用统计

另外通过统计,我们也知道下一个/几个季度我们换新电脑的费用情况(因为公司是2020年8月份成立的,所以我们在统计2023年数据时,就只能看到从第三季开始的数据)。而且从详细的列表中,我们也清楚哪些同事可以在什么时间申请换新电脑,并且根据现在的行情估算出费用。

图片

图4 明年换新的详细表

关于统计和计算,其实只需要例如这样的一条SQL就可以了(统计换新的总费用的SQL)。 

图片

仪表板有了,只要定期去查看,就能详细了解到明年采购电脑的费用情况。但是,资产报表并不是经常更新,所以我们的注意力不会经常放在上面,但是只要定期(我目前设置的是每个季度的第一天)让我看到一个一直更新的报表即可。于是设置了仪表板的“设定计划”,在每季度的第一天,就收到以PDF为格式仪表板的邮件,同时也提醒我,是时间该考虑预算问题了,简化工作流。

图片

图5 仪表板邮件

图片

图6 PDF中显示仪表板

方案实现步骤

Snipe-IT的配置

因为Snipe-IT的部署非常简单,我就简单点,把配置文件粘上来。Snipe-IT的部署,仅需MySQL与Snipe-IT 两个container。供参考:

mysql.yaml (折叠框)

图片

snipe-it.yaml (折叠框)

图片

部署好主界面如下:

图片

图7 Snipe-it 界面

鸿鹄通过JDBC来访问

从上面的配置文件的代码就可以看出,Snipe-IT与MySQL之间是通过3306端口进行交互的,那我们就可以使用鸿鹄通过JDBC,来访问MySQL的数据。

鸿鹄的安装可以参考: https://yanhuang.yuque.com/books/share/b1b27937-e331-40fd-bce1-bd521af4e662/vvv9si

下面我们来执行一个简单的查询,来测试下JDBC,查看是否可以拿取MySQL中的数据

图片

图8 测试JDBC

测试成功,不过我们需要的是一个持续可更新的数据集,这样以便我们做仪表板,和监控数据。

针对MySQL中的数据导入到鸿鹄,我使用的是预存查询的方法进行导入。如果希望更加快捷地,把关系型数据库的数据进行导入。可以联系我们的销售同事,获取炎凰数据平台商业版,商业版已经完美的支持了通过JDBC对MySQL的数据进行导入。

首先创建数据集,以 assets 为例:

图片

图9 创建数据集

我这里会创建两个预存查询,第一个是删除掉数据集中的数据,第二个是从JDBC中拿取数据后 Insert 到数据集中,具体流程是每天的 0:01、6:01、12:01、18:01 清除数据集,然后在 0:02、6:02、12:02、18:02 时查询数据库然后把结果 insert 到数据集中,实现定时更新的目的。

1、创建清除数据的预存查询

图片

图10 新建清除数据集的预存查询

2、创建insert JDBC数据的预存查询,将处理过后的数据,插入到assets数据集中。

图片

图11 新建更新数据集的预存查询

执行过以上的预存查询之后,我们的assets数据集就有了数据。 有了数据我们就可以制作仪表板了

制作仪表板

创建仪表板一个关于“资产预算”的仪表板

图片

图12 新建仪表板

然后只需要向仪表板中添加各个图表

图片

图13 新建仪表板中的图标

最后的效果参见:图1 资产预算仪表板

邮件提醒

在编辑好的仪表板中,点击“设定计划”,开始编辑设定计划,动作选择邮件,然后输入你的邮件即可。(当然先要设置好,系统设置中的“电子邮件设置”,具体位置见文献参考)

图片

图14 仪表板中的设定计划

图片

图15 编辑设定计划

这样就可以按照你设定的日期,收到的报表邮件了。

鸿鹄价值

就像我之前所说的,数据和想法我都有,但是缺少一个能够帮我实现数据分析和展示的简单工具,那么鸿鹄就能够帮到你,只要几条简单的SQL语句,就能够把数据按照你的想法展示出来。然后再按照实际的需求来制作仪表板。展示给自己和老板。再加上定时的计划,提醒我们该做预算了,而且给后面计算预算,起到数据支撑的作用。

后续工作

这次的经历,对于我也是一次探索,之前我也不知道MySQL的数据,原来可以如此简单的接入到鸿鹄中。未来,我们会将其他系统中的数据,也都会接入到鸿鹄中,集中化管理和分析。很多系统的数据放在一起,说不定还会起到一些化学变化。

文献参考

Snipe-it : https://snipeitapp.com/

鸿鹄中电子邮件设置:

 http://:18080/center/docs/preference/system/smtp/

鸿鹄中JDBC文档:

http://:18080/center/docs/integration/jdbc/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/73995.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习---线性回归、多元线性回归、代价函数

1. 线性回归 回归属于有监督学习中的一种方法。该方法的核心思想是从连续型统计数据中得到数学模型,然后 将该数学模型用于预测或者分类。该方法处理的数据可以是多维的。 回归是由达尔文的表兄弟Francis Galton发明的。Galton于1877年完成了第一次回归预测&…

51:电机(ULN2003D)

1:介绍 我们51单片机使用的是直流电机 直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转 直流电机主要由永磁体(定子)、线圈(转…

SpringCloudAlibaba之Ribbon

Ribbon是nacos自带的负载均衡器,属于客户端的负载均衡 但是在Spring高级版本中让LoadBalancer替代了 本人用的是2.1.0的nacos,ribbon还没有被替换。 使用: 在配置类中:LoadBalanced BeanLoadBalancedpublic RestTemplate restT…

MacOS Monterey VM Install ESXi to 7 U2

一、MacOS Monterey ISO 准备 1.1 下载macOS Monterey 下载🔗链接 一定是 ISO 格式的,其他格式不适用: https://www.mediafire.com/file/4fcx0aeoehmbnmp/macOSMontereybyTechrechard.com.iso/file 1.2 将 Monterey ISO 文件上传到数据…

编辑接口和新增接口的分别调用

在后台管理系统中,有时候会碰到新增接口和编辑接口共用一个弹窗的时候. 一.场景 在点击新增或者编辑的时候都会使用这个窗口,新增直接调用接口进行增加即可,编辑则是打开这个窗口显示当前行的数据,然后调用编辑接口。 二.处理方法 在默认的情况下,这个窗口用来处理…

【从零开始学习JAVA | 第三十八篇】应用多线程

目录 前言: 多线程的实现方式: Thread常见的成员方法: 总结: 前言: 多线程的引入不仅仅是提高计算机处理能力的技术手段,更是适应当前时代对效率和性能要求的必然选择。在本文中,我们将深入…

使用贝叶斯滤波器通过运动模型和嘈杂的墙壁传感器定位机器人研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

微服务系列<3>---微服务的调用组件 rpc 远程调用

什么是rpc调用,让我们调用远程方法就像调用本地方法一样 这就属于rpc调用 rpc是针对于本地来说的 调用远程方法根调用本地方法一样 如果能达到这种效果 就是rpc调用如果达到一种效果 调用远程和调用本地一样 他就是一种rpc框架2个微服务 之间发的调用 我们之前通过ribbon的方式…

云原生落地实践的25个步骤

一、什么是云原生? 云原生从字面意思上来看可以分成云和原生两个部分。 云是和本地相对的,传统的应用必须跑在本地服务器上,现在流行的应用都跑在云端,云包含了IaaS,、PaaS和SaaS。 原生就是土生土长的意思,我们在开始…

数论分块学习笔记

准备开始复习莫比乌斯反演,杜教筛这一部分,先复习一下数论分块 0.随便说说 数论分块可以计算如下形式的式子 ∑ i 1 n f ( i ) g ( ⌊ n i ⌋ ) \sum_{i1}^{n}f(i)g(\lfloor\frac{n}{i}\rfloor) ∑i1n​f(i)g(⌊in​⌋)。 利用的原理是 ⌊ n i ⌋ \lf…

UE虚幻引擎 UTextBlock UMG文本控件超过边界区域以后显示省略号

版本 5.2.1 裁剪 - 剪切 - 剪切到边界 裁剪 - 高级 - 溢出策略 - 省略

消息队列项目(1)

概念 这里的消息队列, 大致上就是一个生产者消费者模型. 我这个消息队列是仿照 RabbitMQ 的实现原理来进行编写的 需求分析 有几个核心的概念: 生产者(Producer)消费者(Consumer)中间人(Broker)发布(Publish) :生产者向中间人投递消息的过程订阅(Subcribe) :记录哪些消费者…

【腾讯云 Cloud Studio 实战训练营】CloudStudio体验真正的现代化开发方式,双手插兜不知道什么叫对手!

CloudStudio体验真正的现代化开发方式,双手插兜不知道什么叫对手! 文章目录 CloudStudio体验真正的现代化开发方式,双手插兜不知道什么叫对手!前言出现的背景一、CloudStudio 是什么?二、CloudStudio 的特点三、CloudS…

【LeetCode每日一题】——766.托普利茨矩阵

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【题目进阶】八【解题思路】九【时间频度】十【代码实现】十一【提交结果】 一【题目类别】 矩阵 二【题目难度】 简单 三【题目编号】 766.托普利茨矩阵 四【题目描述…

【雕爷学编程】MicroPython动手做(30)——物联网之Blynk 2

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

FPGA项目设计:数字时钟

项目要求: 设计一个数字时钟,数码管前两位显示小时,数码管中间两位显示分钟,数码管后面两位显示秒。 项目设计: 系统框架图: 计数模块时序图: 代码实现: 计数模块: /…

通向架构师的道路之apache_tomcat_https应用

一、总结前一天的学习 通过上一章我们知道、了解并掌握了Web Server结合App Server是怎么样的一种架构,并且亲手通过Apache的Http Server与Tomcat6进行了整合的实验。 这样的架构的好处在于: 减轻App Server端的压力,用Web Server来分压…

Linux下基于Dockerfile构建镜像应用(1)

目录 基于已有容器创建镜像 Dockerfile构建SSHD镜像 构建镜像 测试容器 可以登陆 Dockerfile构建httpd镜像 构建镜像 测试容器 Dockerfile构建nginx镜像 构建镜像 概述: Docker 镜像是Docker容器技术中的核心,也是应用打包构建发布的标准格式。…

计算机视觉与图形学-神经渲染专题-ConsistentNeRF

摘要 Neural Radiance Fields (NeRF) 已通过密集视图图像展示了卓越的 3D 重建能力。然而,在稀疏视图设置下,其性能显着恶化。我们观察到,在这种情况下,学习不同视图之间像素的 3D 一致性对于提高重建质量至关重要。在本文中&…

在linux上面部署activemq

1、下载 网址:ActiveMQ 注意:新版本5.17起 要求jdk11, 5.16兼容jdk8, 所以,确保已经安装 java11 或以上的版本 这里安装较新版:5.18.2,已经安装了java17 如何安装jdk17,请详见我的另一篇文章:linux…