世界上的软件;但是,存在多少软件是我们只能推测的东西。在任何特定的时刻,有数百万的自定义应用程序在各种平台和操作系统上运行 - 一个无限的服务,守护进程和API的集合,可保持业务流程和我们的数据。
检测该软件是新遗物任务的核心。我们提供数百人一体化无论执行上下文如何,都与最受欢迎的基础架构服务和应用程序连接。这些集成对每个服务量身定制,以便您可以从一开始就享受策划数据体验。
我们策划的方法对流行的服务和应用很有效,比如MySQL, Redis和NGINX。但是,为成千上万的公司提供支持的数以百万计的定制应用程序又如何呢?我们不可能为您创建的每个自定义应用程序编写集成。不过,你可以这样做:你只需要New Relic Flex。
什么是新的遗物柔性
新的遗物Flex.是一个应用程序不可知论,一体化的工具,允许您从各种服务中收集度量数据。Flex的方法与专用集成的方法不同:而不是直接与服务接口,Flex指示新的遗物基础设施代理要收听标准结构化输出,然后将其灵活流程并收集为基础架构的度量数据。
通过这种方法,您可以检测任何以某种方式公开度量数据的应用程序,无论是通过HTTP的JSON还是shell会话中的标准输出,并将该数据与New Relic One中的所有其他关键的遥测数据结合起来。您可以使用的服务数量仅受限于数据源由Flex支持,正在增长并开放贡献。如果一个服务可以交谈,那么Flex很可能也可以倾听。
如何开始使用Flex
新的Relic Flex捆绑与基础设施代理人,您配置和启用它就像任何其他新的遗物集成一样:创建配置文件,启动代理,然后Flex侦听您定义的数据源。然后可以使用Flex函数解析并在生成并发送度量样本之前使用Flex函数进行解析和过滤收集的数据。
要开始使用Flex,编辑integration .d下的YAML配置文件:
- Linux:
/etc/newrelic-infra/integrations.d.
- 视窗:
C:\Program Files\New \ newrelic-infra \ integrations.d \遗迹
配置Flex
下面是具有两个数据源的Flex参数的集成配置文件的示例(突出显示)。名称和event_type中的值用于在新遗物中生成示例名称,以便您稍后可以查询数据。请注意数据源年代是由路径(必须从其中获取数据)和功能(与该数据有关)。
集成: - 名称:NRI-Flex#我们告诉Infra Agent运行Flex!间隔:60s超时:5s配置:#splex配置在这里开始!名称:sample_source apis: - event_type:apicallsample#新遗物URL中的事件名称:https://jsonplaceholder.typicode.com/posts方法:post payload:> {“标题”:“foo”,“body”:“栏“,”userid“:1} - event_type:commandsample#新遗物命令中的事件名称: - 运行:du -c / somedir set_header:[dirsizebytes,dirname] regex_match:true split:stult split_by :( \ d +)\ s +(。*) - 运行:some_other_command split_by:\ s +
如果要创建多个Flex配置,该怎么办?Flex是相当灵活的双关语 - 关于那个:你可以添加尽可能多的nri-flex
你需要的配置块…
集成: - 名称:NRI-Flex配置:名称:FlexName_1 - 名称:NRI-Flex配置:名称:FlexName_2 - 名称:NRI-Flex配置:名称:FlexName_3
,或者关联分隔Flex配置文件:
- name: nri-flex config_template_path: /path/to/flex/integration.yml
与Flex功能您可以利用Flex收集的数据完成各种各样的任务。例子包括:
数学
:对数据进行数学运算sample_include_filter.
:只保留指定的键值对value_parser
:使用正则表达式从数据中提取值
在Flex Repo中,您可以找到更多200例自定义集成,包括许多Linux和Windows服务和命令行实用程序。
现在,让我们看看一些如何使用Flex的夫妇示例。
示例:将LibreNMS与Flex集成
LibreNMS是一种流行的网络设备监控系统。它有它自己的Web API,它通过HTTP将数据作为JSON提供。在这个例子中,让我们假设我们有一个正在使用LibreNMS监视的开关,并且它的API可以被New Relic Infrastructure代理访问。
通过下面的配置,我们已经指示Flex使用身份验证令牌每30秒向/港口端点捕获的LibreNMSIfinoctets.
和ifOutOctets
。
集成: - 名称:NRI-Flex#我们告诉Infra Agent运行Flex!间隔:30s配置:名称:librenms apis: - event_type:librenmssample网址:http:// localhost / api / v0 /端口?列= ifalias%2cport_id%2cifinoctets_rate%2cifoutoctets_rate标头:x-auth-token:
示例输出如下所示:
{“状态”:“确定”,“消息”:“”“,”端口“:[{”port_id“:”4444“,”ifalias“:”TL-SG3210“,”IFINOCTETS_RATE“:”387“,”IFOUTOCTETS_RATE““:”596“}”}
因为LibreNMS以JSON格式返回数据,所以我们不需要做任何其他事情:只要我们保存配置,Flex就开始监听来自URL的数据,并将其转换为示例。使用New Relic One绘制LibreNMS数据只是一个组成一个nrql查询在图表构建器:
示例:Linux下监控配置文件大小
与Unix哲学相一致,Linux有一系列有用的命令行实用工具,它们可以帮助监视文件系统的不同方面。把他们的数据放到新遗迹基础设施里会很棒,你不觉得吗?
要使用Flex intoilux文件系统,请调用命令API.,使用函数分割数据并设置适当的头。在这种情况下,我们将保持对配置文件的大小使用统计
命令。看一看yaml文件:
相关集成如下:—name: nri-flex config: name: linuxFileSize api:—name: linuxFileSize命令:—stat -c '%n;%s' /etc/*conf split:水平set_header: [fileName,fileSizeBytes] regex_match: false split_by: ";"
保存文件 - 注意缩进 - 并在图表构建器中运行以下查询:
从LinuxFileSizeAmple Facet FileName TimeSeries自动选择平均(FilesIzeBytes)
它是,配置文件的大小。想收到更改的通知吗?使用nrql查询到设置警报New Relic会做剩下的事情。
立即加入Flex社区
使用Flex,可能性是无限的,而进入门槛是如此之低。如果你像我一样对Flex感到兴奋,那就去Flex开源存储库并按照我们的一步一步的教程。
请记住,Flex是一个开源项目:您可以这样做贡献在许多方面,从加入例子改善文档。欢迎拉出请求 - 几乎每周都添加新功能。
那么,你打算用柔韧的仪器打算什么酷的东西?
想了解更多关于New Relic如何使闪电快速查询?看看内部NRDB:一个灵活的统一数据库,构建为缩放