作者:来自 Elastic Priscilla_Parodi
在我们探索 AIOps 之前,让我们先澄清一些与不同 Ops 的一些单并非全部相关的关键概念:
1)DevOps:开发+运维
你可能已经听说过 DevOps。 它是一种通过协作和自动化促进交付来集成软件开发团队 (Dev) 和运营团队 (Ops) 工作的方法。
2)DataOps:DATA + OPS
认识到数据的持续增长和相关挑战,你可以将 DataOps 理解为 DevOps 原则和实践在数据上的应用。 这是一个通过管理整个数据生命周期使正确的数据到达正确位置的过程。
3)MLOps:ML + DEV + OPS
同样,MLOps(机器学习操作)可以被视为 DevOps 原则在机器学习管道中的应用,其中跨职能协作可操作机器学习,确保 ML 模型的可靠性和性能。
3)AIOps:AI + DEVOPS
AIOps(人工智能操作)加入了这个术语组合,也与 AI/ML 相关。 然而,MLOps 专注于 ML 模型的开发和部署,而 AIOps 则专注于通过应用人工智能 (AI) 功能来优化业务成果的 IT 运营管理。
AIOps 不能替代 DevOps! 这是同一周期内的演变。 AIOps 使用人工智能来自动化、简化、加速和优化 IT 运营流程。
那么,我可以使用 AIOps 做什么?
一切都从数据开始……
这可以包括:
- 日志、指标和跟踪
- 性能和事件数据
- 基础设施和网络数据
- 应用数据
- 事件相关数据
- 历史数据
首先,在(Kibana -> Analytics -> Machine Learning)上,你将看到不同的 AI 功能:
异常检测根据数据模式构建概率模型,你可以连续运行作业以识别一段时间内的异常事件。 借助它,你可以识别异常并生成警报,以便在问题发生之前解决和避免问题。
你可以执行的操作示例包括但不限于:
- 根据模式值识别分类日志条目中的异常
- 估计时间序列值在未来日期发生的概率
- 识别影响或促成异常的领域
Data frame 分析是一种多变量分析,使你能够使用分类、异常值检测和回归算法来分析数据。 使用它,你可以根据字段预测不同的类或类别,检测与其他值显着不同的数据点,还可以估计数据中不同字段之间的关系。
你可以执行的操作示例包括但不限于:
- 根据历史日志预测错误类别
- 估计不同指标之间的关系,以了解一项指标的变化如何影响其他指标
自然语言处理允许你解释和操作人类语言文本。 你可以将经过训练的模型导入并部署到 Elasticsearch 中,这些模型将在 “经过训练的模型” 上提供,你可以利用它们来丰富你的数据。
你可以执行的操作示例包括但不限于:
- 使用情绪分析值丰富事件相关数据
- 识别语言并翻译支持票
- 分析和关联非结构化文本数据,识别关键字,并考虑歧义和上下文
Priscilla_Parodi 提供静态方法来帮助你解释数据及其行为。 通过日志速率分析,你可以确定日志速率增加或减少的原因;通过日志模式分析,你可以查找日志消息中的模式;通过变化点检测,你可以检测时间序列数据指标中的变化点。
由 OpenAI 连接器提供支持的 AI 助手也可以为您的 AIOps 策略做出贡献。 它提供了利用 OpenAI gpt-4+ 来解释错误消息并建议补救措施以及请求、分析和可视化数据的能力。
您可以执行的操作示例包括但不限于:
- 获取上下文信息。 通过日志率分析确定日志峰值的统计显着贡献者后,AI 助手会解释潜在原因并建议有效的补救措施。
- 与 AI 助手对话。 将外部信息添加到助手的知识库中,并获取实时的附加信息和见解。
它执行总结功能,该功能旨在总结对话内容,并将结果存储起来。
{"name": "summarize","args": {"id": "log_rate_spike_test","text": "The log rate spike in the PostgreSQL database running in a Kubernetes environment was a test and has been resolved. It should not be considered as an issue in the future.","is_correction": false,"confidence": "high","public": true}
}
现在,它执行 “recall” 功能,该功能旨在检索以前的学习内容。 AI Assistant 使用 Elastic 的语义搜索引擎 ELSER 从其内部知识库索引中调用数据,以创建检索增强生成 (RAG) 响应。
请注意,文本现在有所不同,并包含更新的信息。
你还可以将外部数据(GitHub 问题、Markdown 文件、Jira 票据、文本文件等)提取到 Elasticsearch 中,并将数据重新索引到 AI 助手的知识库中。
POST _reindex
{"source": {"index": "<InternalDocsIndex>", //name of the index where your internal documents are stored"_source": ["<text_field>", //name of the field containing your internal documents' text."<timestamp>", //name of the timestamp field in your internal documents."namespace","is_correction","public", //true or false. If true, the document is available to users in the space defined in the following space field or in all spaces if no space is defined. If false, the document is restricted to the user indicated in the following user.name field."confidence"]},"dest": {"index": ".kibana-observability-ai-assistant-kb-000001","pipeline": ".kibana-observability-ai-assistant-kb-ingest-pipeline" //this pipeline contains the Elastic Learned Sparse EncodeR model.},"script": {"inline": "ctx._source.text = ctx._source.remove(\"<text_field>\");ctx._source.namespace=\"<space>\";ctx._source.is_correction=false;ctx._source.public=<public>;ctx._source.confidence=\"high\";ctx._source['@timestamp'] = ctx._source.remove(\"<timestamp>\");ctx._source['user.name'] = \"<user.name>\""}
}
正如你所看到的,除了 DevOps 之外,你还可以将 AIOps 纳入 Elasticsearch 的可观察性策略中,并实施此类策略来提高效率、主动解决问题并不断提高系统的性能和可靠性。
在效率交响乐中,AIOps 精心策划卓越运营,让你享受和谐的假期。