
在
我们的博客中,我们谈论了很多有关监视和审计的国外解决方案,现在是时候进行国内开发了。
MONQ是一个伞形系统,带有用于通用监视系统,资源服务模型,数据分析,高AI潜力和特殊许可模型的连接器。 我们给了我们一个分配的对象,我们决定共享它的内幕,以及一切是否都像供应商所说的那样具有纳米技术(毕竟,该项目是Skolkovo的居民)。 测试的荣誉落在了我身上,我将告诉您有关安装,系统功能以及许可方面的知识。 我要猫。
引言
2018年,Gartner引入了一个新术语来描述如何将人工智能(AI)应用于IT支持。 “ AIOps(IT运营人工智能)有望节省IT服务的时间和精力,以便在日益复杂的工作环境中识别各种问题。” Gartner建议使用AI来自动发现问题并加以解决。 在2019年,这似乎是一个童话,而且我还没有看到任何全自动IT支持的真实案例。
我从
MONQ Digital Lab获得了MONQ平台。 开发人员自己将其定位为AIOps解决方案。 但是我将其称为伞式监视,事件管理和启动自动化脚本的系统。 里面没有太多的情报。
在值班期间,我支持100多种不同的系统,服务器,服务,服务。 我的休闲监控工具是Zabbix和Prometheus, 它们涵盖了大多数性能监视任务。 监视循环中的几个系统有时会停止响应,可以通过重新引导服务器来解决(没有其他方法,没有人会重写曲线代码)。 我一直想尝试实现一种情况,即监视系统从两个独立的来源识别出问题并重新启动服务器本身。 对于此类任务,通常使用带有脚本子系统的伞式系统,因为它现在被时尚地称为RPA(机器人过程自动化)。 我不知道免费系统,但是商业系统就像铸铁桥。
今天,我们将尝试一起安装MONQ,将Zabbix和Prometheus连接到它,配置警报并编写服务器重启脚本。 这样一来,明天您就可以平静地将脚放在桌子上,只偶尔观看一下用另一台机器处理一台机器并用羊角面包喝咖啡的过程。
解决方案架构
MONQ架构该系统部署在kubernetes集群中的docker容器中。 微服务集被组合成功能块。 使用各种有用标签进行充实后,来自用户的所有数据,技术信息,事件,日志将飞入ClickHouse的数据湖中,然后进行计算和分析过程。 模式,重要事件被检测,复合触发器被形成并且重要事件可以启动各种重要过程:从警报和事件到复杂的用户脚本。
开箱
YouTube上充斥着解压视频的视频。 现在,我将尝试以文本图片格式执行此操作,而不是使用物理产品,而是使用发行版。 首先,准备-安装kubernetes集群。
您可以
在此处阅读有关设置kubernetes集群的
信息 。 我将告诉您有关配置功能的信息:
- coredns用作群集DNS;
- Nginx入口控制器
- 集群中的rbac授权;
- 使用共享存储(pv / pvc)。
对于每个项目,供应商都提供硬件技术要求。 安装的最低配置是4台服务器。 只要与一个监视系统集成,这足以进行试点。 就我的目的而言,检查系统功能时,此选项也将起作用。
有人告诉我,在战斗条件下,该系统可根据负载和所需的容错能力扩展到客户需求。
我对系统的配置至少:
平台准备就绪后,我启动供应商的ansible手册,以安装基本的基础结构并启动系统。 Playbook执行以下操作:
- 在服务器上安装必要的软件包;
- 启动kubernetes;
- 在数据库服务器上安装和配置应用程序。 其中包括:Clickhouse,RabbitMQ,PostgreSQL,ArangoDB,Redis和所有这些都在Docker容器中;
- 安装Consul以集中存储微服务配置;
- 为DBMS和系统的基础架构部分添加端点,服务入口实体;
- 生成包含授权数据的表。
为了不手动启动微服务应用程序,供应商准备了一个内置的微服务注册表,用于添加和更新微服务,配置DBMS和服务间授权。
启动系统归结为以下操作:
- 使用预先准备的配置文件启动系统安装程序(它包含kubernetes,DBMS和Consul中的授权数据,即系统的域名);
- 安装程序启动微服务注册表;
- 使用注册表,微服务被一个接一个地启动,注册表生成领事,实体部署,服务,kubernetes中的入口的微服务配置;
- 在启动时,每个微服务都会为其自己的数据库加载一个架构。
我启动的安装程序的结果如下图所示。
Kubernetes仪表板:安装程序的结果安装过程完成后,MONQ将通过我在安装程序配置文件中指定的域名可用。 他在这里。
MONQ登录界面客制化
在系统的初始设置中,已经有一个具有完全控制权限的用户。 我在其下登录并查看MONQ的功能。
在系统中创建用户并设置工作组
系统中有两种用户授权方法:
对于初次认识,内置授权是合适的。
预设系统用户对系统对象和资源(集成,配置单元(KE),综合触发器,脚本等)的访问权限在工作组(WG)级别发布。 任何工作组都可以是对象的所有者,也可以拥有读取或写入的权利。 有几个访问级别:
- 具有所有者权限级别的WG成员可以对对象执行任何操作(具有此权限级别的WG,对象只能具有一个);
- 具有记录权限的工作组可以管理该对象,但是不能删除该对象并将其权限分配给其他工作组;
- 只读工作组可以查看有关对象的信息。
- 没有对象访问权的工作组根本不知道其存在。
默认情况下,系统已经创建了WP“空间管理员”,它刚刚解决了我的用户。 该工作组对将在此实体中创建的所有对象拥有完全权利。 对于还希望了解系统的同事,请创建一个附加的超级管理员WP。
工作组,角色和参与者特定用户的权限以角色的形式在WG的框架内配置。
PCM设定
这是关于资源服务模型的。 这是一个逻辑服务模型,描述了KE与KE资源的组成和关系,它们共同提供了商定级别的服务。 需要PCM来存储有关对象,实体及其之间的关系的信息。 MONQ中的PCM是一个网络图,其中包含有关KE及其关系的信息。
我认为,在系统中实现PCM的主要区别和优势在于,它专注于业务服务。 这有助于呈现最终用户使用的服务或服务的完整结构,而不是专注于服务或服务所基于的基础结构系统。
为了进行测试,我制作了一个简化的PCM“用户的个人帐户”。
PCM“用户的个人帐户”设置完监视之后,我将展示如何进行更改。
PCM的组成:
- 运行信息系统(IS)SRVe3_VM15的虚拟机;
- STR:Nginx_LK,PHP-fpm_LK,MySQL_LK;
- 我们的服务(IS)-LK(个人帐户);
- IP模块:授权,搜索,文档管理,付款。 实际上,它们更多,但是到目前为止仅创建了它们。
整合设定
MONQ提供各种类型的系统的连接:
- 监测系统(Zabbix,Prometheus,SCOM等);
- 日志收集系统(Splunk,Logstash等);
- 自动测试启动系统(Jenkins,Gitlab CI等)
- 服务台,任务跟踪器(Microfocus SM,Jira,Redmine,Naumen等)。
我连接了监控系统Zabbix,Prometheus。 这些连接器在“集成”部分中配置。
与监控系统集成指标和事件从Zabbix和Prometheus到MONQ。
连接综合监控(自动功能测试)
在MONQ中,您还可以配置应用程序的功能测试。 在我的示例中,这是一个个人帐户。 我已经连接了詹金斯的几种自动测试版本。
功能监控模块“ FMON项目”MONQ中的功能监视是一个单独的模块,具有自己的“功能测试”屏幕。 这是有关我的一项测试的执行情况的报告示例:
FMON用户授权项目,组装失败配置监控和警报
他使用标准模板(每个集成都有几个现成的用于合成触发器的现成模板),他为Zabbix和Prometheus的主要事件创建了合成触发器。 这里的合成触发器是在平台内部创建的触发器,可与来自不同来源的原始数据一起使用。 接下来,我将结果触发器链接到PCM元素(KE)。
“合成触发器”部分它看起来像是由模板创建的综合触发器。
由Prometheus模板创建的合成触发器的示例例如,在“我的脚本”部分中,已经有一个脚本可以重新启动服务器。 该脚本本身是用Lua编写的,可以更改。 基于此,我制作了自己的脚本来重新启动服务。
服务器上的服务重启脚本除了与邮件客户端进行常规集成外,您还可以直接配置将通知发送到各种即时通讯程序。 在这种情况下,您可以设置一个聊天机器人,该机器人将写入一个特殊的组,例如,以电报形式向管理员聊天。
要将集成与即时通讯程序一起使用,您需要打开对Microsoft Azure云的访问权限。
高级用户可以在Lua上编写自己的通知插件。 以下是我发送短信通知脚本的示例。
MONQ平台的短信发送插件监控可视化
调整后,我的PCM稍有改变,又放置了三个用于常规监视的系统,其状态决定了IS“个人用户帐户”的性能。 还增加了几项服务。
带有触发器的PCM“用户的个人帐户”有关受监视对象状态的一般信息以自定义窗口小部件的形式显示在主视图上。
IS“个人帐户”的主要介绍在截取屏幕快照时,数据库中存在大量查询问题,由于该问题,IS“个人用户帐户”中页面的响应增加了。 系统在屏幕上通知此情况并发送SMS。
对于操作监控,使用“操作屏幕”,在该屏幕上只有一个具有当前事件列表(活动事件和15分钟前关闭的事件)的小部件。
实时屏幕演示为了进行测试,我使用MySQL在虚拟机的CPU上产生了很高的负载。 系统捕获到该事件,并使用预先准备的mysqld服务重启脚本启动了该操作。 如果15分钟后该事件仍处于活动状态,则将重新启动。
该服务已正确重新启动,并且我收到一条通知,说一切正常。所有时间上的事件都可以在“时间轴”部分中查看。 如果ITSM系统仍处于连接状态,则它将显示根据KE计划的工作。
在时间轴视图上监视事件可在“ SLA报告”视图中找到有关已安装用于监视的系统的可用性的信息。
报告有关IP“用户的个人帐户”的SLA为了清楚起见,我生成了一个为期两周的报告,其中不包括优先级为3和4的事件,当然还有测试。 如果您相信该报告,则该系统可以正常运行。 该报告将导出为PDF和XLS。
屏幕显示有关用户预先配置的过滤器的信息。 屏幕上的任何事件都可以标记为快速搜索或过滤。
发牌
我在文章结尾保留了MONQ的非功能性但同样重要的优势。 这是许可。 绝大多数国外的伞式监控解决方案都根据处理事件或指标的设备的数量(通常称为每个端点,每个OS实例或其他名称)进行许可。 无论您是从最终监视对象收集数据,还是由另一个监视系统进行收集。 如果使用商业系统收集度量标准,则对同一事物重复支付是不可避免的。 MONQ通过用于外部系统的连接器的数量获得许可。 也就是说,如果您使用两个系统,则要从那里收集信息-这是两个使用的连接器或两个许可证。 因此,从“收取费用”的角度来看,使用MONQ不会发生任何变化。 您只需支付与这些系统集成的费用。 在这方面,我看到了巨大的优势和潜力。
有人告诉我,系统开发计划是不断引入的许多改进。 在接下来的六个月中将出现的显着创新包括:仪表板构造器,用于创建合成触发器的母版,在计算SLA时增加详细信息(您将看到哪个因素以及对对象可访问性的影响程度)以及外部公共API。
结论
我喜欢来自开发公司的人员轻松进行联系,交谈和共享信息,并且我喜欢该系统。 它仍然没有太多的功能,就AIOps而言,很难直接与Splunk或AppDynamics进行比较,但是,显然,如果他们所谈论的一切变为现实,那么该系统将在市场领导者和Gartner象限中占据应有的位置。
如果您想自己评估系统,进行演示,观看演示或已经寻找了很长时间的总体解决方案并准备进行试点项目,请在我们网站上的
反馈表中留下要求。