In March, 2013 we released the first version of the “nginx web server” plug‑in for New Relic monitoring of the open source NGINX software and NGINX Plus. Since then, we’ve received lots of interest from users – we greatly appreciate it! The plug‑in continues to be one of the most popular New Relic plug‑ins, in spite of the few things that (we believe!) could be improved. If you don’t already have a New Relic account, sign up as a NewRelic “Friend with benefits”.

We selected Ruby as the base language for the original plug‑in, because the New Relic platform itself is written in Ruby, the API was not yet published, and many things were changing quickly.

Later, after the launch of the New Relic platform, we continued to work on adding a number of improvements based on users’ feedback and our own vision of how to improve the overall usability of the NGINX monitoring plug‑in, and realized the need for further changes.

What’s New?

Today, we are pleased to announce a major update of the NGINX plug‑in for New Relic, version 2.0, which includes the following changes:

  • The plug‑in is rewritten in Python. You no longer need to install Ruby.
  • The plug‑in is finally packaged. There are prebuilt packages for RHEL/CentOS‑based and Debian/Ubuntu‑based systems. An included init script enables you to easily set up autostart of the plug‑in.
  • There are two new sections in the live activity monitoring dashboard, for NGINX Plus customers:

    • Servers – Additional summary counters for virtual servers whose server configuration block includes the status_zone directive
    • Cache – Cumulative stats for all configured caches
  • Verbose logging is enabled by default.

Installation

Download the plug‑in and installation instructions.

Configuring the Plug‑In

The configuration file for the NGINX plug‑in is /etc/nginx-nr-agent/nginx-nr-agent.ini. The minimal configuration includes:

  • Your New Relic license key in the newrelic_license_key statement in the global section.

  • At least one source section. The name of the section is used in log entries only, and can contain almost any character string you want. Two parameters are required:

    • name – NGINX instance name in the New Relic UI.
    • url – Full URL to the corresponding instance. The plug‑in accepts source data in the format generated when the stub_status directive is included in the configuration of NGINX or NGINX Plus. It also supports the JSON‑formatted output generated when the status directive is included in an NGINX Plus configuration.

You can include the optional http_user and http_pass statements to set HTTP basic authentication credentials in cases where the corresponding location is protected by the NGINX auth_basic directive.

The default log file is /var/log/nginx-nr-agent.log.

Running the Plug‑In

You can manage the plug‑in with an init script. Run the service nginx-nr-agent command with the startstop, or status argument to start, stop, or display the status of the plug‑in, respectively.

When started from an init script, the plug‑in daemon runs as the nobody user.

You can start the plug‑in directly by running /usr/bin/nginx-nr-agent.py, with the following optional parameters:

  • -c--config – Path to configuration file
  • -p--pidfile> – Path to PID file
  • -f--foreground – Do not detach from terminal (useful for debugging)

If everything is working as expected, the plug‑in appears as a tab in the New Relic UI:

Dashboard Examples

Overview

The Overview tab displays the most basic metrics for the whole instance: number of active and idle connections, and request rate.

Connections

The Connections tab displays various metrics about client connections.

Requests

The Requests tab displays the number of requests currently being processed and the overall request rate.

Upstreams (NGINX Plus only)

The Upstreams tab displays detailed statistics about all configured upstream groups.

Servers (NGINX Plus only)

The Servers tab displays detailed statistics about all configured virtual server zones.

Cache (NGINX Plus only)

The Cache tab displays summary statistics for all configured caches.

What’s Next?

We plan to extend the plug‑in’s functionality with additional metrics for both NGINX and NGINX Plus, and your feedback is very important to us. Ideas, thoughts, questions? Let us know by commenting on this post.

Thanks for using NGINX and NGINX Plus!

To try NGINX Plus, start your free 30-day trial today or contact us.

