diff --git a/.changesets/add-nginx-metrics-support.md b/.changesets/add-nginx-metrics-support.md new file mode 100644 index 000000000..ae48d6a76 --- /dev/null +++ b/.changesets/add-nginx-metrics-support.md @@ -0,0 +1,6 @@ +--- +bump: "patch" +type: "add" +--- + +Add NGINX metrics support. See [our documentation](https://docs.appsignal.com/metrics/nginx.html) for details. diff --git a/ext/agent.rb b/ext/agent.rb index e13527553..8b83f4c65 100644 --- a/ext/agent.rb +++ b/ext/agent.rb @@ -4,7 +4,7 @@ # Modifications to this file will be overwritten with the next agent release. APPSIGNAL_AGENT_CONFIG = { - "version" => "c0e80b9", + "version" => "debb8cf", "mirrors" => [ "https://appsignal-agent-releases.global.ssl.fastly.net", "https://d135dj0rjqvssy.cloudfront.net" @@ -12,131 +12,131 @@ "triples" => { "x86_64-darwin" => { "static" => { - "checksum" => "c0e1fc966eff49dd942ed07b44f5c5db6be41676f4e35530c300bac8f99e03c4", + "checksum" => "7597130ddfeac866b4eea69348d446603b19b25c9ebd0714a3c39546d0cb6bc3", "filename" => "appsignal-x86_64-darwin-all-static.tar.gz" }, "dynamic" => { - "checksum" => "38805c50262c9dbc5c4e7479d274b5e41d6df6e86e6c09d76b9f3f471dcf8787", + "checksum" => "4cef843a905b7d9b2c0f5ed0a3debf7351dfadf1a4afda3344719d5bbbb73163", "filename" => "appsignal-x86_64-darwin-all-dynamic.tar.gz" } }, "universal-darwin" => { "static" => { - "checksum" => "c0e1fc966eff49dd942ed07b44f5c5db6be41676f4e35530c300bac8f99e03c4", + "checksum" => "7597130ddfeac866b4eea69348d446603b19b25c9ebd0714a3c39546d0cb6bc3", "filename" => "appsignal-x86_64-darwin-all-static.tar.gz" }, "dynamic" => { - "checksum" => "38805c50262c9dbc5c4e7479d274b5e41d6df6e86e6c09d76b9f3f471dcf8787", + "checksum" => "4cef843a905b7d9b2c0f5ed0a3debf7351dfadf1a4afda3344719d5bbbb73163", "filename" => "appsignal-x86_64-darwin-all-dynamic.tar.gz" } }, "aarch64-darwin" => { "static" => { - "checksum" => "37fcdf17250ce9e2149f28a8492074f5957691636ab542c7073b323a1b9dbdd8", + "checksum" => "e4b4f0f3d75b576411f5fa16e1257bde2e21efcd9cadae3a05d22bbb0e094e09", "filename" => "appsignal-aarch64-darwin-all-static.tar.gz" }, "dynamic" => { - "checksum" => "0fe962abf0885888f38d1767b959ea25ea8c4b38813d7a23fbebe2aa62873341", + "checksum" => "180b3cd9f868607cc5e1b84df471e17caf2c06c7f904f345462696b8c9c32cac", "filename" => "appsignal-aarch64-darwin-all-dynamic.tar.gz" } }, "arm64-darwin" => { "static" => { - "checksum" => "37fcdf17250ce9e2149f28a8492074f5957691636ab542c7073b323a1b9dbdd8", + "checksum" => "e4b4f0f3d75b576411f5fa16e1257bde2e21efcd9cadae3a05d22bbb0e094e09", "filename" => "appsignal-aarch64-darwin-all-static.tar.gz" }, "dynamic" => { - "checksum" => "0fe962abf0885888f38d1767b959ea25ea8c4b38813d7a23fbebe2aa62873341", + "checksum" => "180b3cd9f868607cc5e1b84df471e17caf2c06c7f904f345462696b8c9c32cac", "filename" => "appsignal-aarch64-darwin-all-dynamic.tar.gz" } }, "arm-darwin" => { "static" => { - "checksum" => "37fcdf17250ce9e2149f28a8492074f5957691636ab542c7073b323a1b9dbdd8", + "checksum" => "e4b4f0f3d75b576411f5fa16e1257bde2e21efcd9cadae3a05d22bbb0e094e09", "filename" => "appsignal-aarch64-darwin-all-static.tar.gz" }, "dynamic" => { - "checksum" => "0fe962abf0885888f38d1767b959ea25ea8c4b38813d7a23fbebe2aa62873341", + "checksum" => "180b3cd9f868607cc5e1b84df471e17caf2c06c7f904f345462696b8c9c32cac", "filename" => "appsignal-aarch64-darwin-all-dynamic.tar.gz" } }, "aarch64-linux" => { "static" => { - "checksum" => "ce9075ee5bc14ea786b734793b6bb6331567398cab6a21f2ceaa9062cfbdb373", + "checksum" => "1cfd0b66000d32e10529b61c78c2f96c217a0f1eb40ddb12869c36ba8595f94c", "filename" => "appsignal-aarch64-linux-all-static.tar.gz" }, "dynamic" => { - "checksum" => "eb798538e0e32b19de0afba924c3cb8979a5e57433de4b1a12a6aeaf7233929b", + "checksum" => "87b37a4d4e2edc1f70c66b48bf40a0c27e7cc05433595a4744e83acd1abe5f52", "filename" => "appsignal-aarch64-linux-all-dynamic.tar.gz" } }, "i686-linux" => { "static" => { - "checksum" => "ea3d1a29cf1534293738f2bd27ae29b8addf8dbe34dde77dc4ae150e109e2e4f", + "checksum" => "4f90a840931a9c4d0bc0b90b5a20268a0f67e87b1d9cdc4f58f874e8077e96ab", "filename" => "appsignal-i686-linux-all-static.tar.gz" }, "dynamic" => { - "checksum" => "add159ec5bcf1b1a3362c08f9f765230d99c0431c567d845e31c51389792a51c", + "checksum" => "88841f6c27b486bd7eb43b72fb226f7bd3e88ff7d5afa6c9c250ffe13f8b20fc", "filename" => "appsignal-i686-linux-all-dynamic.tar.gz" } }, "x86-linux" => { "static" => { - "checksum" => "ea3d1a29cf1534293738f2bd27ae29b8addf8dbe34dde77dc4ae150e109e2e4f", + "checksum" => "4f90a840931a9c4d0bc0b90b5a20268a0f67e87b1d9cdc4f58f874e8077e96ab", "filename" => "appsignal-i686-linux-all-static.tar.gz" }, "dynamic" => { - "checksum" => "add159ec5bcf1b1a3362c08f9f765230d99c0431c567d845e31c51389792a51c", + "checksum" => "88841f6c27b486bd7eb43b72fb226f7bd3e88ff7d5afa6c9c250ffe13f8b20fc", "filename" => "appsignal-i686-linux-all-dynamic.tar.gz" } }, "x86_64-linux" => { "static" => { - "checksum" => "adeceb091c4ed277c29eda018ffc61fd064e5c486b2b0a239b26873168a7fdb0", + "checksum" => "bbb7e29a20384ecc848291a2637ecb2653a0020a62606c19b631dbe8e04d6089", "filename" => "appsignal-x86_64-linux-all-static.tar.gz" }, "dynamic" => { - "checksum" => "121abc5d34db302c130cf49ce1dad032025e6717efd63f5cf04ba0b55b5fc863", + "checksum" => "3cd9640f131c406c20955c23e84b91801872e2a4fb6935a015f780b94c9e38b7", "filename" => "appsignal-x86_64-linux-all-dynamic.tar.gz" } }, "x86_64-linux-musl" => { "static" => { - "checksum" => "b57aec8c334b1d3646c80d87f20372287e4e2bdbd798c195e0e36ceeb2aac68a", + "checksum" => "69b48e0bcacbc1f2bf642800a7d5be2cf5031f2fabe567c39ac0faaa0143d8fb", "filename" => "appsignal-x86_64-linux-musl-all-static.tar.gz" }, "dynamic" => { - "checksum" => "67a918b1848f979afe01eb56ce1661fb5b5910d4c7d691fcf0e304203bd7bd7a", + "checksum" => "b3ae34ad2dfccff17604a5a821ff5f13c121c1967004cd994ebb7350713d749b", "filename" => "appsignal-x86_64-linux-musl-all-dynamic.tar.gz" } }, "aarch64-linux-musl" => { "static" => { - "checksum" => "fc780524942fc7aeaa4cabec64dfc104c82969df7e8b5cd0fa8eae24c1c9b304", + "checksum" => "0db801296acce9ff11ca19a14c4a113d30e2f155fcc790af75b80a0013503484", "filename" => "appsignal-aarch64-linux-musl-all-static.tar.gz" }, "dynamic" => { - "checksum" => "92ed33ca9f402f9e822e5777b291f7a062545767ea92dea7eaa94db4f82d8130", + "checksum" => "de0acc4c0d91c47ff855394671917566bb910a2989f6543ce9c3a190fc56b12f", "filename" => "appsignal-aarch64-linux-musl-all-dynamic.tar.gz" } }, "x86_64-freebsd" => { "static" => { - "checksum" => "574137de415487afe8d2cc29eac3b1fda2c8e1001474b8f25ebee0cbb32fb1ca", + "checksum" => "bba6e8f2d5492ef15a5623ee606c91d4db726f917bb2f7e86fe26afc880cafb3", "filename" => "appsignal-x86_64-freebsd-all-static.tar.gz" }, "dynamic" => { - "checksum" => "9dcc3454c14e8a7a0d7250b35864b6f0f205d5c730ca510e7b77628e024a703f", + "checksum" => "dbadaa353f29216dc7165156f22301c28e39a4dc089817e2fde7349f7c443e28", "filename" => "appsignal-x86_64-freebsd-all-dynamic.tar.gz" } }, "amd64-freebsd" => { "static" => { - "checksum" => "574137de415487afe8d2cc29eac3b1fda2c8e1001474b8f25ebee0cbb32fb1ca", + "checksum" => "bba6e8f2d5492ef15a5623ee606c91d4db726f917bb2f7e86fe26afc880cafb3", "filename" => "appsignal-x86_64-freebsd-all-static.tar.gz" }, "dynamic" => { - "checksum" => "9dcc3454c14e8a7a0d7250b35864b6f0f205d5c730ca510e7b77628e024a703f", + "checksum" => "dbadaa353f29216dc7165156f22301c28e39a4dc089817e2fde7349f7c443e28", "filename" => "appsignal-x86_64-freebsd-all-dynamic.tar.gz" } } diff --git a/lib/appsignal/config.rb b/lib/appsignal/config.rb index d83109ce9..1cb94fc4b 100644 --- a/lib/appsignal/config.rb +++ b/lib/appsignal/config.rb @@ -18,6 +18,7 @@ class Config :enable_host_metrics => true, :enable_minutely_probes => true, :enable_statsd => true, + :enable_nginx_metrics => false, :endpoint => "https://push.appsignal.com", :files_world_accessible => true, :filter_parameters => [], @@ -67,6 +68,7 @@ class Config "APPSIGNAL_ENABLE_HOST_METRICS" => :enable_host_metrics, "APPSIGNAL_ENABLE_MINUTELY_PROBES" => :enable_minutely_probes, "APPSIGNAL_ENABLE_STATSD" => :enable_statsd, + "APPSIGNAL_ENABLE_NGINX_METRICS" => :enable_nginx_metrics, "APPSIGNAL_FILES_WORLD_ACCESSIBLE" => :files_world_accessible, "APPSIGNAL_FILTER_PARAMETERS" => :filter_parameters, "APPSIGNAL_FILTER_SESSION_DATA" => :filter_session_data, @@ -120,6 +122,7 @@ class Config APPSIGNAL_ENABLE_HOST_METRICS APPSIGNAL_ENABLE_MINUTELY_PROBES APPSIGNAL_ENABLE_STATSD + APPSIGNAL_ENABLE_NGINX_METRICS APPSIGNAL_FILES_WORLD_ACCESSIBLE APPSIGNAL_INSTRUMENT_HTTP_RB APPSIGNAL_INSTRUMENT_NET_HTTP @@ -313,6 +316,7 @@ def write_to_environment # rubocop:disable Metrics/AbcSize ENV["_APPSIGNAL_DNS_SERVERS"] = config_hash[:dns_servers].join(",") ENV["_APPSIGNAL_ENABLE_HOST_METRICS"] = config_hash[:enable_host_metrics].to_s ENV["_APPSIGNAL_ENABLE_STATSD"] = config_hash[:enable_statsd].to_s + ENV["_APPSIGNAL_ENABLE_NGINX_METRICS"] = config_hash[:enable_nginx_metrics].to_s ENV["_APPSIGNAL_ENVIRONMENT"] = env ENV["_APPSIGNAL_FILES_WORLD_ACCESSIBLE"] = config_hash[:files_world_accessible].to_s ENV["_APPSIGNAL_FILTER_PARAMETERS"] = config_hash[:filter_parameters].join(",") diff --git a/spec/integration/diagnose b/spec/integration/diagnose index 4fa6c98c0..1bc7d0d59 160000 --- a/spec/integration/diagnose +++ b/spec/integration/diagnose @@ -1 +1 @@ -Subproject commit 4fa6c98c0c77da1972cd9286b3465fd50710d3e7 +Subproject commit 1bc7d0d594376948f594b34858e6387bc85a1c91 diff --git a/spec/lib/appsignal/config_spec.rb b/spec/lib/appsignal/config_spec.rb index 73d852606..1ec86c5ac 100644 --- a/spec/lib/appsignal/config_spec.rb +++ b/spec/lib/appsignal/config_spec.rb @@ -159,6 +159,7 @@ :enable_host_metrics => true, :enable_minutely_probes => true, :enable_statsd => true, + :enable_nginx_metrics => false, :endpoint => "https://push.appsignal.com", :files_world_accessible => true, :filter_parameters => [],