forked from newrelic/newrelic-pcf-nozzle-tile
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tile.yml
266 lines (260 loc) · 10.1 KB
/
tile.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
---
# The high-level description of your tile.
# Replace these properties with real values.
#
name: nr-firehose-nozzle # By convention lowercase with dashes
icon_file: resources/images/NR_logo.png
label: New Relic Firehose Nozzle
description: This tile is used to feed PCF log events and metrics to New Relic insights
metadata_version: 1.9 # Optional, defaults to 1.8
stemcell_criteria:
os: 'ubuntu-jammy'
version: '1.181'
# Global defaults (all optional)
#
# org: test-org # Name of org to create for your apps
# space: test-space # Name of space to create for your apps
apply_open_security_group: true # Apply open security group, default: false
# standalone: false # Suppress default CF properties in property_blueprints metadata, default: false
# Specify the packages to be included in your tile.
# The format of the section to include depends on the type
# of package you are describing. For fragments of each type
# that you can copy & paste, see:
#
# http://docs.pivotal.io/tiledev/tile-generator.html
#
packages:
- name: newrelic-firehose-nozzle
type: app
label: New Relic Firehose Nozzle # Package name for use in human-readable labels in OpsManager
manifest:
path: dist
buildpack: binary_buildpack
command: ./nr-fh-nozzle
health-check-type: http
health-check-http-endpoint: /health
instances: (( .properties.nozzle_instances.value ))
memory: 512M
disk_quota: 256M
env:
NRF_CF_API_UAA_URL: https://uaa.(( ..cf.cloud_controller.system_domain.value ))
NRF_CF_API_URL: https://api.(( ..cf.cloud_controller.system_domain.value ))
NRF_CF_API_RLPG_URL: https://log-stream.(( ..cf.cloud_controller.system_domain.value ))
NRF_CF_CLIENT_ID: opentsdb-firehose-nozzle
NRF_CF_CLIENT_SECRET: (( ..cf.uaa.opentsdb_nozzle_credentials.password ))
NRF_CF_API_USERNAME: admin
NRF_CF_API_PASSWORD: (( ..cf.uaa.admin_credentials.password ))
# Include stemcell criteria if you don't want to accept the default.
# Since this stemcell is only used to run pre and post errands, we
# strongly recommend you leave this alone so that your tile always
# runs with the latest stemcell.
#
# stemcell_criteria:
# os: ubuntu-xenial
# version: '315'
forms:
- name: newrelic-firehose-nozzle-properties
label: New Relic Firehose Nozzle
description: Used to feed PCF log events and metrics to New Relic Insights.
properties:
- name: nrf_newrelic_account_id
type: string
label: New Relic RPM Account ID
description: New Relic RPM Account ID - signup @ https://newrelic.com/signup
configurable: true
- name: nrf_newrelic_account_region
type: dropdown_select
label: New Relic RPM Account Region
description: New Relic RPM Account Region (choose EU if your RPM URL contains .eu.)
default: 'US'
options:
- name: US
label: 'US'
- name: EU
label: 'EU'
configurable: true
- name: nrf_newrelic_insert_key
type: secret
label: New Relic Insights Insert Key
description: New Relic Insights Insert Key - obtain from your New Relic Insights https://insights.newrelic.com/accounts/<RPM_ID>/manage/api_keys
configurable: true
- name: nrf_firehose_id
type: string
default: newrelic.firehose
label: Firehose Subscription ID
description: Firhose Subscription ID (i.e. newrelic.firehose). Events will be load balanced across multiple nozzles with the same subscription ID in the same CF domain.
configurable: true
- name: nozzle_instances
type: integer
default: 2
label: Nozzle Instance Count
description: Number of nozzle instances
constraints:
min: 1
max: 30
configurable: true
- name: newrelic-firehose-nozzle-advanced-properties
label: Advanced Settings
description: Advanced settings for New Relic Firehose Nozzle
properties:
- name: http_proxy
type: string
optional: true
label: Proxy Server Address and Port
description: Specify the proxy server address and port if required (i.e. http://my_proxy_server:proxy_port)
configurable: true
- name: no_proxy
type: string
optional: true
label: Proxy Bypass
description: Specify any addresses that should bypass the proxy server. Only include the server name or URL. Do not specify any protocol or port
configurable: true
- name: nrf_cf_skip_ssl
type: boolean
default: true
label: Skip SSL Verification
description: Skip SSL Verification (boolean true/false)
configurable: true
- name: nrf_enabled_envelope_types
type: string
default: ContainerMetric,CounterEvent,HttpStartStop,LogMessage,ValueMetric
label: Selected Events
description: Comma or Pipe separated list of enabled event types (i.e. ValueMetric,CounterEvent,ContainerMetric)
configurable: true
- name: nrf_logs_http
type: boolean
default: false
label: Enable New Relic Logs - HttpStartStop
description: Send HttpStartStop (Timer) envelopes to New Relic Logs (boolean true/false)
configurable: true
- name: nrf_logs_logmessage
type: boolean
default: false
label: Enable New Relic Logs - LogMessage
description: Send LogMessage envelopes to New Relic Logs (boolean true/false)
configurable: true
- name: nrf_newrelic_drain_interval
type: dropdown_select
default: '59s'
options:
- name: 29s
label: '30s'
- name: 59s
label: '60s'
- name: 89s
label: '90s'
- name: 119s
label: '120s'
label: Drain Interval
description: How often aggregated metrics should be sent to New Relic Insights (default 60s). Events (LogMessage and HttpStartStop) are sent immediately.
configurable: true
- name: nrf_firehose_http_timeout_mins
type: integer
default: 16
label: Firehose -> Reverse Log Proxy Gateway Timeout (minutes)
description: HTTP connection timeout (in minutes). If a connection lasts longer than this threshold, it will be destroyed and a new connection will be automatically created.
constraints:
min: 15
configurable: true
- name: nrf_firehose_restart_thresh_secs
type: integer
default: 15
label: Firehose No Traffic Restart Threshold (seconds)
description: Number of seconds with no messages from the nozzle before the Reverse Log Proxy Gateway connection is cancelled and recreated.
constraints:
min: 15
configurable: true
- name: nrf_firehose_diode_buffer
type: integer
default: 8192
label: Firehose Queue Buffer Size (messages)
description: Number of messages that can be held in the queue before messages are dropped. Log message Firehose diode dropped X messages will be generated if the queue fills
constraints:
min: 6000
configurable: true
- name: nrf_firehose_cache_update_interval_secs
type: integer
default: 60
label: Cache update interval
description: Number of seconds that all apps in the cache are updated at this interval.
constraints:
min: 30
configurable: true
- name: nrf_firehose_cache_duration_mins
type: integer
default: 30
label: Cache ttl
description: Interval in minutes for a full cache reset. Increase this valus if you have a large environment and the app creates too much load (or if your environment does not change frequently).
constraints:
min: 30
default: 30
configurable: true
- name: nrf_firehose_cache_write_buffer_size
type: integer
default: 2048
label: Cache Write Buffer Size
description: Size of the Write Buffer Cache.
constraints:
min: 1024
configurable: true
- name: nrf_log_level
type: dropdown_select
default: INFO
options:
- name: INFO
label: 'INFO'
- name: DEBUG
label: 'DEBUG'
label: Log Level
description: Log verbosity.
configurable: true
- name: nrf_newrelic_custom_url
type: string
label: New Relic Custom URL
optional: true
description: (Rarely used) Set it if you want to override the usual API endpoint used to send data
configurable: true
- name: nrf_tracer
type: boolean
default: false
label: Enable Tracer
description: Enable tracer logging functionality. Warning - this is extremely verbose. (boolean true/false)
configurable: true
- name: newrelic-firehose-nozzle-log-filters
label: LogMessage Filters
description: Filters to include/exclude LogMessage events
properties:
- name: nrf_logmessage_source_include
type: string
optional: true
label: LogMessage Source Include Filter
description: Ignore events unless the source matches a source in this list. For example, RTR or APP/PROC/WEB. Multiple sources can be included as long as they are , or | separated.
configurable: true
- name: nrf_logmessage_source_exclude
type: string
optional: true
label: LogMessage Source Exclude Filter
description: Ignore events if the source matches a source in this list. For example, RTR or APP/PROC/WEB. Multiple sources can be included as long as they are , or | separated. Exclude filters are processed after include filters.
configurable: true
- name: nrf_logmessage_message_include
type: string
optional: true
label: LogMessage Message Content Include Filter
description: Ignore events unless the message contains a pattern in this list. For example, ERROR or crashed. Multiple patterns can be included as long as they are , or | separated.
configurable: true
- name: nrf_logmessage_message_exclude
type: string
optional: true
label: LogMessage Message Content Exclude Filter
description: Ignore events if the message contains a pattern in this list. For example, GET or DEBUG. Multiple patterns can be included as long as they are , or | separated. Exclude filters are processed after include filters.
configurable: true
- name: newrelic-firehose-nozzle-rabbitmq-settings
label: Custom Settings
description: Settings for Custom Integrations
properties:
- name: nrf_cf_rabbitmq_tags
type: boolean
default: true
label: Enable RabbitMQ Tags
description: Send RabbitMQ Tags to New Relic (boolean true/false), works along with RabbitMQ tile.
configurable: true