利用鸿鹄快速构建公司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.mzph.cn/news/20616.shtml

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

相关文章

Go语音介绍

Go语言介绍 Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。 Go是静态强类型语言,是区别于解析型语言的编译型语言。 解析型语言——源代码是先翻译为中间代码,然后由解析器对代码进行解释执行。 编译型语言——源代码编…

Vue3描述列表(Descriptions)

😁 整体功能效果与 ant design vue 保持高度一致 😁 包含两种组件:Descriptions 和 DescriptionsItem(必须搭配使用!) 效果如下图:在线预览 APIs Descriptions 参数说明类型默认值必传title…

删除注释(力扣)

删除注释 题目 给一个 C 程序,删除程序中的注释。这个程序source是一个数组,其中source[i]表示第 i 行源码。 这表示每行源码由 ‘\n’ 分隔。 在 C 中有两种注释风格,行内注释和块注释。 字符串// 表示行注释,表示//和其右侧…

冒泡排序【Java算法】

文章目录 1. 概念2. 思路3. 代码实现 1. 概念 比较前后相邻的两个数据,如果前面数据大于后面的数据,就将这两个数据互换。这样对数组的第0个数据到第 N - 1 个数据进行一次遍历后,最大的一个数据就 “沉” 到数组的第 N - 1 个位置。 N N - …

知识区博主转型——兼做知识区和改造区博主!!!!!

想脱单的进来,一起交流如何能脱单!!! 为什么——我太羡慕有对象的人了哭死!!!!!! 你是不是很羡慕别人怎么都有女朋友 别人家的女朋友怎么都那么好&#xff…

FPGA学习—通过数码管实现电子秒表模拟

文章目录 一、数码管简介二、项目分析三、项目源码及分析四、实现效果五、总结 一、数码管简介 请参阅博主以前写过的一篇电子时钟模拟,在此不再赘述。 https://blog.csdn.net/qq_54347584/article/details/130402287 二、项目分析 项目说明:本次项目…

RISCV 5 RISC-V调用规则

RISCV 5 RISC-V调用规则 1 Register Convention1.1 Integer Register Convention1.2 Floating-point Register Convention 2. Procedure Calling Convention2.1 Integer Calling Convention2.2 Hardware Floating-point Calling Convention2.3 ILP32E Calling Convention2.4 Na…

大数据课程F4——HIve的其他操作

文章作者邮箱:yugongshiyesina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握HIve的join; ⚪ 掌握HIve的查询和排序 ⚪ 掌握HIve的beeline ⚪ 掌握HIve的文件格式 ⚪ 掌握HIve的基本架构 ⚪ 掌握HIve的优化; 一、jo…

想了解好用的翻译pdf的软件吗?

在全球化的时代背景下,跨国贸易越来越普遍,跨语言沟通也越来越频繁。小黄是一家跨国公司的员工,他梦想能在全球各地拓展自己的业务,奈何遇到了一个巨大的挑战:跨语言沟通。在这其中,pdf文件是他经常接收到的…

linux基本功系列之cd命令实战

文章目录 前言一. cd命令的介绍二. 语法格式及常用选项三. 参考案例总结 前言 居然发现了落下了CD命令,也不算落下把,主要是cd命令内容太少,撑不起一篇文章,今天也写一写,就当记个笔记吧 🏠个人主页&#…

ubuntu下,在vscode中使用platformio出现 Can not find working Python 3.6+ Interpreter的问题

有一段时间没有使用platformio了,今天突然使用的时候,发现用不了,报错: Ubuntu PlatformIO: Can not find working Python 3.6 Interpreter. Please install the latest Python 3 and restart VSCode。 上网一查,发现…

【Liux下6818开发板(ARM)】触摸屏

(꒪ꇴ꒪ ),hello我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误&#x…

MacOS上用docker运行mongo及mongo-express

MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库。由 C 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 前提 要求…

高校陆续拥抱chatgpt,人工智能会给学术带来什么变化会有什么影响

在当今信息爆炸的时代,人工智能在各行各业都发挥着越来越重要的作用,高校教育领域也不例外。最近,越来越多的高校开始陆续拥抱chatgpt(Chatbot GPT)这一人工智能技术,在学术领域会带来了怎样的变化与影响&a…

【RabbitMQ(day3)】扇形交换机和主题交换机的应用

文章目录 第三种模型(Publish/Subscribe 发布/订阅)扇型(funout)交换机Public/Subscribe 模型绑定 第四、第五种模型(Routing、Topics)第四种模型(Routing)主题交换机(To…

在线五子棋对战

目录 数据管理模块(数据库设计) 前端界面模块 业务处理模块 会话管理模块网络通信模块(session,cookie) 在线管理模块 房间管理模块 用户匹配模块 项目扩展 数据管理模块(数据库设计) 数据库中有可能存在很多张表&#xf…

微信小程序接入腾讯云天御验证码

腾讯云新一代行为验证码(Captcha),基于十道安全防护策略,为网页、APP、小程序开发者打造立体、全面的人机验证。在保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。 …

DataSphere Studio- 1.1.1 安装部署(自动化脚本)

DSSLinkis Ansible一键安装脚本 DSS1.1.1 & Linkis 1.3.0 Ansible 一键部署脚本 作者:wubolive Q Q:1049635685 邮箱:wubolivefoxmai.com Github:https://github.com/wubolive/dss-linkis-ansible 一、简介 为解决繁琐…

消息疯狂堆积!RocketMQ出Bug了?

前言 用过 MQ 的同学,可能会遇到过消息堆积的问题。而肥壕最近也踩上了这个坑,但是发现结果竟然是这么一个意料之外的原因而导致的。 正文 那一晚月黑风高,肥壕正准备踏上回家的路,突然收到告警短信轰炸!“MQ 消息堆…

nvm安装和使用

公司不同系统用的node版本不一样,所以就需要安装多版本了,那么使用nvm来管理就大大方便了开发。 使用nvm有哪些好处呢 安装node很方便,只需要一条命令可以轻松切换node版本可以多版本node并存 需要注意的是安装之前先把原有的node给卸载掉…