利用 NewRelic 以非介入方式监控 Nodejs 服务

利用 NewRelic 以非介入方式监控 Nodejs 服务

NewRelic 是一个数据监控平台,该平台提供系统(Windows、Linux、Docker)、代码(PHP、Nodejs、Python等)的监控服务,相关监控探针全部开源(所以平台本身类似于一个数据集中管控平台)。

不过比较可惜的是,他们没有提供私有部署服务,但因为 NewRelic 有在欧盟提供服务的能力,故隐私方面无需过多担心。

NewRelic 提供免费的基本计划,免费计划对于个人甚至中小型企业而言可以说是十分豪华的,当然其也与 Github 合作,所有拥有教育认证的 Github 账户均可以申请开通教育版本计划(说是价值300$一个月,且没有规定最长使用时间)。

本文演示 Nodejs 代码接入,如果你使用的是 Vercel 的 Serverless,则无需看本文,因 Vercel 有官方的 NewRelic 插件,鼠标点一下就好。

Ⅰ 项目配置

点击 “Add data”,选择要监控项目的语言;我这里是选择的 Nodejs,不同语言的安装方式都差不多,都比较简单。

选择插件安装方式,我这里是选择的使用包管理器安装。

给项目取一个好听的名字。

安装依赖(在项目目录下安装)。

将下面的代码下载下来塞到项目文件夹中,注意文件的扩展名。(这段代码中包含账户API密钥,一定要防止泄露!!!)

运行探针程序:

如我原来的项目入口文件是”main.js”,那我就需要运行:

1
node -r newrelic main.js

这个不难理解,就是原来直接运行 node main,而现在需要运行上面那段代码, newrelic.js 起到了类似于一个中间商的作用。

如果你第一次在服务器上配置程序监控,还需要同时配置系统探针。

系统探针支持 Windows\Linux以及Docker,在该页面会有详细的安装教程,就比如 Linux,只需要运行一行命令就可以。

同样,不要泄露这段指令,这段指令中也有账户密钥。

运行代码,等待大约 15 分钟左右,就可以安装成功了。

之后点击下一步开始安装检查

全绿之后点击”See your data”就可以看到所获取的数据了。

Ⅱ 数据查看


这是服务器探针的数据,应用监控的数据更加精准,可以精确到数据库查询时间以及函数运行时间。

抛出的错误也可以实时返回给控制台,方便对错误进行分析。

利用 NewRelic 以非介入方式监控 Nodejs 服务

https://blog.muna.uk/archives/NewRelic.html

Author

芙樱竹

Posted on

2023-01-31

Updated on

2024-07-31

Licensed under

Comments

若您使用我站的"评论"功能发表观点,则代表您已阅读并同意遵守 ICUA协议隐私政策
评论内容支持基本 Markdown 语法及部分 HTML 标签;为保证您和其他访客的隐私及安全,所有涉及如图片、视频或网页内嵌等外部资源引用的 HTML及Markdown 标签都会被自动删除,所有链接均会被转换为纯文本格式。