Announcing the Updated NGINX and NGINX Plus Plug‑In for New Relic (Version 2)的更多相关文章

  1. Nginx之一:Nginx的编译安装

    一.Nginx简介 官方网址:http://nginx.org/ Nginx是由1994年毕业于俄罗斯国立莫斯科鲍曼科技大学的同学为俄罗斯rambler.ru公司开发的,开发工作最早从2002年开始, ...

  2. Nginx配置文件nginx.conf中文详解(转)

    ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...

  3. 苹果下如果安装nginx,给nginx安装markdown第三方插件

    用brew install nginx 这样安装的是最新版的nginx, 但是在有些情况下,安装第三方插件需要特定的版本,更高一级的版本可能装不上. 它的原理是下载安装包进行自动安装,建立软链,这样就 ...

  4. Nginx research, nginx module development

    catalog . 初探nginx架构 . handler模块 . Nginx编译.安装.配置 . Hello World模块开发 1. 初探nginx架构 nginx在启动后,在unix系统中会以d ...

  5. 通过Nginx和Nginx Plus阻止DDoS攻击

    分布式拒绝服务攻击(DDoS)指的是通过多台机器向一个服务或者网站发送大量看似合法的数据包使其网络阻塞.资源耗尽从而不能为正常用户提供正常服务的攻击手段.随着互联网带宽的增加和相关工具的不断发布,这种 ...

  6. 解决Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid

    重新启动服务器,访问web服务发现无法浏览啦!登陆服务器之后进到nginx使用./nginx -s reload重新读取配置文件,发现报nginx: [error] open() "/usr ...

  7. nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"

    iwangzheng.com tty:[0] jobs:[0] cwd:[/opt/nginx/conf] 12:45 [root@a02.cmsapi]$ /usr/local/nginx/sbin ...

  8. Nginx 报错: nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory) 的解决方法

    今天测试域名访问不了,登陆 Linux(Ubuntu)重启Nginx: nginx -s reload 结果报错: nginx: [error] open() : No such file or di ...

  9. 解决nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed错误

    重新启动服务器,访问web服务发现无法浏览,登陆服务器之 后进到nginx使用./nginx -s reload重新读取配置文件,发现报nginx: [error] open() "/usr ...

随机推荐

  1. [翻译]一个新式的基于文本的浏览器 Browsh

    介绍 什么是Browsh? Browsh是一个纯文本浏览器,可以运行在大多数的TTY终端环境和任何浏览器.目前1 ,终端客户端比浏览器客户端更先进2. TTY 客户端 终端客户端即时更新和交付,以便于 ...

  2. webapi 控制json的字段(key)显示顺序

    使用两个c#的特性: 加在类上的:[DataContract] 加在字段上的:[DataMember(Name = "ResultCode",EmitDefaultValue = ...

  3. SQL--server事物

    事物 特点: 1.原子性:事物必须是一个自动工作的单元, 2.一致性:事物结束的时候,所有内部数据都是正确的 3.隔离性:并发多个事物时,各个事物不干涉内部数据,处理的都是另外一个事物处理之前或之后的 ...

  4. javascript中Ajax的简单封装

    GET方式的在线:DEMO POST方式在线:DEMO // 1.封裝AJAX函數 function nativeAjax(option,success,error){ // 定义domain,方便环 ...

  5. css3 简易时钟

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. Android图片采样缩放

    为什么要对Android中的图片进行采样缩放呢? 是为了更加高效的加载Bitmap.假设通过imageView来显示图片,很多时候ImageView并没有图片的原始尺寸那么大,这时候把整张图片加载进来 ...

  7. Jump Flood Algorithms for Centroidal Voronoi Tessellation

    Brief Implemented both CPU and GPU version, you could consider this as the basic playground to imple ...

  8. Android 组件的三种点击事件写法

    一.准备工作 1.项目结构 2.布局文件(activity_main.xml) <?xml version="1.0" encoding="utf-8"? ...

  9. Ubuntu-18.04安装Docker

    Docker 介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制 ...

  10. JHipster技术栈理解 - UAA原理分析

    本文简要分析了UAA的认证机制和部分源码功能. UAA全称User Account and Authentication. 相关源码都是通过Jhipster生成,包括UAA,Gateway,Ident ...