-
Processors
- AttributeRollingWindow
- AttributesToCSV
- AttributesToJSON
- CalculateRecordStats
- CaptureChangeMySQL
- CompressContent
- ConnectWebSocket
- ConsumeAMQP
- ConsumeAzureEventHub
- ConsumeElasticsearch
- ConsumeGCPubSub
- ConsumeIMAP
- ConsumeJMS
- ConsumeKafka
- ConsumeKinesisStream
- ConsumeMQTT
- ConsumePOP3
- ConsumeSlack
- ConsumeTwitter
- ConsumeWindowsEventLog
- ControlRate
- ConvertCharacterSet
- ConvertRecord
- CopyAzureBlobStorage_v12
- CopyS3Object
- CountText
- CryptographicHashContent
- DebugFlow
- DecryptContentAge
- DecryptContentPGP
- DeduplicateRecord
- DeleteAzureBlobStorage_v12
- DeleteAzureDataLakeStorage
- DeleteByQueryElasticsearch
- DeleteDynamoDB
- DeleteFile
- DeleteGCSObject
- DeleteGridFS
- DeleteMongo
- DeleteS3Object
- DeleteSFTP
- DeleteSQS
- DetectDuplicate
- DistributeLoad
- DuplicateFlowFile
- EncodeContent
- EncryptContentAge
- EncryptContentPGP
- EnforceOrder
- EvaluateJsonPath
- EvaluateXPath
- EvaluateXQuery
- ExecuteGroovyScript
- ExecuteProcess
- ExecuteScript
- ExecuteSQL
- ExecuteSQLRecord
- ExecuteStreamCommand
- ExtractAvroMetadata
- ExtractEmailAttachments
- ExtractEmailHeaders
- ExtractGrok
- ExtractHL7Attributes
- ExtractRecordSchema
- ExtractText
- FetchAzureBlobStorage_v12
- FetchAzureDataLakeStorage
- FetchBoxFile
- FetchDistributedMapCache
- FetchDropbox
- FetchFile
- FetchFTP
- FetchGCSObject
- FetchGoogleDrive
- FetchGridFS
- FetchS3Object
- FetchSFTP
- FetchSmb
- FilterAttribute
- FlattenJson
- ForkEnrichment
- ForkRecord
- GenerateFlowFile
- GenerateRecord
- GenerateTableFetch
- GeoEnrichIP
- GeoEnrichIPRecord
- GeohashRecord
- GetAsanaObject
- GetAwsPollyJobStatus
- GetAwsTextractJobStatus
- GetAwsTranscribeJobStatus
- GetAwsTranslateJobStatus
- GetAzureEventHub
- GetAzureQueueStorage_v12
- GetDynamoDB
- GetElasticsearch
- GetFile
- GetFTP
- GetGcpVisionAnnotateFilesOperationStatus
- GetGcpVisionAnnotateImagesOperationStatus
- GetHubSpot
- GetMongo
- GetMongoRecord
- GetS3ObjectMetadata
- GetSFTP
- GetShopify
- GetSmbFile
- GetSNMP
- GetSplunk
- GetSQS
- GetWorkdayReport
- GetZendesk
- HandleHttpRequest
- HandleHttpResponse
- IdentifyMimeType
- InvokeHTTP
- InvokeScriptedProcessor
- ISPEnrichIP
- JoinEnrichment
- JoltTransformJSON
- JoltTransformRecord
- JSLTTransformJSON
- JsonQueryElasticsearch
- ListAzureBlobStorage_v12
- ListAzureDataLakeStorage
- ListBoxFile
- ListDatabaseTables
- ListDropbox
- ListenFTP
- ListenHTTP
- ListenOTLP
- ListenSlack
- ListenSyslog
- ListenTCP
- ListenTrapSNMP
- ListenUDP
- ListenUDPRecord
- ListenWebSocket
- ListFile
- ListFTP
- ListGCSBucket
- ListGoogleDrive
- ListS3
- ListSFTP
- ListSmb
- LogAttribute
- LogMessage
- LookupAttribute
- LookupRecord
- MergeContent
- MergeRecord
- ModifyBytes
- ModifyCompression
- MonitorActivity
- MoveAzureDataLakeStorage
- Notify
- PackageFlowFile
- PaginatedJsonQueryElasticsearch
- ParseEvtx
- ParseNetflowv5
- ParseSyslog
- ParseSyslog5424
- PartitionRecord
- PublishAMQP
- PublishGCPubSub
- PublishJMS
- PublishKafka
- PublishMQTT
- PublishSlack
- PutAzureBlobStorage_v12
- PutAzureCosmosDBRecord
- PutAzureDataExplorer
- PutAzureDataLakeStorage
- PutAzureEventHub
- PutAzureQueueStorage_v12
- PutBigQuery
- PutBoxFile
- PutCloudWatchMetric
- PutDatabaseRecord
- PutDistributedMapCache
- PutDropbox
- PutDynamoDB
- PutDynamoDBRecord
- PutElasticsearchJson
- PutElasticsearchRecord
- PutEmail
- PutFile
- PutFTP
- PutGCSObject
- PutGoogleDrive
- PutGridFS
- PutKinesisFirehose
- PutKinesisStream
- PutLambda
- PutMongo
- PutMongoBulkOperations
- PutMongoRecord
- PutRecord
- PutRedisHashRecord
- PutS3Object
- PutSalesforceObject
- PutSFTP
- PutSmbFile
- PutSNS
- PutSplunk
- PutSplunkHTTP
- PutSQL
- PutSQS
- PutSyslog
- PutTCP
- PutUDP
- PutWebSocket
- PutZendeskTicket
- QueryAirtableTable
- QueryAzureDataExplorer
- QueryDatabaseTable
- QueryDatabaseTableRecord
- QueryRecord
- QuerySalesforceObject
- QuerySplunkIndexingStatus
- RemoveRecordField
- RenameRecordField
- ReplaceText
- ReplaceTextWithMapping
- RetryFlowFile
- RouteHL7
- RouteOnAttribute
- RouteOnContent
- RouteText
- RunMongoAggregation
- SampleRecord
- ScanAttribute
- ScanContent
- ScriptedFilterRecord
- ScriptedPartitionRecord
- ScriptedTransformRecord
- ScriptedValidateRecord
- SearchElasticsearch
- SegmentContent
- SendTrapSNMP
- SetSNMP
- SignContentPGP
- SplitAvro
- SplitContent
- SplitExcel
- SplitJson
- SplitPCAP
- SplitRecord
- SplitText
- SplitXml
- StartAwsPollyJob
- StartAwsTextractJob
- StartAwsTranscribeJob
- StartAwsTranslateJob
- StartGcpVisionAnnotateFilesOperation
- StartGcpVisionAnnotateImagesOperation
- TagS3Object
- TailFile
- TransformXml
- UnpackContent
- UpdateAttribute
- UpdateByQueryElasticsearch
- UpdateCounter
- UpdateDatabaseTable
- UpdateRecord
- ValidateCsv
- ValidateJson
- ValidateRecord
- ValidateXml
- VerifyContentMAC
- VerifyContentPGP
- Wait
-
Controller Services
- ADLSCredentialsControllerService
- ADLSCredentialsControllerServiceLookup
- AmazonGlueSchemaRegistry
- ApicurioSchemaRegistry
- AvroReader
- AvroRecordSetWriter
- AvroSchemaRegistry
- AWSCredentialsProviderControllerService
- AzureBlobStorageFileResourceService
- AzureCosmosDBClientService
- AzureDataLakeStorageFileResourceService
- AzureEventHubRecordSink
- AzureStorageCredentialsControllerService_v12
- AzureStorageCredentialsControllerServiceLookup_v12
- CEFReader
- ConfluentEncodedSchemaReferenceReader
- ConfluentEncodedSchemaReferenceWriter
- ConfluentSchemaRegistry
- CSVReader
- CSVRecordLookupService
- CSVRecordSetWriter
- DatabaseRecordLookupService
- DatabaseRecordSink
- DatabaseTableSchemaRegistry
- DBCPConnectionPool
- DBCPConnectionPoolLookup
- DistributedMapCacheLookupService
- ElasticSearchClientServiceImpl
- ElasticSearchLookupService
- ElasticSearchStringLookupService
- EmailRecordSink
- EmbeddedHazelcastCacheManager
- ExcelReader
- ExternalHazelcastCacheManager
- FreeFormTextRecordSetWriter
- GCPCredentialsControllerService
- GCSFileResourceService
- GrokReader
- HazelcastMapCacheClient
- HikariCPConnectionPool
- HttpRecordSink
- IPLookupService
- JettyWebSocketClient
- JettyWebSocketServer
- JMSConnectionFactoryProvider
- JndiJmsConnectionFactoryProvider
- JsonConfigBasedBoxClientService
- JsonPathReader
- JsonRecordSetWriter
- JsonTreeReader
- Kafka3ConnectionService
- KerberosKeytabUserService
- KerberosPasswordUserService
- KerberosTicketCacheUserService
- LoggingRecordSink
- MapCacheClientService
- MapCacheServer
- MongoDBControllerService
- MongoDBLookupService
- PropertiesFileLookupService
- ProtobufReader
- ReaderLookup
- RecordSetWriterLookup
- RecordSinkServiceLookup
- RedisConnectionPoolService
- RedisDistributedMapCacheClientService
- RestLookupService
- S3FileResourceService
- ScriptedLookupService
- ScriptedReader
- ScriptedRecordSetWriter
- ScriptedRecordSink
- SetCacheClientService
- SetCacheServer
- SimpleCsvFileLookupService
- SimpleDatabaseLookupService
- SimpleKeyValueLookupService
- SimpleRedisDistributedMapCacheClientService
- SimpleScriptedLookupService
- SiteToSiteReportingRecordSink
- SlackRecordSink
- SmbjClientProviderService
- StandardAsanaClientProviderService
- StandardAzureCredentialsControllerService
- StandardDropboxCredentialService
- StandardFileResourceService
- StandardHashiCorpVaultClientService
- StandardHttpContextMap
- StandardJsonSchemaRegistry
- StandardKustoIngestService
- StandardKustoQueryService
- StandardOauth2AccessTokenProvider
- StandardPGPPrivateKeyService
- StandardPGPPublicKeyService
- StandardPrivateKeyService
- StandardProxyConfigurationService
- StandardRestrictedSSLContextService
- StandardS3EncryptionService
- StandardSSLContextService
- StandardWebClientServiceProvider
- Syslog5424Reader
- SyslogReader
- UDPEventRecordSink
- VolatileSchemaCache
- WindowsEventLogReader
- XMLFileLookupService
- XMLReader
- XMLRecordSetWriter
- YamlTreeReader
- ZendeskRecordSink
SiteToSiteMetricsReportingTask 2.0.0
- Bundle
- org.apache.nifi | nifi-site-to-site-reporting-nar
- Description
- Publishes same metrics as the Ambari Reporting task using the Site To Site protocol.
- Tags
- metrics, site, site to site, status
- Input Requirement
- Supports Sensitive Dynamic Properties
- false
-
Additional Details for SiteToSiteMetricsReportingTask 2.0.0
SiteToSiteMetricsReportingTask
The Site-to-Site Metrics Reporting Task allows the user to publish NiFi’s metrics (as in the Ambari reporting task) to the same NiFi instance or another NiFi instance. This provides a great deal of power because it allows the user to make use of all the different Processors that are available in NiFi in order to process or distribute that data.
Ambari format
There are two available output formats. The first one is the Ambari format as defined in the Ambari Metrics Collector API which is a JSON with dynamic keys. If using this format you might be interested in the below Jolt specification to transform the data.
[ { "operation": "shift", "spec": { "metrics": { "*": { "metrics": { "*": { "$": "metrics.[#4].metrics.time", "@": "metrics.[#4].metrics.value" } }, "*": "metrics.[&1].&" } } } } ]
This would transform the below sample:
{ "metrics": [ { "metricname": "jvm.gc.time.G1OldGeneration", "appid": "nifi", "instanceid": "8927f4c0-0160-1000-597a-ea764ccd81a7", "hostname": "localhost", "timestamp": "1520456854361", "starttime": "1520456854361", "metrics": { "1520456854361": "0" } }, { "metricname": "jvm.thread_states.terminated", "appid": "nifi", "instanceid": "8927f4c0-0160-1000-597a-ea764ccd81a7", "hostname": "localhost", "timestamp": "1520456854361", "starttime": "1520456854361", "metrics": { "1520456854361": "0" } } ] }
into:
{ "metrics": [ { "metricname": "jvm.gc.time.G1OldGeneration", "appid": "nifi", "instanceid": "8927f4c0-0160-1000-597a-ea764ccd81a7", "hostname": "localhost", "timestamp": "1520456854361", "starttime": "1520456854361", "metrics": { "time": "1520456854361", "value": "0" } }, { "metricname": "jvm.thread_states.terminated", "appid": "nifi", "instanceid": "8927f4c0-0160-1000-597a-ea764ccd81a7", "hostname": "localhost", "timestamp": "1520456854361", "starttime": "1520456854361", "metrics": { "time": "1520456854361", "value": "0" } } ] }
Record format
The second format is leveraging the record framework of NiFi so that the user can define a Record Writer and directly specify the output format and data with the assumption that the input schema is the following:
{ "type": "record", "name": "metrics", "namespace": "metrics", "fields": [ { "name": "appid", "type": "string" }, { "name": "instanceid", "type": "string" }, { "name": "hostname", "type": "string" }, { "name": "timestamp", "type": "long" }, { "name": "loadAverage1min", "type": "double" }, { "name": "availableCores", "type": "int" }, { "name": "FlowFilesReceivedLast5Minutes", "type": "int" }, { "name": "BytesReceivedLast5Minutes", "type": "long" }, { "name": "FlowFilesSentLast5Minutes", "type": "int" }, { "name": "BytesSentLast5Minutes", "type": "long" }, { "name": "FlowFilesQueued", "type": "int" }, { "name": "BytesQueued", "type": "long" }, { "name": "BytesReadLast5Minutes", "type": "long" }, { "name": "BytesWrittenLast5Minutes", "type": "long" }, { "name": "ActiveThreads", "type": "int" }, { "name": "TotalTaskDurationSeconds", "type": "long" }, { "name": "TotalTaskDurationNanoSeconds", "type": "long" }, { "name": "jvmuptime", "type": "long" }, { "name": "jvmheap_used", "type": "double" }, { "name": "jvmheap_usage", "type": "double" }, { "name": "jvmnon_heap_usage", "type": "double" }, { "name": "jvmthread_statesrunnable", "type": [ "int", "null" ] }, { "name": "jvmthread_statesblocked", "type": [ "int", "null" ] }, { "name": "jvmthread_statestimed_waiting", "type": [ "int", "null" ] }, { "name": "jvmthread_statesterminated", "type": [ "int", "null" ] }, { "name": "jvmthread_count", "type": "int" }, { "name": "jvmdaemon_thread_count", "type": "int" }, { "name": "jvmfile_descriptor_usage", "type": "double" }, { "name": "jvmgcruns", "type": [ "long", "null" ] }, { "name": "jvmgctime", "type": [ "long", "null" ] } ] }
-
Communications Timeout
Specifies how long to wait to a response from the destination before deciding that an error has occurred and canceling the transaction
- Display Name
- Communications Timeout
- Description
- Specifies how long to wait to a response from the destination before deciding that an error has occurred and canceling the transaction
- API Name
- Communications Timeout
- Default Value
- 30 secs
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- true
-
Compress Events
Indicates whether or not to compress the data being sent.
- Display Name
- Compress Events
- Description
- Indicates whether or not to compress the data being sent.
- API Name
- Compress Events
- Default Value
- true
- Allowable Values
-
- true
- false
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- true
-
Destination URL
The URL of the destination NiFi instance or, if clustered, a comma-separated list of address in the format of http(s)://host:port/nifi. This destination URL will only be used to initiate the Site-to-Site connection. The data sent by this reporting task will be load-balanced on all the nodes of the destination (if clustered).
- Display Name
- Destination URL
- Description
- The URL of the destination NiFi instance or, if clustered, a comma-separated list of address in the format of http(s)://host:port/nifi. This destination URL will only be used to initiate the Site-to-Site connection. The data sent by this reporting task will be load-balanced on all the nodes of the destination (if clustered).
- API Name
- Destination URL
- Expression Language Scope
- Environment variables defined at JVM level and system properties
- Sensitive
- false
- Required
- true
-
Include Null Values
Indicate if null values should be included in records. Default will be false
- Display Name
- Include Null Values
- Description
- Indicate if null values should be included in records. Default will be false
- API Name
- include-null-values
- Default Value
- false
- Allowable Values
-
- true
- false
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- true
-
Input Port Name
The name of the Input Port to deliver data to.
- Display Name
- Input Port Name
- Description
- The name of the Input Port to deliver data to.
- API Name
- Input Port Name
- Expression Language Scope
- Environment variables defined at JVM level and system properties
- Sensitive
- false
- Required
- true
-
Instance URL
The URL of this instance to use in the Content URI of each event.
- Display Name
- Instance URL
- Description
- The URL of this instance to use in the Content URI of each event.
- API Name
- Instance URL
- Default Value
- http://${hostname(true)}:8080/nifi
- Expression Language Scope
- Environment variables defined at JVM level and system properties
- Sensitive
- false
- Required
- true
-
Proxy Configuration Service
Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: HTTP + AuthN
- Display Name
- Proxy Configuration Service
- Description
- Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: HTTP + AuthN
- API Name
- proxy-configuration-service
- Service Interface
- org.apache.nifi.proxy.ProxyConfigurationService
- Service Implementations
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- false
- Dependencies
-
- Transport Protocol is set to any of [HTTP]
-
Record Writer
Specifies the Controller Service to use for writing out the records.
- Display Name
- Record Writer
- Description
- Specifies the Controller Service to use for writing out the records.
- API Name
- record-writer
- Service Interface
- org.apache.nifi.serialization.RecordSetWriterFactory
- Service Implementations
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- false
-
Application ID
The Application ID to be included in the metrics
- Display Name
- Application ID
- Description
- The Application ID to be included in the metrics
- API Name
- s2s-metrics-application-id
- Default Value
- nifi
- Expression Language Scope
- Environment variables defined at JVM level and system properties
- Sensitive
- false
- Required
- true
-
Output Format
The output format that will be used for the metrics. If Record Format is selected, a Record Writer must be provided. If Ambari Format is selected, the Record Writer property should be empty.
- Display Name
- Output Format
- Description
- The output format that will be used for the metrics. If Record Format is selected, a Record Writer must be provided. If Ambari Format is selected, the Record Writer property should be empty.
- API Name
- s2s-metrics-format
- Default Value
- ambari-format
- Allowable Values
-
- Ambari Format
- Record Format
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- true
-
Hostname
The Hostname of this NiFi instance to be included in the metrics
- Display Name
- Hostname
- Description
- The Hostname of this NiFi instance to be included in the metrics
- API Name
- s2s-metrics-hostname
- Default Value
- ${hostname(true)}
- Expression Language Scope
- Environment variables defined at JVM level and system properties
- Sensitive
- false
- Required
- true
-
Transport Protocol
Specifies which transport protocol to use for Site-to-Site communication.
- Display Name
- Transport Protocol
- Description
- Specifies which transport protocol to use for Site-to-Site communication.
- API Name
- s2s-transport-protocol
- Default Value
- RAW
- Allowable Values
-
- RAW
- HTTP
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- true
-
SSL Context Service
The SSL Context Service to use when communicating with the destination. If not specified, communications will not be secure.
- Display Name
- SSL Context Service
- Description
- The SSL Context Service to use when communicating with the destination. If not specified, communications will not be secure.
- API Name
- SSL Context Service
- Service Interface
- org.apache.nifi.ssl.RestrictedSSLContextService
- Service Implementations
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- false