【藏经阁一起读(31)】读《Elastic(中国)产品应用实战》,你有哪些心得?
来和我一起阅读吧 使用Elastic Stack洞察GitHub开源项目的开发效能67操作步骤:1)粘贴入以上代码后,点击右三角的执行按钮;2)右侧结果返回为:true,表明成功更新了索引配置。自查点检查确认:1)Kibana里正常导入了所有示例可视化控件和基础配置;2)filebeat可执行文件可以正常的执行;3)完成了Elasticsearch的索引初始化和配置微调;4)成功导入了项目概要overall数据,并且在Dashboard上可见这些数据。在以上自测点都成功以后,再进入下面的步骤。9.分类采集项目其它数据在成功采集了项目概况数据以后,我们接下逐步采集和分析其它类型的数据包括,但不限于下列数据:•Contributors:此API会按贡献值倒序的方式返回贡献者清单,数据条数不一定完整,但是我们最多能关注前30的贡献者,排名靠后的大量贡献者,都是非活动的,贡献次数为10以内的非关键人员。很可能这个清单是无法访问的,项目所属公司对其限制了访问权限。其他API也可能有这个问题;•Releases:关键重要指标数据,但是不是所有项目都很专业的从一开始就维护reelase清单,有些项目会记录每个release的下载次数和点赞互动次数,有些项目不跟踪下载次数;•Languages:非关键重要数据;•Tags:分关键重要数据;•Issues:极其关键且重要数据,对于比较火热的项目数量比较大,多则几万条; 使用Elastic Stack洞察GitHub开源项目的开发效能68•pulls:pull rquest也是极其关键且重要数据,值得深度分析。火热项目数据量较大。顶级开源项目的全量数据文档数会比较轻易的超过5万条。参考下面的步骤采集以上每一类数据:1)从示例filebeat.yml配置文件中,复制一段目标的配置参数段落,粘贴到测试机的Filebeat配置文件中;2)修改request.url,token和fields.project等关键字段;3)在浏览器中再次确认修改后的request.url是否能正常访问,排除GitHub网站服务不好的情况。或者在命令行里使用curl命令测试;4)运行./filebeat test output测试后端Elasticsearch服务器的服务是否正常;5)运行./filebeat-e开始当前这个新分类的数据采集;6)等待命令行日志停止滚动,除了issues和pulls之外,其它分类数据,应该在分钟级别的就可以完成首次采集。对于数据量大的项目,issues和pulls都可能会耗时一小时,或者更长时间;7)filebeat采集的滚动日志在命令行里静止的时候,按ctrl+c结束数据采集;8)在Kibana中,进入Discovery,点击open菜单,选中对应的查询视图;可能需要先调整一下时间控件的时间设置,例如选择最近一年,观察数据在时间上的分布,观察采集到了多少条该类数据,将采集到的文档数与在GitHub上该项目页面上的数据做比对确认。也很可能需要多个采集周期才能追平这类数据的条数;9)打开单个文档,观察和熟悉这类数据都有那些字段,思考还有那些是值得分析的字段,可以将其添加到当前的数据表格中;对于issues和pull数据文档,还需要观察project-age这个实时计算字段的数值,它是一个以分钟为单位的计时器,issue和pull rquest的状态为closed后就不会变化;10)尝试用右上角的时间选择控件改变时间分析区间,观察其他时间分析区间的数据分布特性和数值;11)返回Dashboard–>GitHub Project Analysis开源项目分析看板,查看相关类别数据的分析图表,也可能需要微调某数据显示控件。选择不同的时间跨度,浏览项目数据的完整性。有些项目概况数据是保持不变的。 使用Elastic Stack洞察GitHub开源项目的开发效能69仔细的重复以上11个步骤若干次,知道你认为目标分析项目的所有必要数据都已经抓取到Elasticsearch中了。如果在这个过程中发生了误操作,或者需要换其它项目重新分析。你可能会使用在Dev Tools中使用到下面的这些命令。# 查看索引中的文档总数GET filebeat-7/_count # 删除索引DELETE filebeat-7 # 删除导入的扩展字段DELETE _template/add_gh_fields你可以随时检查文档总数,判断数据下载的进度。在有必要删除所有数据重新开始的时候,执行删除索引和模板两个操作。如果你访问GitHub的网络条件有限,网页打开都比较卡的话,这个数据采集的过程可能会比你想象的长。顺利的话,新手也应该在两三个小时内完成数据采集。10.定制项目数据分析看板如果你已经成功的完成了以上所有操作步骤,你的目标项目数据采集也是基本完整的,你将看到一个类似于下面的数据分析面板。 使用Elastic Stack洞察GitHub开源项目的开发效能70 使用Elastic Stack洞察GitHub开源项目的开发效能7111.修订示例数据显示控件想要修改某个数据显示控件,可以点击它右上角的齿轮按钮,打开控件编辑菜单选中“Edit Visualization”选项,进入修订编辑模式。如果你想同时保持着它,可以选择“clone panel”选项,在克隆的新的控件上修订。下面是数据显示控件的修订状态。 使用Elastic Stack洞察GitHub开源项目的开发效能72操作步骤参考说明:1)修改数据查询条件;2)选择数据分析算法;3)修改控件标签;4)点击Optioins后进入图例修订界面。还可以点击日期选择控件查看不同时间条件下的数据分析结果。修订满意后,点击右上角的“save and return”按钮。12.用Lens创建新数据分析Kibana中的Lens功能是非常方便易用的数据分析工具,在Dashboard界面中,点击左上角的“Create visualization”按钮默认就进入了这个分析工具。如下图所示:示例操作说明:1)配置数据搜索条件:90天里的所有关闭pull request数据; 使用Elastic Stack洞察GitHub开源项目的开发效能732)搜索目标分析字段:project-age;3)用鼠标将这个字段拖拽到右侧的空白处。Lens会智能的推荐数据显示模式。点击上方的图形模式下拉菜单,或者从推荐的模式中选择显示效果,锁定目标的数据可视化显示模式;4)点击竖坐标的数据分析算法,调整数值统计方法;5)分析操作完成之后,点击”save and return“按钮,返回Dashboard,用鼠标拖拽这个控件的边框,改变它的大小和形状,还可以将其拖拽到合适的位置,与其它数据形成对照和参考的关系。Kibana的数据分析功能比较简单易用,但是它的功能比较多,学习提升空间很大。如果你制作了新的数据分析控件,欢迎将你的控件导出后分享给其他人。请提交到我的这个GitHub项目中https://github.com/martinliu/sdp-dashboard.git,或者发邮件给我zheng.liu@elastic.co。13.总结我们通过本教程学会了Elastic Stack的一个典型的应用场景,包含数据摄入和分析的全过程。如果你还想将这个分析结果分享给其他人,或者公司的同事。你可以在一台云主机上完成以上所有操作,然后将Kibana的访问地址分享给其它人。你还可以使用Elastic Cloud、或者阿里云ES服务作为后台,Filebeat可以运行在本地(笔记本),在需要更新的时候,运行本地的Filebeat刷新后台的数据。如果你关注团队的开发效能,建议你深度阅读学习DORA 2019年的行业调查报告,了解研发效能的四个维度,并将本项目分析看板用于团队的例会。 从代码到云:保护您的软件供应链从云可观测性开始74八、从代码到云:保护您的软件供应链从云可观测性开始作者:Elastic中国本文为Elastic首席执行官Ash Kulkarni的博文。随着组织越来越多地将其基础架构、应用程序和服务迁移到云端,管理信息、维护安全性和保护数据完整性都变得更具挑战性。很明显,这种势头仍在继续。Gartner最近的调查数据证实了这一趋势,其指出:51%的IT基础设施、软件、应用程序和服务支出将从传统解决方案转向云,66%的应用软件支出将在未来三年内转向云技术。这一演变标志着真正转变IT职能的巨大变化——安全和开发团队不再能保持孤立。1.在观测的同时,进行保护对于开发者和安全专家来说,在正确的时间访问正确的数据对于做出有关优先事项的决定是必要的。可观测性——一个开发人员熟悉的术语,现在在安全从业者中出现——让团队了解代码在生产中的作用、它是如何工作的、它是如何失败的,以及最终用户是如何受到影响的。在评估应用程序和基础设施性能和可用性时收集的可观测性数据可以兼作网络安全计划的关键资源。对于开发人员而言,可观测性数据显示了应用程序的性能,并且可以帮助诊断应用程序中的问题。对于安全分析师来说,可以分析相同的数据以显示可能代表安全威胁的异常情况。在将安全性与技术的开发、部署和监控相集成方面取得长足进步——本质上是在观察的同时进行保护——为开发人员、安全团队和整个业务提供互惠互利。2.那么为什么现在这比以往任何时候都更重要呢?软件供应链 从代码到云:保护您的软件供应链从云可观测性开始75快速迁移到云意味着现代IT应用程序现在运行在高速、基于容器的微服务架构上,这些架构很复杂,因为它们隔离了功能以增加组件的解耦并加快应用程序的开发。开发人员能够快速和频繁地启动更新,但代价是可移动的服务组件数量大大增加,这些应用程序的攻击面也大大增加。今年早些时候围绕Log4j漏洞的头条新闻聚焦于公司如何在其业务中使用软件来管理其运营。今天,绝大多数开发人员都不会从头开始开发软件。他们在创建应用程序时依赖第三方资源,包括内部开发的组件、预构建的库和开源代码,以加快开发速度、降低生产成本并更快地将产品推向市场。开发人员和安全团队面临的挑战是了解流程和依赖关系,以确保他们的软件随着时间的推移保持安全。3.使用DevSecOps最大化数据的可能性许多组织正在采用DevSecOps框架来应对这些挑战,并将监控和安全任务集成到他们的应用程序开发工作流程中。无论上下文是维护系统正常运行时间和可用性,还是调查网络上的可疑恶意活动,开发人员和安全团队都需要快速工作以识别和响应问题。快速调查异常需要能够完整讲述所发生事件的数据。很多时候,这些团队需要通过手动关联和分析指标、日志和链路跟踪数据来拼凑故事——因为他们难以找到根本原因并从多个工具中筛选不同的数据,从而浪费了宝贵的时间。这两个团队的理想状态是自动关联和高级分析,可以从一个共同的数据平台轻松访问--该平台也许对开发者来说是一个单一的运维数据存储库,对安全分析师来说是一个安全信息和事件管理系统(SIEM)。想象一下,如果这些团队和流程更具协作性,可能会带来哪些好处。可观测性数据可以为安全团队添加更多上下文,因为他们致力于快速检测和响应威胁。同时,开发人员可以通过从一开始就保护应用程序来减少开发中的摩擦。 从代码到云:保护您的软件供应链从云可观测性开始76打破孤岛并简化开发人员和安全团队之间的工作流程可能会帮助这些依赖速度的专业人员更好地实现他们的目标以及企业的目标。安全、可靠技术的开发和持续正常运行时间确保组织能够继续为其客户服务。同时,保护IT可以帮助防止数据泄露以及由此带来的所有挑战,从有价值资产的损害到对公司声誉的潜在损害。4.创造良性循环如果说这场外部环境教会了我们一件事,那就是韧性需要适应。这首先要了解一个组织想要解决的关键问题和挑战,并确定解决这些问题所需的洞察力。无论公司是在云中诞生还是管理遗留系统的迁移,创建一个由可观测性铸造的、以安全为基础的实时持续反馈回路,为IT领导者在云复杂性扼杀创新之前解决云复杂性提供了基础。
赞0
踩6