site24x7_apminsight 1.0 → 1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/conf/apminsight.conf +24 -4
- data/lib/agent/configuration/am_configuration.rb +19 -2
- data/lib/agent/metrics/am_metricsparser.rb +16 -1
- data/lib/agent/server/am_connector.rb +4 -4
- data/lib/agent/server/instrument/am_apm.rb +1 -1
- data/lib/agent/util/am_constants.rb +4 -1
- metadata +12 -12
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.1
|
data/conf/apminsight.conf
CHANGED
@@ -71,6 +71,16 @@ transaction.trace.sql.parametrize=true
|
|
71
71
|
#default value: 3 (second)
|
72
72
|
transaction.trace.sql.stacktrace.threshold=3
|
73
73
|
|
74
|
+
#Capture HTTP web request parameters, if enabled. To skip recording specific request parameters use webtrasnaction.trace.input.params.ignore key.
|
75
|
+
#default value: false
|
76
|
+
webtransaction.trace.input.params.record=false
|
77
|
+
|
78
|
+
#Skip recording confidential request parameters like password, authKey, etc.
|
79
|
+
#Use comma (,) as parameter names separator.
|
80
|
+
#If no value is specified all parameters will be recorded.
|
81
|
+
#Value(s) specified for this key are case sensitive.
|
82
|
+
webtransaction.trace.input.params.ignore=password, pswd, pass, authKey, parentId, parentID, resourceId, resourceID, id, ID
|
83
|
+
|
74
84
|
#Stop listening transactions with specified URL pattern.
|
75
85
|
transaction.skip.listening=*.css, *.js, *.gif, *.jpg, *.jpeg, *.bmp, *.png
|
76
86
|
|
@@ -78,11 +88,21 @@ transaction.skip.listening=*.css, *.js, *.gif, *.jpg, *.jpeg, *.bmp, *.png
|
|
78
88
|
#default value: 1 (transaction)
|
79
89
|
transaction.tracking.request.interval=1
|
80
90
|
|
81
|
-
#
|
82
|
-
#
|
83
|
-
#
|
91
|
+
#Time interval for the agent to collect the JVM related data like Memory Usage, Cpu Usage, etc.
|
92
|
+
#For example, if value is set to 3, agent will collect data for every 3 minutes.
|
93
|
+
#default value: 5 (minutes)
|
94
|
+
#jvm.polling.interval=
|
95
|
+
|
96
|
+
#The grouping (componentization) of includes packages.
|
97
|
+
#By Default, APM Insight groups transactions into
|
98
|
+
#STRUTS, FILTER, JSP, SERVLET, EJB, IBATIS, HIBERNATE,
|
99
|
+
#MYSQL, MSSQL, PGSQL, ORACLE, IBMDB2, SYBASE, JDBC (for other database types) and POJO (Plain Java Object) components.
|
100
|
+
#For additional components of your custom includes packages, use include.components
|
101
|
+
#eg: configuring com/test/memcache/.*:memcache will group all the packages & classes that
|
102
|
+
#starts with com.test.memcache into MEMCACHE component.
|
103
|
+
#Note : The package name will default be included for instrumentation and you need NOT give this in include.package separately.
|
84
104
|
#Use comma(,) to separate multiple entries.
|
85
|
-
#include.
|
105
|
+
#include.components=
|
86
106
|
|
87
107
|
#Directory where agent logs information separately.
|
88
108
|
#Defaults to the directory where apminsight-javaagent.jar is installed.
|
@@ -8,7 +8,7 @@ module ManageEngine
|
|
8
8
|
class APMConfig
|
9
9
|
attr_reader :agenthost,:agentport,:instance_id,:alreadyconnected,:apmhost,:apmport,:license_key,:site24x7
|
10
10
|
attr_reader :appname,:proxyneeded, :apdex_t, :trans_trace, :trans_trace_t, :sql_capture, :sql_capture_params, :sql_trace_t,:proxy_user,:proxy_pass, :metric_overflow_t, :trace_overflow_t
|
11
|
-
attr_reader :proxy_host,:proxy_port ,:is_secured, :logs_dir ,:connection_retry,:agent_enabled,:connect_interval,:db_operations,:include_packages
|
11
|
+
attr_reader :proxy_host,:proxy_port ,:is_secured, :logs_dir ,:connection_retry,:agent_enabled,:connect_interval,:db_operations,:include_packages, :url_merge_pattern
|
12
12
|
attr_accessor :app_db,:app_dispatcher,:lastupdatedtime
|
13
13
|
def initialize
|
14
14
|
@obj = ManageEngine::APMObjectHolder.instance
|
@@ -23,6 +23,7 @@ module ManageEngine
|
|
23
23
|
@alreadyconnected = checkAgentInfo
|
24
24
|
@site24x7 = checkLicenseFile
|
25
25
|
@db_operations =["select","insert","update","delete"]
|
26
|
+
urlMergePattern
|
26
27
|
@obj.log.debug "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
|
27
28
|
@obj.log.debug "APP HOME #{File.absolute_path(".")} "
|
28
29
|
@obj.log.debug "APP HOME #{Dir.pwd} "
|
@@ -34,6 +35,10 @@ module ManageEngine
|
|
34
35
|
@config.each do|key,val|
|
35
36
|
@obj.log.info "#{key} => #{val}"
|
36
37
|
end
|
38
|
+
@obj.log.info "URL Merge Patterns"
|
39
|
+
@url_merge_pattern.each do |key, val|
|
40
|
+
@obj.log.info "#{key} => #{val}"
|
41
|
+
end
|
37
42
|
@obj.log.debug "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
|
38
43
|
@app_db="dummydb"
|
39
44
|
@app_dispatcher = getDispatcher
|
@@ -95,6 +100,18 @@ module ManageEngine
|
|
95
100
|
end
|
96
101
|
|
97
102
|
end
|
103
|
+
|
104
|
+
def urlMergePattern
|
105
|
+
@url_merge_pattern = Hash.new
|
106
|
+
begin
|
107
|
+
if (FileTest.exists?(@obj.constants.mergepattern_conf))
|
108
|
+
@url_merge_pattern=@obj.util.readProperties(@obj.constants.mergepattern_conf)
|
109
|
+
end
|
110
|
+
rescue Exception => e
|
111
|
+
@obj.log.info "[Exception] Problem in Reading Configuration File : \n File : #{@obj.constants.mergepattern_conf}"
|
112
|
+
@obj.log.logException "#{e.message}",e
|
113
|
+
end
|
114
|
+
end
|
98
115
|
|
99
116
|
def updateAgentInfoFile(props)
|
100
117
|
@instance_id = props["agent.id"]
|
@@ -142,7 +159,7 @@ module ManageEngine
|
|
142
159
|
when "proxy.server.port" then @proxy_port=value
|
143
160
|
when "proxy.auth.username" then @proxy_user=value
|
144
161
|
when "proxy.auth.password" then @proxy_pass=value
|
145
|
-
when "
|
162
|
+
when "apm.protocol.https" then @is_secured=@obj.util.getBooleanValue value
|
146
163
|
when "apminsight.log.dir" then @logs_dir=value
|
147
164
|
when "agent.connection.retry" then @connection_retry=value #Not in Conf - yet to come
|
148
165
|
when "agent.connection.interval" then @connect_interval=value#Not in Conf - yet to come
|
@@ -180,6 +180,14 @@ module ManageEngine
|
|
180
180
|
rt = (d["end"] - d["start"]).to_i
|
181
181
|
path=pl[:path]
|
182
182
|
#path=pl["path"]
|
183
|
+
|
184
|
+
@obj.config.url_merge_pattern.each do |key, val|
|
185
|
+
if (path.match(key) != nil)
|
186
|
+
path=val
|
187
|
+
break
|
188
|
+
end
|
189
|
+
end
|
190
|
+
|
183
191
|
controller=pl[:controller]
|
184
192
|
#controller=pl["controller"]
|
185
193
|
action = pl[:action]
|
@@ -391,7 +399,14 @@ module ManageEngine
|
|
391
399
|
#trData = Array.new
|
392
400
|
#trData[0] = ((d["start"]).to_f * 1000).to_i
|
393
401
|
pl = d["payload"]
|
394
|
-
|
402
|
+
path = pl[:path]
|
403
|
+
@obj.config.url_merge_pattern.each do |key, val|
|
404
|
+
if (path.match(key) != nil)
|
405
|
+
path=val
|
406
|
+
break
|
407
|
+
end
|
408
|
+
end
|
409
|
+
trData[1] = path + " " +pl[:controller] + "#" + pl[:action]
|
395
410
|
#trData[1] = pl["path"] + " " +pl["controller"] + "#" + pl["action"]
|
396
411
|
trData[2] = ""
|
397
412
|
trData[3] = (d["end"] - trData[0]).to_i
|
@@ -105,8 +105,8 @@ module ManageEngine
|
|
105
105
|
else
|
106
106
|
#@obj.log.info "Proxy Not Needed #{url.host} #{url.port}"
|
107
107
|
con = Net::HTTP.new(url.host, url.port)
|
108
|
-
con.use_ssl=true
|
109
|
-
con.verify_mode=OpenSSL::SSL::VERIFY_NONE
|
108
|
+
#con.use_ssl=true
|
109
|
+
#con.verify_mode=OpenSSL::SSL::VERIFY_NONE
|
110
110
|
#@obj.log.info "connection = #{con}"
|
111
111
|
end
|
112
112
|
con=getScheme(con)
|
@@ -116,9 +116,9 @@ module ManageEngine
|
|
116
116
|
end
|
117
117
|
|
118
118
|
def getScheme(con)
|
119
|
-
if(@obj.config.is_secured)
|
119
|
+
if(@obj.config.license_key != nil || @obj.config.is_secured)
|
120
120
|
#@obj.log.info "[connect] Secured"
|
121
|
-
con = Net::HTTP::Proxy(@obj.config.proxy_host, @obj.config.proxy_port,@obj.config.proxy_user,@obj.config.proxy_pass).new(url.host, url.port)
|
121
|
+
#con = Net::HTTP::Proxy(@obj.config.proxy_host, @obj.config.proxy_port,@obj.config.proxy_user,@obj.config.proxy_pass).new(url.host, url.port)
|
122
122
|
con.use_ssl=true
|
123
123
|
con.verify_mode=OpenSSL::SSL::VERIFY_NONE
|
124
124
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
module ManageEngine
|
3
3
|
class APMConstants
|
4
4
|
|
5
|
-
attr_reader :apm_gem,:apm_conf,:agent_conf,:connection_open_timeout,:connection_read_timeout,:connect_uri,:connect_data_uri,:connect_trace_uri,:connect_config_update_uri,:site24x7url
|
5
|
+
attr_reader :apm_gem,:apm_conf,:agent_conf,:connection_open_timeout,:connection_read_timeout,:connect_uri,:connect_data_uri,:connect_trace_uri,:connect_config_update_uri,:site24x7url, :mergepattern_conf
|
6
6
|
attr_reader :licence_exceeds,:licence_expired,:unmanage_agent,:manage_agent,:agent_config_updated,:error_notfound,:error_server,:delete_agent,:response_code,:custom_config_info
|
7
7
|
attr_reader :mf_transaction,:mf_separator,:mf_db,:mf_apdex,:mf_namespace,:mf_name,:mf_all,:agent_store,:agent_lock,:mf_overflow
|
8
8
|
|
@@ -21,6 +21,9 @@ module ManageEngine
|
|
21
21
|
|
22
22
|
#file path for agent data store lock
|
23
23
|
@agent_store="apminsight.store"
|
24
|
+
|
25
|
+
#file name for url merge patterns
|
26
|
+
@mergepattern_conf="transaction_merge_patterns.conf"
|
24
27
|
|
25
28
|
|
26
29
|
#Timeout for opening Connections
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: site24x7_apminsight
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
4
|
+
version: '1.1'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2014-10-08 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: shoulda
|
16
|
-
requirement: &
|
16
|
+
requirement: &23260260 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *23260260
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bundler
|
27
|
-
requirement: &
|
27
|
+
requirement: &23259972 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.0.0
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *23259972
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: jeweler
|
38
|
-
requirement: &
|
38
|
+
requirement: &23259684 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.6.4
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *23259684
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rcov
|
49
|
-
requirement: &
|
49
|
+
requirement: &23259396 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *23259396
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rails
|
60
|
-
requirement: &
|
60
|
+
requirement: &23259108 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: 3.0.0
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *23259108
|
69
69
|
description: Site24x7 APMInsight gives you end-to-end web-transaction awareness of
|
70
70
|
Rails applications enabling you to isolate performance issues and resolve them quickly.
|
71
71
|
To monitor Rails application performance, download and deploy Ruby agent(site24x7_apminsight)
|