我需要一个简单的工具来可视化一系列过程(ETL过程,但这并不重要)的状态。此进程监视器需要使用不同状态码的颜色编码进行自定义。这个计划是把监视器放在办公室的大屏幕上,让每个人都能立即看到任何故障。
今天,我可以通过对oracle数据库中的底层表运行sql语句来检查这些进程的状态。这些查询的输出是上述每个流程的状态码。我想象使用这些sql语句,定期运行(比如,每分钟左右),作为这个监视器的输入。
我考虑过写一个简单的web界面来做这个,但我认为这样的东西应该已经存在了。有人有什么建议吗?
如果只是在一个工作站上显示另一个选项是SQL开发人员自定义报告。您仍然需要启动SQL Developer并启动报表,但是自定义报表具有一个设置,因此可以以指定的间隔(5-120秒)刷新它们。根据你想要的输出的"丰富度",你可以:
- 创建一个简单的Table报表(style = Table)
粘贴一个已经用作起点的查询。
- 创建一个PL/SQL块,通过DBMS_OUTPUT输出HTML。PUT_LINE语句(Style = plsql-dbms_output)
在输出中使用HTML标签,随心所欲地设置格式、颜色等。我用它来创建条形图来显示v$Long_Operations的进度。完整的描述和屏幕截图可以在这里创建用户定义的HTML报告
如果你只想得到一些输出,你可以放弃SQL Developer,安排一个进程使用你的PL/SQL块写HTML输出到一个文件,并使用浏览器在你的大屏幕上显示你生成的输出。或者通过网络服务器提供文件,这样办公室里的其他人就可以看到它。定期重新生成文件,并确保向页面添加refresh元标记,以便浏览器定期重新加载。
Oracle Application Express可能是最好的工具。
我会说滚动你自己的仪表盘。取决于你的技能,但我会做一个基本的web应用程序在Java (spring或一些mvc框架,我不是一个web开发人员,但我知道足够创建一个基本的功能仪表板)。由于您已经知道了所需的SQL,因此将它们组合在一起应该不难,并且您可以在将来根据需要进行修改。我想说的是保持简单(不需要中间件或单点登录或花哨的视图/图表)。