├── .asf.yaml ├── .gitattributes ├── .github └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── ambari-logsearch-appender ├── .gitignore ├── README.md ├── build.properties ├── build.xml ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── ambari │ │ └── logsearch │ │ └── appender │ │ ├── LogsearchConversion.java │ │ ├── LogsearchRollingFileAppender.java │ │ └── Output.java │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── ambari │ │ └── logsearch │ │ └── appender │ │ └── AppTest.java │ └── resources │ └── log4j.properties ├── ambari-logsearch-assembly ├── pom.xml └── src │ └── main │ └── package │ ├── deb │ ├── logfeeder │ │ ├── control │ │ ├── postinst │ │ ├── postrm │ │ ├── preinst │ │ └── prerm │ └── portal │ │ ├── control │ │ ├── postinst │ │ ├── postrm │ │ ├── preinst │ │ └── prerm │ └── rpm │ ├── logfeeder │ ├── postinstall.sh │ ├── postremove.sh │ └── preinstall.sh │ └── portal │ ├── postinstall.sh │ ├── postremove.sh │ └── preinstall.sh ├── ambari-logsearch-config-api ├── .gitignore ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── ambari │ │ └── logsearch │ │ └── config │ │ └── api │ │ ├── InputConfigMonitor.java │ │ ├── LogLevelFilterManager.java │ │ ├── LogLevelFilterMonitor.java │ │ ├── LogLevelFilterUpdater.java │ │ ├── LogSearchConfig.java │ │ ├── LogSearchConfigFactory.java │ │ ├── LogSearchConfigLogFeeder.java │ │ ├── LogSearchConfigServer.java │ │ ├── LogSearchPropertyDescription.java │ │ ├── OutputConfigMonitor.java │ │ ├── ShipperConfigElementDescription.java │ │ ├── ShipperConfigTypeDescription.java │ │ └── model │ │ ├── inputconfig │ │ ├── Conditions.java │ │ ├── CustomDescriptor.java │ │ ├── Fields.java │ │ ├── FilterDescriptor.java │ │ ├── FilterGrokDescriptor.java │ │ ├── FilterJsonDescriptor.java │ │ ├── FilterKeyValueDescriptor.java │ │ ├── InputConfig.java │ │ ├── InputCustomDescriptor.java │ │ ├── InputDescriptor.java │ │ ├── InputFileBaseDescriptor.java │ │ ├── InputFileDescriptor.java │ │ ├── InputS3FileDescriptor.java │ │ ├── InputSocketDescriptor.java │ │ ├── MapAnonymizeDescriptor.java │ │ ├── MapCustomDescriptor.java │ │ ├── MapDateDescriptor.java │ │ ├── MapFieldCopyDescriptor.java │ │ ├── MapFieldDescriptor.java │ │ ├── MapFieldNameDescriptor.java │ │ ├── MapFieldValueDescriptor.java │ │ └── PostMapValues.java │ │ └── loglevelfilter │ │ ├── LogLevelFilter.java │ │ └── LogLevelFilterMap.java │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── ambari │ │ └── logsearch │ │ └── config │ │ └── api │ │ ├── LogSearchConfigFactoryTest.java │ │ ├── LogSearchConfigLogFeederClass1.java │ │ ├── LogSearchConfigLogFeederClass2.java │ │ ├── LogSearchConfigServerClass1.java │ │ ├── LogSearchConfigServerClass2.java │ │ └── NonLogSearchConfigClass.java │ └── resources │ └── log4j2-test.xml ├── ambari-logsearch-config-json ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── apache │ └── ambari │ └── logsearch │ └── config │ └── json │ ├── JsonHelper.java │ └── model │ └── inputconfig │ └── impl │ ├── ConditionsImpl.java │ ├── FieldsImpl.java │ ├── FilterAdapter.java │ ├── FilterDescriptorImpl.java │ ├── FilterGrokDescriptorImpl.java │ ├── FilterJsonDescriptorImpl.java │ ├── FilterKeyValueDescriptorImpl.java │ ├── InputAdapter.java │ ├── InputConfigGson.java │ ├── InputConfigImpl.java │ ├── InputCustomDescriptorImpl.java │ ├── InputDescriptorImpl.java │ ├── InputFileBaseDescriptorImpl.java │ ├── InputFileDescriptorImpl.java │ ├── InputS3FileDescriptorImpl.java │ ├── InputSocketDescriptorImpl.java │ ├── MapAnonymizeDescriptorImpl.java │ ├── MapCustomDescriptorImpl.java │ ├── MapDateDescriptorImpl.java │ ├── MapFieldCopyDescriptorImpl.java │ ├── MapFieldDescriptorImpl.java │ ├── MapFieldNameDescriptorImpl.java │ ├── MapFieldValueDescriptorImpl.java │ ├── PostMapValuesAdapter.java │ └── PostMapValuesImpl.java ├── ambari-logsearch-config-local ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── apache │ └── ambari │ └── logsearch │ └── config │ └── local │ ├── LogLevelFilterManagerLocal.java │ ├── LogSearchConfigLocal.java │ ├── LogSearchConfigLocalUpdater.java │ ├── LogSearchConfigLogFeederLocal.java │ └── LogSearchConfigServerLocal.java ├── ambari-logsearch-config-solr ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── apache │ └── ambari │ └── logsearch │ └── config │ └── solr │ ├── LogLevelFilterManagerSolr.java │ └── LogLevelFilterUpdaterSolr.java ├── ambari-logsearch-config-zookeeper ├── .gitignore ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── apache │ └── ambari │ └── logsearch │ └── config │ └── zookeeper │ ├── LogLevelFilterManagerZK.java │ ├── LogSearchConfigLogFeederZK.java │ ├── LogSearchConfigServerZK.java │ ├── LogSearchConfigZK.java │ └── LogSearchConfigZKHelper.java ├── ambari-logsearch-docs ├── pom.xml └── src │ └── main │ ├── java │ └── org │ │ └── apache │ │ └── ambari │ │ └── logsearch │ │ └── doc │ │ ├── AbstractDescriptionData.java │ │ ├── LogSearchDocumentationGenerator.java │ │ ├── PropertyDescriptionData.java │ │ ├── ShipperConfigDescriptionData.java │ │ └── ShipperConfigDescriptionDataHolder.java │ └── resources │ ├── docs.md │ ├── log4j2.xml │ └── templates │ ├── logfeeder_properties.md.ftl │ ├── logsearch_properties.md.ftl │ └── shipper_configurations.md.ftl ├── ambari-logsearch-it ├── log4j.dtd ├── pom.xml └── src │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── ambari │ │ └── logsearch │ │ ├── domain │ │ ├── StoryDataRegistry.java │ │ └── WebClient.java │ │ ├── patterns │ │ ├── AmbariInfraSolrLogPatternIT.java │ │ ├── AmbariLogPatternIT.java │ │ ├── AtlasLogPatternIT.java │ │ ├── HBaseLogPatternIT.java │ │ ├── HDFSLogPatternIT.java │ │ ├── HdfsAuditLogPatternIT.java │ │ ├── HiveLogPatterntIT.java │ │ ├── JinjaFunctions.java │ │ ├── KafkaLogPatternIT.java │ │ ├── KnoxLogPatternIT.java │ │ ├── LayoutQuery.java │ │ ├── ListAppender.java │ │ ├── Log4jContent.java │ │ ├── Log4jProperties.java │ │ ├── Log4jXml.java │ │ ├── Log4jXmlProperties.java │ │ ├── MetricsLogPatternIT.java │ │ ├── PatternITBase.java │ │ ├── RangerLogPatternIT.java │ │ ├── SmartSenseLogPatternIT.java │ │ ├── Spark2LogPatternIT.java │ │ ├── StackDefContent.java │ │ ├── StormLogPatternIT.java │ │ ├── YarnLogPatternIT.java │ │ ├── ZeppelinLogPatternIT.java │ │ └── ZookeeperLogPatternIT.java │ │ ├── solr │ │ ├── Solr.java │ │ ├── SolrDocumentMatcher.java │ │ └── search │ │ │ └── SearchServiceLogsTest.java │ │ ├── steps │ │ ├── AbstractLogSearchSteps.java │ │ ├── LogSearchApiSteps.java │ │ ├── LogSearchConfigApiSteps.java │ │ ├── LogSearchDockerSteps.java │ │ ├── LogSearchUISteps.java │ │ └── SolrSteps.java │ │ ├── story │ │ ├── LogSearchBackendStories.java │ │ ├── LogSearchStoryLocator.java │ │ └── LogSearchUIStories.java │ │ └── web │ │ ├── AbstractPage.java │ │ └── Home.java │ └── resources │ ├── log4j.properties │ ├── stories │ ├── backend │ │ ├── log_search_api_tests.story │ │ ├── log_search_cofig_api_tests.story │ │ └── logfeeder_parsing_tests.story │ └── selenium │ │ └── login.ui.story │ ├── test-input-config │ └── input.config-smartsense.json.j2 │ └── test-output │ ├── service-log-level-counts-values.json │ └── service-log-schema.json ├── ambari-logsearch-log4j2-appender ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── ambari │ │ └── logsearch │ │ └── layout │ │ └── LogSearchJsonLayout.java │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── ambari │ │ └── logsearch │ │ └── layout │ │ └── LayoutTest.java │ └── resources │ └── log4j2.xml ├── ambari-logsearch-logfeeder-container-registry ├── pom.xml └── src │ └── main │ ├── java │ └── org │ │ └── apache │ │ └── ambari │ │ └── logfeeder │ │ └── container │ │ ├── ContainerMetadata.java │ │ ├── ContainerRegistry.java │ │ └── docker │ │ ├── DockerContainerRegistry.java │ │ ├── DockerContainerRegistryMonitor.java │ │ ├── DockerMetadata.java │ │ └── command │ │ ├── CommandExecutionHelper.java │ │ ├── CommandResponse.java │ │ ├── ContainerCommand.java │ │ ├── DockerInspectContainerCommand.java │ │ └── DockerListContainerCommand.java │ └── resources │ └── log4j.properties ├── ambari-logsearch-logfeeder-plugin-api ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── apache │ └── ambari │ └── logfeeder │ └── plugin │ ├── common │ ├── AliasUtil.java │ ├── ConfigItem.java │ ├── LogFeederProperties.java │ └── MetricData.java │ ├── filter │ ├── Filter.java │ └── mapper │ │ └── Mapper.java │ ├── input │ ├── Input.java │ ├── InputMarker.java │ └── cache │ │ └── LRUCache.java │ ├── manager │ ├── BlockManager.java │ ├── CheckpointManager.java │ ├── InputManager.java │ └── OutputManager.java │ └── output │ └── Output.java ├── ambari-logsearch-logfeeder ├── .gitignore ├── build.xml ├── docs │ ├── filter.md │ ├── input.md │ ├── inputConfig.md │ └── postMapValues.md ├── pom.xml ├── run.sh └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── ambari │ │ │ └── logfeeder │ │ │ ├── LogFeeder.java │ │ │ ├── LogFeederCommandLine.java │ │ │ ├── common │ │ │ ├── IdGeneratorHelper.java │ │ │ ├── LogEntryParseTester.java │ │ │ ├── LogFeederConstants.java │ │ │ ├── LogFeederException.java │ │ │ └── LogFeederSolrClientFactory.java │ │ │ ├── conf │ │ │ ├── ApplicationConfig.java │ │ │ ├── CloudStorageDestination.java │ │ │ ├── InputSimulateConfig.java │ │ │ ├── LogEntryCacheConfig.java │ │ │ ├── LogFeederMode.java │ │ │ ├── LogFeederProps.java │ │ │ ├── LogFeederSecurityConfig.java │ │ │ ├── MetricsCollectorConfig.java │ │ │ ├── condition │ │ │ │ ├── CloudStorageCondition.java │ │ │ │ └── NonCloudStorageCondition.java │ │ │ └── output │ │ │ │ ├── BucketConfig.java │ │ │ │ ├── HdfsOutputConfig.java │ │ │ │ ├── RolloverConfig.java │ │ │ │ └── S3OutputConfig.java │ │ │ ├── credential │ │ │ ├── CompositeSecretStore.java │ │ │ ├── EnvSecretStore.java │ │ │ ├── FileSecretStore.java │ │ │ ├── HadoopCredentialSecretStore.java │ │ │ ├── PlainTextSecretStore.java │ │ │ ├── PropertySecretStore.java │ │ │ └── SecretStore.java │ │ │ ├── filter │ │ │ ├── DockerLogFilter.java │ │ │ ├── FilterDummy.java │ │ │ ├── FilterGrok.java │ │ │ ├── FilterJSON.java │ │ │ └── FilterKeyValue.java │ │ │ ├── input │ │ │ ├── InputConfigUploader.java │ │ │ ├── InputFile.java │ │ │ ├── InputFileMarker.java │ │ │ ├── InputManagerImpl.java │ │ │ ├── InputSimulate.java │ │ │ ├── InputSocket.java │ │ │ ├── InputSocketMarker.java │ │ │ ├── file │ │ │ │ ├── ProcessFileHelper.java │ │ │ │ └── checkpoint │ │ │ │ │ ├── FileCheckpointManager.java │ │ │ │ │ └── util │ │ │ │ │ ├── CheckpointFileReader.java │ │ │ │ │ ├── FileCheckInHelper.java │ │ │ │ │ ├── FileCheckpointCleanupHelper.java │ │ │ │ │ └── ResumeLineNumberHelper.java │ │ │ ├── monitor │ │ │ │ ├── AbstractLogFileMonitor.java │ │ │ │ ├── CheckpointCleanupMonitor.java │ │ │ │ ├── DockerLogFileUpdateMonitor.java │ │ │ │ ├── LogFileDetachMonitor.java │ │ │ │ └── LogFilePathUpdateMonitor.java │ │ │ └── reader │ │ │ │ ├── GZIPReader.java │ │ │ │ └── LogsearchReaderFactory.java │ │ │ ├── loglevelfilter │ │ │ └── LogLevelFilterHandler.java │ │ │ ├── manager │ │ │ ├── BlockMerger.java │ │ │ ├── InputConfigHolder.java │ │ │ ├── InputConfigManager.java │ │ │ └── operations │ │ │ │ ├── InputConfigHandler.java │ │ │ │ └── impl │ │ │ │ ├── AbstractInputConfigHandler.java │ │ │ │ ├── CloudStorageInputConfigHandler.java │ │ │ │ └── DefaultInputConfigHandler.java │ │ │ ├── mapper │ │ │ ├── MapperAnonymize.java │ │ │ ├── MapperDate.java │ │ │ ├── MapperFieldCopy.java │ │ │ ├── MapperFieldName.java │ │ │ └── MapperFieldValue.java │ │ │ ├── metrics │ │ │ ├── LogFeederAMSClient.java │ │ │ ├── MetricsManager.java │ │ │ └── StatsLogger.java │ │ │ ├── output │ │ │ ├── OutputData.java │ │ │ ├── OutputDevNull.java │ │ │ ├── OutputFile.java │ │ │ ├── OutputKafka.java │ │ │ ├── OutputLineEnricher.java │ │ │ ├── OutputLineFilter.java │ │ │ ├── OutputManagerImpl.java │ │ │ ├── OutputSolr.java │ │ │ └── cloud │ │ │ │ ├── CloudStorageLoggerFactory.java │ │ │ │ ├── CloudStorageOutput.java │ │ │ │ ├── CloudStorageOutputManager.java │ │ │ │ ├── CloudStorageUploader.java │ │ │ │ └── upload │ │ │ │ ├── AbstractS3CloudClient.java │ │ │ │ ├── HDFSS3UploadClient.java │ │ │ │ ├── HDFSUploadClient.java │ │ │ │ ├── S3UploadClient.java │ │ │ │ ├── SecretKeyPair.java │ │ │ │ ├── UploadClient.java │ │ │ │ └── UploadClientFactory.java │ │ │ └── util │ │ │ ├── CompressionUtil.java │ │ │ ├── DateUtil.java │ │ │ ├── FileUtil.java │ │ │ ├── LogFeederHDFSUtil.java │ │ │ ├── LogFeederUtil.java │ │ │ └── PlaceholderUtil.java │ ├── resources │ │ ├── alias_config.json │ │ ├── core-site-examples │ │ │ ├── abfs-core-site.xml │ │ │ ├── s3-core-site.xml │ │ │ └── wasb-core-site.xml │ │ ├── core-site.xml │ │ ├── filters.config.json │ │ ├── grok-patterns │ │ ├── log-samples │ │ │ ├── .gitignore │ │ │ └── shipper-conf │ │ │ │ ├── global.config.json │ │ │ │ ├── input.config-sample.json │ │ │ │ └── output.config-sample.json │ │ ├── log4j2.yml │ │ └── logfeeder.properties │ └── scripts │ │ ├── logfeeder-env.sh │ │ └── logfeeder.sh │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── ambari │ │ └── logfeeder │ │ ├── common │ │ ├── IdGeneratorHelperTest.java │ │ └── LogFeederSolrClientFactoryTest.java │ │ ├── filter │ │ ├── FilterGrokTest.java │ │ ├── FilterJSONTest.java │ │ └── FilterKeyValueTest.java │ │ ├── input │ │ ├── InputFileTest.java │ │ ├── InputManagerTest.java │ │ └── cache │ │ │ └── LRUCacheTest.java │ │ ├── mapper │ │ ├── MapperAnonymizeTest.java │ │ ├── MapperDateTest.java │ │ ├── MapperFieldCopyTest.java │ │ ├── MapperFieldNameTest.java │ │ └── MapperFieldValueTest.java │ │ ├── metrics │ │ └── MetricsManagerTest.java │ │ ├── output │ │ ├── OutputKafkaTest.java │ │ ├── OutputLineFilterTest.java │ │ ├── OutputManagerTest.java │ │ └── cloud │ │ │ └── CloudStorageUploaderTest.java │ │ └── util │ │ └── PlaceholderUtilTest.java │ └── resources │ ├── log4j2-test.xml │ ├── logfeeder.properties │ ├── sample_filter.json │ └── samples │ ├── config │ ├── config_audit.json │ ├── config_service.json │ └── output-hdfs-config.json │ └── jsonlogs │ ├── audit_log.json │ └── service_log.json ├── ambari-logsearch-server ├── .gitignore ├── build.properties ├── build.xml ├── pom.xml ├── run.sh └── src │ ├── main │ ├── configsets │ │ ├── audit_logs │ │ │ └── conf │ │ │ │ ├── admin-extra.html │ │ │ │ ├── admin-extra.menu-bottom.html │ │ │ │ ├── admin-extra.menu-top.html │ │ │ │ ├── elevate.xml │ │ │ │ ├── enumsConfig.xml │ │ │ │ ├── managed-schema │ │ │ │ └── solrconfig.xml │ │ ├── hadoop_logs │ │ │ └── conf │ │ │ │ ├── admin-extra.html │ │ │ │ ├── admin-extra.menu-bottom.html │ │ │ │ ├── admin-extra.menu-top.html │ │ │ │ ├── elevate.xml │ │ │ │ ├── enumsConfig.xml │ │ │ │ ├── managed-schema │ │ │ │ └── solrconfig.xml │ │ ├── logsearch_metadata │ │ │ └── conf │ │ │ │ ├── admin-extra.html │ │ │ │ ├── admin-extra.menu-bottom.html │ │ │ │ ├── admin-extra.menu-top.html │ │ │ │ ├── elevate.xml │ │ │ │ ├── managed-schema │ │ │ │ └── solrconfig.xml │ │ └── solr.xml │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── ambari │ │ │ └── logsearch │ │ │ ├── LogSearch.java │ │ │ ├── auth │ │ │ ├── filter │ │ │ │ └── AbstractJWTFilter.java │ │ │ └── model │ │ │ │ └── JWTAuthenticationToken.java │ │ │ ├── common │ │ │ ├── ACLPropertiesSplitter.java │ │ │ ├── ApiDocStorage.java │ │ │ ├── ExternalServerClient.java │ │ │ ├── LabelFallbackHandler.java │ │ │ ├── LogSearchConstants.java │ │ │ ├── LogSearchContext.java │ │ │ ├── LogSearchLdapAuthorityMapper.java │ │ │ ├── LogType.java │ │ │ ├── ManageStartEndTime.java │ │ │ ├── Marker.java │ │ │ ├── MessageData.java │ │ │ ├── MessageEnums.java │ │ │ ├── PropertiesSplitter.java │ │ │ └── StatusMessage.java │ │ │ ├── conf │ │ │ ├── ApiDocConfig.java │ │ │ ├── ApplicationConfig.java │ │ │ ├── AuthPropsConfig.java │ │ │ ├── LogSearchConfigApiConfig.java │ │ │ ├── LogSearchConfigMapHolder.java │ │ │ ├── LogSearchHttpConfig.java │ │ │ ├── LogSearchHttpHeaderConfig.java │ │ │ ├── LogSearchJerseyResourceConfig.java │ │ │ ├── LogSearchLdapAuthConfig.java │ │ │ ├── LogSearchServletConfig.java │ │ │ ├── LogSearchSessionConfig.java │ │ │ ├── LogSearchSpnegoConfig.java │ │ │ ├── LogSearchSslConfig.java │ │ │ ├── LogSearchWebServerCustomizer.java │ │ │ ├── SecurityConfig.java │ │ │ ├── SolrAuditLogPropsConfig.java │ │ │ ├── SolrClientsHolder.java │ │ │ ├── SolrConfig.java │ │ │ ├── SolrConnectionPropsConfig.java │ │ │ ├── SolrKerberosConfig.java │ │ │ ├── SolrMetadataPropsConfig.java │ │ │ ├── SolrPropsConfig.java │ │ │ ├── SolrServiceLogPropsConfig.java │ │ │ ├── StaticResourceConfiguration.java │ │ │ ├── UIMappingConfig.java │ │ │ └── global │ │ │ │ ├── LogLevelFilterManagerState.java │ │ │ │ ├── LogSearchConfigState.java │ │ │ │ ├── SolrAuditLogsState.java │ │ │ │ ├── SolrCollectionState.java │ │ │ │ ├── SolrMetadataState.java │ │ │ │ └── SolrServiceLogsState.java │ │ │ ├── configurer │ │ │ ├── Configurer.java │ │ │ ├── LogLevelManagerFilterConfigurer.java │ │ │ ├── LogSearchConfigConfigurer.java │ │ │ ├── SolrAuditAliasConfigurer.java │ │ │ ├── SolrCollectionConfigurer.java │ │ │ └── SslConfigurer.java │ │ │ ├── converter │ │ │ ├── AbstractAuditLogRequestQueryConverter.java │ │ │ ├── AbstractConverterAware.java │ │ │ ├── AbstractDateRangeFacetQueryConverter.java │ │ │ ├── AbstractLogRequestFacetQueryConverter.java │ │ │ ├── AbstractLogRequestQueryConverter.java │ │ │ ├── AbstractOperationHolderConverter.java │ │ │ ├── AbstractSearchRequestQueryConverter.java │ │ │ ├── AbstractServiceLogRequestFacetQueryConverter.java │ │ │ ├── AbstractServiceLogRequestQueryConverter.java │ │ │ ├── AuditBarGraphRequestQueryConverter.java │ │ │ ├── AuditComponentsRequestQueryConverter.java │ │ │ ├── AuditLogRequestQueryConverter.java │ │ │ ├── AuditServiceLoadRequestQueryConverter.java │ │ │ ├── BaseServiceLogRequestQueryConverter.java │ │ │ ├── FieldAuditLogRequestQueryConverter.java │ │ │ ├── HostLogFilesRequestQueryConverter.java │ │ │ ├── MetadataRequestQueryConverter.java │ │ │ ├── ServiceLogAnyGraphRequestQueryConverter.java │ │ │ ├── ServiceLogComponentLevelRequestQueryConverter.java │ │ │ ├── ServiceLogComponentRequestFacetQueryConverter.java │ │ │ ├── ServiceLogLevelCountRequestQueryConverter.java │ │ │ ├── ServiceLogLevelDateRangeRequestQueryConverter.java │ │ │ ├── ServiceLogTreeRequestFacetQueryConverter.java │ │ │ ├── ServiceLogTruncatedRequestQueryConverter.java │ │ │ ├── StringFieldFacetQueryConverter.java │ │ │ ├── TopFieldAuditLogRequestQueryConverter.java │ │ │ └── UserExportRequestQueryConverter.java │ │ │ ├── dao │ │ │ ├── AuditSolrDao.java │ │ │ ├── MetadataSolrDao.java │ │ │ ├── RoleDao.java │ │ │ ├── ServiceLogsSolrDao.java │ │ │ ├── SolrDaoBase.java │ │ │ ├── SolrSchemaFieldDao.java │ │ │ └── UserDao.java │ │ │ ├── doc │ │ │ └── DocConstants.java │ │ │ ├── handler │ │ │ ├── ACLHandler.java │ │ │ ├── AbstractSolrConfigHandler.java │ │ │ ├── CreateCollectionHandler.java │ │ │ ├── ListCollectionHandler.java │ │ │ ├── ReloadCollectionHandler.java │ │ │ ├── SolrZkRequestHandler.java │ │ │ └── UploadConfigurationHandler.java │ │ │ ├── health │ │ │ ├── AbstractSolrHealthIndicator.java │ │ │ ├── SolrAuditLogsHealthIndicator.java │ │ │ ├── SolrMetadataHealthIndicator.java │ │ │ └── SolrServiceLogsHealthIndicator.java │ │ │ ├── manager │ │ │ ├── AlreadyExistsException.java │ │ │ ├── AuditLogsManager.java │ │ │ ├── InfoManager.java │ │ │ ├── JsonManagerBase.java │ │ │ ├── MalformedInputException.java │ │ │ ├── ManagerBase.java │ │ │ ├── MetadataManager.java │ │ │ ├── NotFoundException.java │ │ │ ├── ServiceLogsManager.java │ │ │ ├── SessionManager.java │ │ │ ├── ShipperConfigManager.java │ │ │ └── UnsupportedFormatException.java │ │ │ ├── model │ │ │ ├── common │ │ │ │ ├── LSServerConditions.java │ │ │ │ ├── LSServerFields.java │ │ │ │ ├── LSServerFilter.java │ │ │ │ ├── LSServerFilterDeserializer.java │ │ │ │ ├── LSServerFilterGrok.java │ │ │ │ ├── LSServerFilterJson.java │ │ │ │ ├── LSServerFilterKeyValue.java │ │ │ │ ├── LSServerInput.java │ │ │ │ ├── LSServerInputConfig.java │ │ │ │ ├── LSServerInputDeserializer.java │ │ │ │ ├── LSServerInputFile.java │ │ │ │ ├── LSServerInputFileBase.java │ │ │ │ ├── LSServerInputS3File.java │ │ │ │ ├── LSServerInputSocket.java │ │ │ │ ├── LSServerLogLevelFilter.java │ │ │ │ ├── LSServerLogLevelFilterMap.java │ │ │ │ ├── LSServerMapDate.java │ │ │ │ ├── LSServerMapField.java │ │ │ │ ├── LSServerMapFieldAnonymize.java │ │ │ │ ├── LSServerMapFieldCopy.java │ │ │ │ ├── LSServerMapFieldName.java │ │ │ │ ├── LSServerMapFieldValue.java │ │ │ │ ├── LSServerPostMapValues.java │ │ │ │ ├── LSServerPostMapValuesList.java │ │ │ │ ├── LSServerPostMapValuesListDeserializer.java │ │ │ │ └── LSServerPostMapValuesListSerializer.java │ │ │ ├── metadata │ │ │ │ ├── AuditFieldMetadataResponse.java │ │ │ │ ├── ComponentMetadata.java │ │ │ │ ├── FieldMetadata.java │ │ │ │ ├── Filterable.java │ │ │ │ ├── Groupable.java │ │ │ │ ├── Labelable.java │ │ │ │ ├── Metadata.java │ │ │ │ ├── ServiceComponentMetadataWrapper.java │ │ │ │ └── Visible.java │ │ │ ├── request │ │ │ │ ├── AnyGraphParamDefinition.java │ │ │ │ ├── BundleIdParamDefinition.java │ │ │ │ ├── ClustersParamDefinition.java │ │ │ │ ├── CommonSearchParamDefinition.java │ │ │ │ ├── DateRangeParamDefinition.java │ │ │ │ ├── FieldParamDefinition.java │ │ │ │ ├── FormatParamDefinition.java │ │ │ │ ├── HostComponentParamDefinition.java │ │ │ │ ├── LastPageParamDefinition.java │ │ │ │ ├── LogParamDefinition.java │ │ │ │ ├── LogTruncatedParamDefinition.java │ │ │ │ ├── MetadataParamDefinition.java │ │ │ │ ├── SearchRequest.java │ │ │ │ ├── ServiceLogParamDefinition.java │ │ │ │ ├── ServiceLogSearchParamDefinition.java │ │ │ │ ├── ShipperConfigTestParams.java │ │ │ │ ├── TopParamDefinition.java │ │ │ │ ├── UnitParamDefinition.java │ │ │ │ ├── UserParamDefinition.java │ │ │ │ ├── UtcOffsetParamDefinition.java │ │ │ │ └── impl │ │ │ │ │ ├── AuditBarGraphRequest.java │ │ │ │ │ ├── AuditComponentRequest.java │ │ │ │ │ ├── AuditLogRequest.java │ │ │ │ │ ├── AuditServiceLoadRequest.java │ │ │ │ │ ├── BaseLogRequest.java │ │ │ │ │ ├── BaseServiceLogRequest.java │ │ │ │ │ ├── CommonSearchRequest.java │ │ │ │ │ ├── FieldAuditBarGraphRequest.java │ │ │ │ │ ├── FieldAuditLogRequest.java │ │ │ │ │ ├── HostLogFilesRequest.java │ │ │ │ │ ├── MetadataRequest.java │ │ │ │ │ ├── ServiceAnyGraphRequest.java │ │ │ │ │ ├── ServiceGraphRequest.java │ │ │ │ │ ├── ServiceLogAggregatedInfoRequest.java │ │ │ │ │ ├── ServiceLogComponentHostRequest.java │ │ │ │ │ ├── ServiceLogComponentLevelRequest.java │ │ │ │ │ ├── ServiceLogExportRequest.java │ │ │ │ │ ├── ServiceLogHostComponentRequest.java │ │ │ │ │ ├── ServiceLogLevelCountRequest.java │ │ │ │ │ ├── ServiceLogRequest.java │ │ │ │ │ ├── ServiceLogTruncatedRequest.java │ │ │ │ │ ├── ShipperConfigTestRequest.java │ │ │ │ │ ├── TopFieldAuditLogRequest.java │ │ │ │ │ ├── UserExportRequest.java │ │ │ │ │ ├── body │ │ │ │ │ ├── AuditBarGraphBodyRequest.java │ │ │ │ │ ├── AuditComponentBodyRequest.java │ │ │ │ │ ├── AuditLogBodyRequest.java │ │ │ │ │ ├── AuditServiceLoadBodyRequest.java │ │ │ │ │ ├── BaseLogBodyRequest.java │ │ │ │ │ ├── BaseServiceLogBodyRequest.java │ │ │ │ │ ├── ClusterBodyRequest.java │ │ │ │ │ ├── CommonSearchBodyRequest.java │ │ │ │ │ ├── FieldAuditBarGraphBodyRequest.java │ │ │ │ │ ├── FieldAuditLogBodyRequest.java │ │ │ │ │ ├── HostLogFilesBodyRequest.java │ │ │ │ │ ├── ServiceAnyGraphBodyRequest.java │ │ │ │ │ ├── ServiceGraphBodyRequest.java │ │ │ │ │ ├── ServiceLogAggregatedInfoBodyRequest.java │ │ │ │ │ ├── ServiceLogBodyRequest.java │ │ │ │ │ ├── ServiceLogComponentHostBodyRequest.java │ │ │ │ │ ├── ServiceLogComponentLevelBodyRequest.java │ │ │ │ │ ├── ServiceLogExportBodyRequest.java │ │ │ │ │ ├── ServiceLogHostComponentBodyRequest.java │ │ │ │ │ ├── ServiceLogLevelCountBodyRequest.java │ │ │ │ │ ├── ServiceLogTruncatedBodyRequest.java │ │ │ │ │ ├── TopFieldAuditLogBodyRequest.java │ │ │ │ │ └── UserExportBodyRequest.java │ │ │ │ │ └── query │ │ │ │ │ ├── AuditBarGraphQueryRequest.java │ │ │ │ │ ├── AuditComponentQueryRequest.java │ │ │ │ │ ├── AuditLogQueryRequest.java │ │ │ │ │ ├── AuditServiceLoadQueryRequest.java │ │ │ │ │ ├── BaseLogQueryRequest.java │ │ │ │ │ ├── BaseServiceLogQueryRequest.java │ │ │ │ │ ├── CommonSearchQueryRequest.java │ │ │ │ │ ├── FieldAuditBarGraphQueryRequest.java │ │ │ │ │ ├── FieldAuditLogQueryRequest.java │ │ │ │ │ ├── HostLogFilesQueryRequest.java │ │ │ │ │ ├── MetadataQueryRequest.java │ │ │ │ │ ├── ServiceAnyGraphQueryRequest.java │ │ │ │ │ ├── ServiceGraphQueryRequest.java │ │ │ │ │ ├── ServiceLogAggregatedInfoQueryRequest.java │ │ │ │ │ ├── ServiceLogComponentHostQueryRequest.java │ │ │ │ │ ├── ServiceLogComponentLevelQueryRequest.java │ │ │ │ │ ├── ServiceLogExportQueryRequest.java │ │ │ │ │ ├── ServiceLogHostComponentQueryRequest.java │ │ │ │ │ ├── ServiceLogLevelCountQueryRequest.java │ │ │ │ │ ├── ServiceLogQueryRequest.java │ │ │ │ │ ├── ServiceLogTruncatedQueryRequest.java │ │ │ │ │ ├── TopFieldAuditLogQueryRequest.java │ │ │ │ │ └── UserExportQueryRequest.java │ │ │ └── response │ │ │ │ ├── AuditLogData.java │ │ │ │ ├── AuditLogResponse.java │ │ │ │ ├── BarGraphData.java │ │ │ │ ├── BarGraphDataListResponse.java │ │ │ │ ├── CommonLogData.java │ │ │ │ ├── ComponentTypeLogData.java │ │ │ │ ├── CountData.java │ │ │ │ ├── CountDataListResponse.java │ │ │ │ ├── GraphData.java │ │ │ │ ├── GraphDataListResponse.java │ │ │ │ ├── GroupListResponse.java │ │ │ │ ├── HostLogData.java │ │ │ │ ├── HostLogFilesResponse.java │ │ │ │ ├── LogData.java │ │ │ │ ├── LogFileData.java │ │ │ │ ├── LogFileDataListResponse.java │ │ │ │ ├── LogListResponse.java │ │ │ │ ├── LogSearchResponse.java │ │ │ │ ├── LogsearchMetaData.java │ │ │ │ ├── NameValueData.java │ │ │ │ ├── NameValueDataListResponse.java │ │ │ │ ├── NodeData.java │ │ │ │ ├── NodeListResponse.java │ │ │ │ ├── SearchResponse.java │ │ │ │ ├── ServiceLogData.java │ │ │ │ ├── ServiceLogResponse.java │ │ │ │ └── TemplateData.java │ │ │ ├── rest │ │ │ ├── AuditLogsResource.java │ │ │ ├── InfoResource.java │ │ │ ├── MetadataResource.java │ │ │ ├── ServiceLogsResource.java │ │ │ ├── ShipperConfigResource.java │ │ │ ├── StatusResource.java │ │ │ ├── SwaggerResource.java │ │ │ └── error │ │ │ │ ├── GeneralExceptionMapper.java │ │ │ │ └── SolrExceptionMapper.java │ │ │ ├── service │ │ │ └── UserService.java │ │ │ ├── solr │ │ │ ├── ResponseDataGenerator.java │ │ │ ├── SolrConstants.java │ │ │ └── model │ │ │ │ ├── SolrAuditLogData.java │ │ │ │ ├── SolrCommonLogData.java │ │ │ │ ├── SolrComponentTypeLogData.java │ │ │ │ ├── SolrHostLogData.java │ │ │ │ └── SolrServiceLogData.java │ │ │ ├── util │ │ │ ├── DateUtil.java │ │ │ ├── DownloadUtil.java │ │ │ ├── FileUtil.java │ │ │ ├── JSONUtil.java │ │ │ └── SolrUtil.java │ │ │ └── web │ │ │ ├── authenticate │ │ │ ├── LogsearchAuthFailureHandler.java │ │ │ ├── LogsearchAuthSuccessHandler.java │ │ │ └── LogsearchLogoutSuccessHandler.java │ │ │ ├── filters │ │ │ ├── ConfigStateProvider.java │ │ │ ├── GlobalStateProvider.java │ │ │ ├── LogsearchAuthenticationEntryPoint.java │ │ │ ├── LogsearchCorsFilter.java │ │ │ ├── LogsearchFilter.java │ │ │ ├── LogsearchJWTFilter.java │ │ │ ├── LogsearchKRBAuthenticationFilter.java │ │ │ ├── LogsearchKrbFilter.java │ │ │ ├── LogsearchSecurityContextFormationFilter.java │ │ │ ├── LogsearchTrustedProxyFilter.java │ │ │ ├── LogsearchUsernamePasswordAuthenticationFilter.java │ │ │ ├── NoServletContext.java │ │ │ └── StatusProvider.java │ │ │ ├── listener │ │ │ └── LogSearchSessionListener.java │ │ │ ├── model │ │ │ ├── Privilege.java │ │ │ ├── Role.java │ │ │ └── User.java │ │ │ └── security │ │ │ ├── LogsearchAbstractAuthenticationProvider.java │ │ │ ├── LogsearchAuthenticationProvider.java │ │ │ ├── LogsearchExternalServerAuthenticationProvider.java │ │ │ ├── LogsearchFileAuthenticationProvider.java │ │ │ ├── LogsearchLdapAuthenticationProvider.java │ │ │ └── LogsearchSimpleAuthenticationProvider.java │ ├── resources │ │ ├── default.properties │ │ ├── info.properties │ │ ├── log4j2.yml │ │ ├── logsearch.properties │ │ ├── roles.json │ │ ├── swagger │ │ │ └── swagger.html │ │ ├── templates │ │ │ ├── audit_log_txt.ftl │ │ │ └── service_log_txt.ftl │ │ └── user_pass.json │ └── scripts │ │ ├── logsearch-env.sh │ │ └── logsearch.sh │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── ambari │ │ └── logsearch │ │ ├── common │ │ ├── LabelFallbackHandlerTest.java │ │ ├── LogSearchContextUtilTest.java │ │ ├── LogSearchLdapAuthorityMapperTest.java │ │ ├── ManageStartEndTimeTest.java │ │ └── PropertiesSplitterTest.java │ │ ├── converter │ │ ├── AbstractRequestConverterTest.java │ │ ├── AuditBarGraphRequestQueryConverterTest.java │ │ ├── AuditComponentRequestQueryConverterTest.java │ │ ├── AuditLogRequestConverterTest.java │ │ ├── AuditServiceLoadRequestQueryConverterTest.java │ │ ├── BaseServiceLogRequestQueryConverterTest.java │ │ ├── FieldAuditLogRequestQueryConverterTest.java │ │ ├── HostLogFilesRequestQueryConverterTest.java │ │ ├── MetadataRequestQueryConverterTest.java │ │ ├── ServiceLogAnyGraphRequestConverterTest.java │ │ ├── ServiceLogComponentLevelRequestQueryConverterTest.java │ │ ├── ServiceLogComponentRequestFacetQueryConverterTest.java │ │ ├── ServiceLogLevelCountRequestQueryConverterTest.java │ │ ├── ServiceLogLevelDateRangeRequestQueryConverterTest.java │ │ ├── ServiceLogTreeRequestFacetQueryConverterTest.java │ │ ├── ServiceLogTruncatedRequestQueryConverterTest.java │ │ ├── StringFieldFacetQueryConverterTest.java │ │ ├── TopFieldAuditLogRequestQueryConverterTest.java │ │ └── UserExportRequestQueryConverterTest.java │ │ ├── dao │ │ └── RoleDaoTest.java │ │ ├── rest │ │ └── error │ │ │ └── GeneralExceptionMapperTest.java │ │ └── web │ │ ├── filters │ │ ├── GlobalStateTest.java │ │ └── LogsearchFilterTest.java │ │ └── security │ │ ├── LogsearchAuthenticationProviderTest.java │ │ ├── LogsearchExternalServerAuthenticationProviderTest.java │ │ ├── LogsearchFileAuthenticationProviderTest.java │ │ └── LogsearchSimpleAuthenticationProviderTest.java │ └── resources │ ├── log4j2-test.xml │ ├── logsearch.properties │ └── user_pass.json ├── ambari-logsearch-web ├── .angular-cli.json ├── .editorconfig ├── .gitignore ├── README.md ├── e2e │ ├── app.e2e-spec.ts │ ├── app.po.ts │ └── tsconfig.e2e.json ├── karma.conf.js ├── package.json ├── pom.xml ├── protractor.conf.js ├── src │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app.module.ts │ │ ├── classes │ │ │ ├── active-service-log-entry.ts │ │ │ ├── components │ │ │ │ ├── graph │ │ │ │ │ ├── graph.component.less │ │ │ │ │ ├── graph.component.ts │ │ │ │ │ ├── time-graph.component.less │ │ │ │ │ └── time-graph.component.ts │ │ │ │ └── logs-table │ │ │ │ │ ├── logs-table-component.spec.ts │ │ │ │ │ └── logs-table-component.ts │ │ │ ├── filtering.ts │ │ │ ├── graph.ts │ │ │ ├── list-item.ts │ │ │ ├── models │ │ │ │ ├── app-settings.ts │ │ │ │ ├── app-state.ts │ │ │ │ ├── audit-log.ts │ │ │ │ ├── bar-graph.ts │ │ │ │ ├── common-entry.ts │ │ │ │ ├── count.ts │ │ │ │ ├── filter-url-param-change.interface.ts │ │ │ │ ├── filter.ts │ │ │ │ ├── graph.ts │ │ │ │ ├── log-type-tab.ts │ │ │ │ ├── log.ts │ │ │ │ ├── logs-state.ts │ │ │ │ ├── node-group.ts │ │ │ │ ├── node-item.ts │ │ │ │ ├── service-log.ts │ │ │ │ ├── solr-collection-state.ts │ │ │ │ ├── store.ts │ │ │ │ ├── user-config.ts │ │ │ │ └── user.ts │ │ │ ├── object.ts │ │ │ ├── queries │ │ │ │ ├── audit-logs-graph-query-params.spec.ts │ │ │ │ ├── audit-logs-graph-query-params.ts │ │ │ │ ├── audit-logs-query-params.ts │ │ │ │ ├── audit-logs-top-resources-query-params.ts │ │ │ │ ├── logs-query-params.ts │ │ │ │ ├── query-params.ts │ │ │ │ ├── service-logs-histogram-query-params.ts │ │ │ │ ├── service-logs-query-params.ts │ │ │ │ └── service-logs-truncated-query-params.ts │ │ │ ├── service-injector.ts │ │ │ ├── service-log-context-entry.ts │ │ │ ├── settings.ts │ │ │ └── string.ts │ │ ├── components │ │ │ ├── accordion-panel │ │ │ │ ├── accordion-panel.component.html │ │ │ │ ├── accordion-panel.component.less │ │ │ │ ├── accordion-panel.component.spec.ts │ │ │ │ └── accordion-panel.component.ts │ │ │ ├── action-menu │ │ │ │ ├── action-menu.component.html │ │ │ │ ├── action-menu.component.less │ │ │ │ ├── action-menu.component.spec.ts │ │ │ │ └── action-menu.component.ts │ │ │ ├── app.component.html │ │ │ ├── app.component.less │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── audit-logs-entries │ │ │ │ ├── audit-logs-entries.component.html │ │ │ │ ├── audit-logs-entries.component.less │ │ │ │ ├── audit-logs-entries.component.spec.ts │ │ │ │ └── audit-logs-entries.component.ts │ │ │ ├── audit-logs-table │ │ │ │ ├── audit-logs-table.component.html │ │ │ │ ├── audit-logs-table.component.less │ │ │ │ ├── audit-logs-table.component.spec.ts │ │ │ │ └── audit-logs-table.component.ts │ │ │ ├── breadrumbs │ │ │ │ ├── breadcrumbs.component.html │ │ │ │ ├── breadcrumbs.component.less │ │ │ │ ├── breadcrumbs.component.spec.ts │ │ │ │ └── breadcrumbs.component.ts │ │ │ ├── cluster-filter │ │ │ │ ├── cluster-filter.component.html │ │ │ │ ├── cluster-filter.component.less │ │ │ │ ├── cluster-filter.component.spec.ts │ │ │ │ └── cluster-filter.component.ts │ │ │ ├── collapsible-panel │ │ │ │ ├── collapsible-panel.component.html │ │ │ │ ├── collapsible-panel.component.less │ │ │ │ ├── collapsible-panel.component.spec.ts │ │ │ │ └── collapsible-panel.component.ts │ │ │ ├── context-menu │ │ │ │ ├── context-menu.component.html │ │ │ │ ├── context-menu.component.less │ │ │ │ ├── context-menu.component.spec.ts │ │ │ │ └── context-menu.component.ts │ │ │ ├── date-picker │ │ │ │ ├── date-picker.component.html │ │ │ │ ├── date-picker.component.spec.ts │ │ │ │ └── date-picker.component.ts │ │ │ ├── filter-button │ │ │ │ ├── filter-button.component.spec.ts │ │ │ │ └── filter-button.component.ts │ │ │ ├── filter-history-manager │ │ │ │ ├── filter-history-manager.component.html │ │ │ │ ├── filter-history-manager.component.less │ │ │ │ ├── filter-history-manager.component.spec.ts │ │ │ │ └── filter-history-manager.component.ts │ │ │ ├── filters-panel │ │ │ │ ├── filters-panel.component.html │ │ │ │ ├── filters-panel.component.less │ │ │ │ ├── filters-panel.component.spec.ts │ │ │ │ └── filters-panel.component.ts │ │ │ ├── graph-legend-item │ │ │ │ ├── graph-legend-item.component.html │ │ │ │ ├── graph-legend-item.component.less │ │ │ │ ├── graph-legend-item.component.spec.ts │ │ │ │ └── graph-legend-item.component.ts │ │ │ ├── graph-legend │ │ │ │ ├── graph-legend.component.html │ │ │ │ ├── graph-legend.component.spec.ts │ │ │ │ └── graph-legend.component.ts │ │ │ ├── graph-tooltip │ │ │ │ ├── graph-tooltip.component.html │ │ │ │ ├── graph-tooltip.component.less │ │ │ │ ├── graph-tooltip.component.spec.ts │ │ │ │ └── graph-tooltip.component.ts │ │ │ ├── history-item-controls │ │ │ │ ├── history-item-controls.component.html │ │ │ │ ├── history-item-controls.component.less │ │ │ │ ├── history-item-controls.component.spec.ts │ │ │ │ └── history-item-controls.component.ts │ │ │ ├── horizontal-histogram │ │ │ │ ├── horizontal-histogram.component.html │ │ │ │ ├── horizontal-histogram.component.less │ │ │ │ ├── horizontal-histogram.component.spec.ts │ │ │ │ └── horizontal-histogram.component.ts │ │ │ ├── log-context │ │ │ │ ├── log-context.component.html │ │ │ │ ├── log-context.component.less │ │ │ │ ├── log-context.component.spec.ts │ │ │ │ └── log-context.component.ts │ │ │ ├── log-file-entry │ │ │ │ ├── log-file-entry.component.html │ │ │ │ ├── log-file-entry.component.less │ │ │ │ ├── log-file-entry.component.spec.ts │ │ │ │ └── log-file-entry.component.ts │ │ │ ├── log-index-filter │ │ │ │ ├── log-index-filter.component.html │ │ │ │ ├── log-index-filter.component.less │ │ │ │ ├── log-index-filter.component.spec.ts │ │ │ │ └── log-index-filter.component.ts │ │ │ ├── log-level │ │ │ │ ├── log-level.component.html │ │ │ │ ├── log-level.component.spec.ts │ │ │ │ └── log-level.component.ts │ │ │ ├── log-message │ │ │ │ ├── log-message.component.html │ │ │ │ ├── log-message.component.less │ │ │ │ ├── log-message.component.spec.ts │ │ │ │ └── log-message.component.ts │ │ │ ├── login-form │ │ │ │ ├── login-form.component.html │ │ │ │ ├── login-form.component.less │ │ │ │ ├── login-form.component.spec.ts │ │ │ │ └── login-form.component.ts │ │ │ ├── logs-container │ │ │ │ ├── logs-container.component.html │ │ │ │ ├── logs-container.component.less │ │ │ │ ├── logs-container.component.spec.ts │ │ │ │ └── logs-container.component.ts │ │ │ ├── main-container │ │ │ │ ├── main-container.component.html │ │ │ │ ├── main-container.component.spec.ts │ │ │ │ └── main-container.component.ts │ │ │ ├── menu-button │ │ │ │ ├── menu-button.component.html │ │ │ │ ├── menu-button.component.less │ │ │ │ ├── menu-button.component.spec.ts │ │ │ │ └── menu-button.component.ts │ │ │ ├── node-bar │ │ │ │ ├── node-bar.component.html │ │ │ │ ├── node-bar.component.less │ │ │ │ ├── node-bar.component.spec.ts │ │ │ │ └── node-bar.component.ts │ │ │ ├── pagination-controls │ │ │ │ ├── pagination-controls.component.html │ │ │ │ ├── pagination-controls.component.less │ │ │ │ ├── pagination-controls.component.spec.ts │ │ │ │ └── pagination-controls.component.ts │ │ │ ├── pagination │ │ │ │ ├── pagination.component.html │ │ │ │ ├── pagination.component.less │ │ │ │ ├── pagination.component.spec.ts │ │ │ │ └── pagination.component.ts │ │ │ ├── search-box │ │ │ │ ├── search-box.component.html │ │ │ │ ├── search-box.component.less │ │ │ │ ├── search-box.component.spec.ts │ │ │ │ └── search-box.component.ts │ │ │ ├── service-logs-table │ │ │ │ ├── service-logs-table.component.html │ │ │ │ ├── service-logs-table.component.less │ │ │ │ ├── service-logs-table.component.spec.ts │ │ │ │ └── service-logs-table.component.ts │ │ │ ├── tabs │ │ │ │ ├── tabs.component.html │ │ │ │ ├── tabs.component.less │ │ │ │ ├── tabs.component.spec.ts │ │ │ │ └── tabs.component.ts │ │ │ ├── time-histogram │ │ │ │ ├── time-histogram.component.html │ │ │ │ ├── time-histogram.component.less │ │ │ │ ├── time-histogram.component.spec.ts │ │ │ │ └── time-histogram.component.ts │ │ │ ├── time-line-graph │ │ │ │ ├── time-line-graph.component.html │ │ │ │ ├── time-line-graph.component.less │ │ │ │ ├── time-line-graph.component.spec.ts │ │ │ │ └── time-line-graph.component.ts │ │ │ ├── time-range-picker │ │ │ │ ├── time-range-picker.component.html │ │ │ │ ├── time-range-picker.component.less │ │ │ │ ├── time-range-picker.component.spec.ts │ │ │ │ └── time-range-picker.component.ts │ │ │ ├── timezone-picker │ │ │ │ ├── timezone-picker.component.html │ │ │ │ ├── timezone-picker.component.less │ │ │ │ ├── timezone-picker.component.spec.ts │ │ │ │ └── timezone-picker.component.ts │ │ │ └── top-menu │ │ │ │ ├── top-menu.component.html │ │ │ │ ├── top-menu.component.less │ │ │ │ ├── top-menu.component.spec.ts │ │ │ │ └── top-menu.component.ts │ │ ├── modules │ │ │ ├── app-load │ │ │ │ ├── app-load.module.ts │ │ │ │ ├── models │ │ │ │ │ └── data-availability-state.model.ts │ │ │ │ ├── services │ │ │ │ │ └── app-load.service.ts │ │ │ │ └── stores │ │ │ │ │ └── data-availability-state.store.ts │ │ │ ├── shared │ │ │ │ ├── animations.less │ │ │ │ ├── components │ │ │ │ │ ├── circle-progress-bar │ │ │ │ │ │ ├── circle-progress-bar.component.html │ │ │ │ │ │ ├── circle-progress-bar.component.less │ │ │ │ │ │ ├── circle-progress-bar.component.spec.ts │ │ │ │ │ │ └── circle-progress-bar.component.ts │ │ │ │ │ ├── data-loading-indicator │ │ │ │ │ │ ├── data-loading-indicator.component.html │ │ │ │ │ │ ├── data-loading-indicator.component.less │ │ │ │ │ │ ├── data-loading-indicator.component.spec.ts │ │ │ │ │ │ └── data-loading-indicator.component.ts │ │ │ │ │ ├── dropdown-button │ │ │ │ │ │ ├── dropdown-button.component.html │ │ │ │ │ │ ├── dropdown-button.component.less │ │ │ │ │ │ ├── dropdown-button.component.spec.ts │ │ │ │ │ │ └── dropdown-button.component.ts │ │ │ │ │ ├── dropdown-list │ │ │ │ │ │ ├── dropdown-list.component.html │ │ │ │ │ │ ├── dropdown-list.component.less │ │ │ │ │ │ ├── dropdown-list.component.spec.ts │ │ │ │ │ │ └── dropdown-list.component.ts │ │ │ │ │ ├── filter-dropdown │ │ │ │ │ │ ├── filter-dropdown.component.spec.ts │ │ │ │ │ │ └── filter-dropdown.component.ts │ │ │ │ │ ├── loading-indicator │ │ │ │ │ │ ├── loading-indicator.component.html │ │ │ │ │ │ ├── loading-indicator.component.less │ │ │ │ │ │ ├── loading-indicator.component.spec.ts │ │ │ │ │ │ └── loading-indicator.component.ts │ │ │ │ │ ├── modal-dialog │ │ │ │ │ │ ├── modal-dialog.component.html │ │ │ │ │ │ ├── modal-dialog.component.less │ │ │ │ │ │ ├── modal-dialog.component.spec.ts │ │ │ │ │ │ └── modal-dialog.component.ts │ │ │ │ │ ├── modal │ │ │ │ │ │ ├── modal.component.html │ │ │ │ │ │ ├── modal.component.less │ │ │ │ │ │ ├── modal.component.spec.ts │ │ │ │ │ │ └── modal.component.ts │ │ │ │ │ ├── time-zone-map-input │ │ │ │ │ │ ├── time-zone-map-input.component.html │ │ │ │ │ │ ├── time-zone-map-input.component.less │ │ │ │ │ │ ├── time-zone-map-input.component.spec.ts │ │ │ │ │ │ ├── time-zone-map-input.component.ts │ │ │ │ │ │ └── time-zone-map-input.data.ts │ │ │ │ │ └── user-settings │ │ │ │ │ │ ├── user-settings.component.html │ │ │ │ │ │ ├── user-settings.component.less │ │ │ │ │ │ ├── user-settings.component.spec.ts │ │ │ │ │ │ └── user-settings.component.ts │ │ │ │ ├── dashrows.less │ │ │ │ ├── directives │ │ │ │ │ └── disable-control.directive.ts │ │ │ │ ├── forms.less │ │ │ │ ├── interfaces │ │ │ │ │ ├── api-endpoint-descriptor.ts │ │ │ │ │ ├── notification.interface.ts │ │ │ │ │ └── timezone.ts │ │ │ │ ├── main.less │ │ │ │ ├── mixins.less │ │ │ │ ├── notifications.less │ │ │ │ ├── services │ │ │ │ │ ├── can-deactivate-guard.service.spec.ts │ │ │ │ │ ├── can-deactivate-guard.service.ts │ │ │ │ │ └── notification.service.ts │ │ │ │ ├── shared.module.ts │ │ │ │ └── variables.less │ │ │ └── shipper │ │ │ │ ├── components │ │ │ │ ├── shipper-cluster-service-list │ │ │ │ │ ├── shipper-cluster-service-list.component.html │ │ │ │ │ ├── shipper-cluster-service-list.component.less │ │ │ │ │ └── shipper-cluster-service-list.component.ts │ │ │ │ ├── shipper-configuration │ │ │ │ │ ├── shipper-configuration.component.html │ │ │ │ │ ├── shipper-configuration.component.less │ │ │ │ │ ├── shipper-configuration.component.spec.ts │ │ │ │ │ └── shipper-configuration.component.ts │ │ │ │ └── shipper-service-configuration-form │ │ │ │ │ ├── shipper-service-configuration-form.component.html │ │ │ │ │ ├── shipper-service-configuration-form.component.less │ │ │ │ │ └── shipper-service-configuration-form.component.ts │ │ │ │ ├── directives │ │ │ │ ├── validator.directive.spec.ts │ │ │ │ └── validator.directive.ts │ │ │ │ ├── interfaces │ │ │ │ └── shipper-cluster-information.ts │ │ │ │ ├── models │ │ │ │ ├── shipper-cluster-service-configuration.interface.ts │ │ │ │ ├── shipper-cluster-service-configuration.model.ts │ │ │ │ ├── shipper-cluster-service-validation.model.ts │ │ │ │ ├── shipper-cluster-service.type.ts │ │ │ │ ├── shipper-cluster.type.ts │ │ │ │ └── shipper-configuration.model.ts │ │ │ │ ├── services │ │ │ │ ├── shipper-cluster-service-list.service.spec.ts │ │ │ │ ├── shipper-cluster-service-list.service.ts │ │ │ │ ├── shipper-configuration.service.spec.ts │ │ │ │ ├── shipper-configuration.service.ts │ │ │ │ └── shipper.guard.ts │ │ │ │ ├── shipper-routing.module.ts │ │ │ │ ├── shipper.module.ts │ │ │ │ └── stores │ │ │ │ ├── shipper-configuration.store.ts │ │ │ │ └── shipper-service.store.ts │ │ ├── pipes │ │ │ ├── audit-log-field-label.pipe.ts │ │ │ ├── component-label.ts │ │ │ ├── host-name.pipe.ts │ │ │ ├── repo-label.ts │ │ │ ├── timer-seconds.pipe.spec.ts │ │ │ ├── timer-seconds.pipe.ts │ │ │ ├── timezone-abbr.pipe.spec.ts │ │ │ └── timezone-abbr.pipe.ts │ │ ├── services │ │ │ ├── api-feature.guard.ts │ │ │ ├── auth-guard.service.ts │ │ │ ├── auth.service.spec.ts │ │ │ ├── auth.service.ts │ │ │ ├── component-generator.service.spec.ts │ │ │ ├── component-generator.service.ts │ │ │ ├── filter-history.guard.ts │ │ │ ├── history-manager.service.spec.ts │ │ │ ├── history-manager.service.ts │ │ │ ├── http-client.service.spec.ts │ │ │ ├── http-client.service.ts │ │ │ ├── log-index-filter.service.spec.ts │ │ │ ├── log-index-filter.service.ts │ │ │ ├── login-screen-guard.service.ts │ │ │ ├── logs-breadcrumbs-resolver.service.spec.ts │ │ │ ├── logs-breadcrumbs-resolver.service.ts │ │ │ ├── logs-container.service.spec.ts │ │ │ ├── logs-container.service.ts │ │ │ ├── logs-filtering-utils.service.spec.ts │ │ │ ├── logs-filtering-utils.service.ts │ │ │ ├── meta-data-api-feature.guard.ts │ │ │ ├── mock-api-data.service.spec.ts │ │ │ ├── mock-api-data.service.ts │ │ │ ├── routing-utils.service.spec.ts │ │ │ ├── routing-utils.service.ts │ │ │ ├── server-settings.service.spec.ts │ │ │ ├── server-settings.service.ts │ │ │ ├── storage │ │ │ │ ├── app-settings.service.ts │ │ │ │ ├── app-state.service.ts │ │ │ │ ├── audit-logs-fields.service.ts │ │ │ │ ├── audit-logs-graph-data.service.ts │ │ │ │ ├── audit-logs.service.ts │ │ │ │ ├── cluster-selection.service.ts │ │ │ │ ├── clusters.service.ts │ │ │ │ ├── components.service.ts │ │ │ │ ├── graphs.service.ts │ │ │ │ ├── hosts.service.ts │ │ │ │ ├── logs-state.service.ts │ │ │ │ ├── reducers.service.ts │ │ │ │ ├── service-logs-fields.service.ts │ │ │ │ ├── service-logs-histogram-data.service.ts │ │ │ │ ├── service-logs-truncated.service.ts │ │ │ │ ├── service-logs.service.ts │ │ │ │ ├── tabs.service.ts │ │ │ │ └── user-configs.service.ts │ │ │ ├── tab.guard.spec.ts │ │ │ ├── tab.guard.ts │ │ │ ├── translate.service.spec.ts │ │ │ ├── translate.service.ts │ │ │ ├── user-settings.service.spec.ts │ │ │ ├── user-settings.service.ts │ │ │ ├── utils.service.spec.ts │ │ │ └── utils.service.ts │ │ ├── store │ │ │ ├── actions │ │ │ │ ├── api-features.actions.ts │ │ │ │ ├── audit-log-repos.actions.ts │ │ │ │ ├── auth.actions.ts │ │ │ │ ├── filter-history.actions.ts │ │ │ │ ├── notification.actions.ts │ │ │ │ └── user-settings.actions.ts │ │ │ ├── effects │ │ │ │ ├── api-features.effects.ts │ │ │ │ ├── audit-log-repos.effects.ts │ │ │ │ ├── auth.effects.ts │ │ │ │ ├── notification.effects.ts │ │ │ │ └── user-settings.effects.ts │ │ │ ├── reducers │ │ │ │ ├── api-features.reducers.ts │ │ │ │ ├── audit-log-repos.reducers.ts │ │ │ │ ├── auth.reducers.ts │ │ │ │ ├── filter-history.reducers.ts │ │ │ │ └── user-settings.reducers.ts │ │ │ └── selectors │ │ │ │ ├── api-features.selectors.ts │ │ │ │ ├── app-state.selectors.ts │ │ │ │ ├── audit-log-repos.selectors.ts │ │ │ │ ├── audit-logs-fields.selectors.ts │ │ │ │ ├── auth.selectors.ts │ │ │ │ ├── components.selectors.ts │ │ │ │ ├── data-availability.selectors.ts │ │ │ │ ├── filter-history.selectors.ts │ │ │ │ ├── hosts.selectors.ts │ │ │ │ ├── service-logs-fields.selectors.ts │ │ │ │ └── user-settings.selectors.ts │ │ └── test-config.spec.ts │ ├── assets │ │ ├── i18n │ │ │ └── en.json │ │ └── images │ │ │ └── ambari-logo.png │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── main.ts │ ├── mockdata │ │ ├── mock-data-common.ts │ │ ├── mock-data-get.ts │ │ ├── mock-data-post.ts │ │ └── mock-data-put.ts │ ├── polyfills.ts │ ├── styles.less │ ├── test.ts │ ├── tsconfig.app.json │ ├── tsconfig.spec.json │ ├── typings.d.ts │ └── vendor │ │ ├── css │ │ ├── bootstrap-datetimepicker.min.css │ │ ├── bootstrap-logsearch.min.css │ │ └── fonts │ │ │ ├── Roboto-Bold-webfont.eot │ │ │ ├── Roboto-Bold-webfont.svg │ │ │ ├── Roboto-Bold-webfont.ttf │ │ │ ├── Roboto-Bold-webfont.woff │ │ │ ├── Roboto-Regular-webfont.eot │ │ │ ├── Roboto-Regular-webfont.svg │ │ │ ├── Roboto-Regular-webfont.ttf │ │ │ └── Roboto-Regular-webfont.woff │ │ └── js │ │ ├── bootstrap-datetimepicker.min.js │ │ └── bootstrap-logsearch.min.js ├── tsconfig.json ├── tslint.json ├── webpack.config.js └── yarn.lock ├── docker ├── .gitignore ├── Dockerfile ├── all.yml ├── bin │ └── start.sh ├── cloud-docker-compose.yml ├── docker-compose.yml ├── knox.yml ├── knox │ ├── gateway.sh │ ├── keystores │ │ └── test-secrets.zip │ ├── ldap.sh │ ├── logsearch │ │ └── 1.0.0 │ │ │ ├── rewrite.xml │ │ │ └── service.xml │ └── topologies │ │ ├── admin.xml │ │ ├── knoxsso.xml │ │ └── sandbox.xml ├── logsearch-docker.sh ├── logsearch-logfeeder.yml ├── logsearch-server.yml ├── solr.yml ├── sso.yml ├── test-config │ ├── logfeeder │ │ ├── log4j.xml │ │ ├── log4j2.yml │ │ ├── logfeeder-env.sh │ │ ├── logfeeder.properties │ │ └── shipper-conf │ │ │ ├── global.config.json │ │ │ ├── input.config-ambari.json │ │ │ ├── input.config-grafana.json │ │ │ ├── input.config-hdfs.json │ │ │ ├── input.config-hst.json │ │ │ ├── input.config-logsearch-docker.json │ │ │ ├── input.config-logsearch.json │ │ │ ├── input.config-secure_log.json │ │ │ ├── input.config-storm.json │ │ │ ├── input.config-system_message.json │ │ │ ├── input.config-zookeeper.json │ │ │ └── output.config.json │ ├── logsearch │ │ ├── log4j.xml │ │ ├── log4j2.yml │ │ ├── logsearch-env.sh │ │ ├── logsearch-https.properties │ │ ├── logsearch-sso.properties │ │ └── logsearch.properties │ └── solr │ │ ├── log4j.properties │ │ ├── solr-env-ssl.sh │ │ ├── solr-env.sh │ │ ├── solr.xml │ │ └── zoo.cfg ├── test-logs │ ├── ambari-server │ │ └── ambari-audit.log │ ├── grafana │ │ └── grafana.log │ ├── hdfs-audit │ │ └── hdfs-audit.log │ ├── logsearch │ │ └── logsearch-test-log.json │ ├── secure_log │ │ └── secure-log.txt │ ├── smartsense │ │ └── hst-agent-test-log.txt │ ├── storm │ │ └── worker-logs │ │ │ └── streamline-1-TestAgg-2-3 │ │ │ ├── 6700 │ │ │ └── worker.log │ │ │ └── 6701 │ │ │ └── worker.log │ ├── system_message │ │ └── message_logs.txt │ └── zookeeper │ │ └── zookeeper-test-log.txt └── zookeeper.yml ├── docs ├── about.md ├── add_new_input.md ├── api-docs │ └── logsearch-swagger.yaml ├── cloud_mode.md ├── collections.md ├── development.md ├── docs.md ├── images │ ├── add_service.png │ ├── add_service_wizard.png │ ├── architecture_overview.jpg │ ├── edit_configs.jpg │ ├── test_sample.jpg │ └── test_sample_result.jpg ├── index.md ├── installation.md ├── logfeeder_properties.md ├── logsearch_properties.md └── shipper_configurations.md ├── jenkins └── containers │ ├── docker-logsearch-logfeeder │ ├── Dockerfile │ ├── bin │ │ ├── entrypoint.sh │ │ └── init.sh │ ├── conf │ │ ├── log4j2.yml │ │ ├── logfeeder-env.sh │ │ └── logfeeder.properties │ └── shipper-conf │ │ ├── global.config.json │ │ └── output.config.json │ └── docker-logsearch-portal │ ├── Dockerfile │ ├── bin │ ├── entrypoint.sh │ └── init.sh │ └── conf │ ├── log4j2.yml │ ├── logsearch-env.sh │ └── logsearch.properties ├── k8s ├── helm-charts │ ├── infra-solr │ │ ├── Chart.yaml │ │ ├── templates │ │ │ └── infra-solr.yaml │ │ └── values.yaml │ ├── logsearch-helm.sh │ ├── logsearch │ │ ├── Chart.yaml │ │ ├── templates │ │ │ ├── logsearch-configmap.yaml │ │ │ └── logsearch.yaml │ │ └── values.yaml │ └── zookeeper │ │ ├── Chart.yaml │ │ ├── templates │ │ └── zookeeper.yaml │ │ └── values.yaml └── localstack │ └── localstack.yaml ├── mkdocs.yml └── pom.xml /.asf.yaml: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | github: 16 | description: "Apache Ambari Logsearch is a sub project of Apache Ambari." 17 | homepage: https://ambari.apache.org 18 | labels: 19 | - javascript 20 | - python 21 | - java 22 | - big-data 23 | - ambari 24 | enabled_merge_buttons: 25 | squash: true 26 | merge: false 27 | rebase: false 28 | notifications: 29 | commits: commits@ambari.apache.org 30 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | # What changes were proposed in this pull request? 2 | 3 | (Please fill in changes proposed in this fix) 4 | 5 | ## How was this patch tested? 6 | 7 | (Please explain how this patch was tested. Ex: unit tests, manual tests) 8 | (If this patch involves UI changes, please attach a screen-shot; otherwise, remove this) 9 | 10 | Please review [Ambari Contributing Guide](https://cwiki.apache.org/confluence/display/AMBARI/How+to+Contribute) before opening a pull request. 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | .settings 3 | .classpath 4 | .project 5 | /bin/ 6 | node_modules/ 7 | logs/ 8 | node/ 9 | *.pid 10 | .idea/ 11 | .iml/ 12 | .DS_Store 13 | **/target/ 14 | *.pyc 15 | *.py~ 16 | **/*.iml 17 | .hg 18 | .hgignore 19 | .hgtags 20 | .flattened-pom.xml 21 | mkdocs-site 22 | -------------------------------------------------------------------------------- /ambari-logsearch-appender/.gitignore: -------------------------------------------------------------------------------- 1 | logs/* 2 | target 3 | -------------------------------------------------------------------------------- /ambari-logsearch-appender/build.properties: -------------------------------------------------------------------------------- 1 | # Licensed under the Apache License, Version 2.0 (the "License"); 2 | # you may not use this file except in compliance with the License. 3 | # You may obtain a copy of the License at 4 | # 5 | # http://www.apache.org/licenses/LICENSE-2.0 6 | # 7 | # Unless required by applicable law or agreed to in writing, software 8 | # distributed under the License is distributed on an "AS IS" BASIS, 9 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | # See the License for the specific language governing permissions and 11 | # limitations under the License. 12 | 13 | # log4j configuration used during build and unit tests 14 | -------------------------------------------------------------------------------- /ambari-logsearch-assembly/src/main/package/deb/logfeeder/control: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License 15 | Package: [[logsearch.logfeeder.package.name]] 16 | Version: [[package-version]]-[[package-release]] 17 | Section: [[deb.section]] 18 | Priority: [[deb.priority]] 19 | Depends: [[deb.dependency.list]] 20 | Architecture: [[deb.architecture]] 21 | Description: [[description]] 22 | Maintainer: [[deb.publisher]] 23 | -------------------------------------------------------------------------------- /ambari-logsearch-assembly/src/main/package/deb/logfeeder/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | 17 | LOGFEEDER_SCRIPT_LINK_NAME="/usr/bin/logfeeder" 18 | LOGFEEDER_CONF_DIR_LINK="/etc/ambari-logsearch-logfeeder/conf" 19 | 20 | rm -f $LOGFEEDER_SCRIPT_LINK_NAME 21 | if [ -d "$LOGFEEDER_CONF_DIR_LINK" ]; then 22 | rm -rf $LOGFEEDER_CONF_DIR_LINK 23 | fi 24 | 25 | if [ -f "$LOGFEEDER_CONF_DIR_LINK" ]; then 26 | rm -f $LOGFEEDER_CONF_DIR_LINK 27 | fi -------------------------------------------------------------------------------- /ambari-logsearch-assembly/src/main/package/deb/logfeeder/prerm: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | -------------------------------------------------------------------------------- /ambari-logsearch-assembly/src/main/package/deb/portal/control: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License 15 | Package: [[logsearch.portal.package.name]] 16 | Version: [[package-version]]-[[package-release]] 17 | Section: [[deb.section]] 18 | Priority: [[deb.priority]] 19 | Depends: [[deb.dependency.list]] 20 | Architecture: [[deb.architecture]] 21 | Description: [[description]] 22 | Maintainer: [[deb.publisher]] 23 | -------------------------------------------------------------------------------- /ambari-logsearch-assembly/src/main/package/deb/portal/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | 17 | LOGSEARCH_SCRIPT_LINK_NAME="/usr/bin/logsearch" 18 | LOGSEARCH_CONF_DIR_LINK="/etc/ambari-logsearch-portal/conf" 19 | 20 | rm -f $LOGSEARCH_SCRIPT_LINK_NAME 21 | if [ -d "$LOGSEARCH_CONF_DIR_LINK" ]; then 22 | rm -rf $LOGSEARCH_CONF_DIR_LINK 23 | fi 24 | 25 | if [ -f "$LOGSEARCH_CONF_DIR_LINK" ]; then 26 | rm -f $LOGSEARCH_CONF_DIR_LINK 27 | fi -------------------------------------------------------------------------------- /ambari-logsearch-assembly/src/main/package/deb/portal/prerm: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/Conditions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 21 | 22 | public interface Conditions { 23 | Fields getFields(); 24 | } 25 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/Fields.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 21 | 22 | import java.util.Set; 23 | 24 | public interface Fields { 25 | Set getType(); 26 | } 27 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/FilterJsonDescriptor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 21 | 22 | public interface FilterJsonDescriptor extends FilterDescriptor { 23 | } 24 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/FilterKeyValueDescriptor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 21 | 22 | public interface FilterKeyValueDescriptor extends FilterDescriptor { 23 | String getFieldSplit(); 24 | 25 | String getValueSplit(); 26 | 27 | String getValueBorders(); 28 | } 29 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/InputConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 21 | 22 | import java.util.List; 23 | 24 | public interface InputConfig { 25 | List getInput(); 26 | 27 | List getFilter(); 28 | } 29 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/InputCustomDescriptor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 20 | 21 | public interface InputCustomDescriptor extends InputDescriptor, CustomDescriptor { 22 | } 23 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/InputFileBaseDescriptor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 21 | 22 | public interface InputFileBaseDescriptor extends InputDescriptor { 23 | Boolean getProcessFile(); 24 | 25 | Boolean getCopyFile(); 26 | 27 | Integer getCheckpointIntervalMs(); 28 | } 29 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/InputS3FileDescriptor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 21 | 22 | public interface InputS3FileDescriptor extends InputFileBaseDescriptor { 23 | 24 | String getS3Endpoint(); 25 | 26 | String getS3AccessKey(); 27 | 28 | String getS3SecretKey(); 29 | } 30 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/InputSocketDescriptor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 20 | 21 | public interface InputSocketDescriptor extends InputDescriptor { 22 | 23 | Integer getPort(); 24 | 25 | String getProtocol(); 26 | 27 | Boolean isSecure(); 28 | 29 | Boolean isLog4j(); 30 | 31 | } 32 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/MapAnonymizeDescriptor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 21 | 22 | public interface MapAnonymizeDescriptor extends MapFieldDescriptor { 23 | String getPattern(); 24 | 25 | Character getHideChar(); 26 | } 27 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/MapCustomDescriptor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 20 | 21 | public interface MapCustomDescriptor extends MapFieldDescriptor, CustomDescriptor { 22 | } 23 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/MapDateDescriptor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 21 | 22 | public interface MapDateDescriptor extends MapFieldDescriptor { 23 | String getSourceDatePattern(); 24 | 25 | String getTargetDatePattern(); 26 | } 27 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/MapFieldCopyDescriptor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 21 | 22 | public interface MapFieldCopyDescriptor extends MapFieldDescriptor { 23 | String getCopyName(); 24 | } 25 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/MapFieldDescriptor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 21 | 22 | public interface MapFieldDescriptor { 23 | String getJsonName(); 24 | } 25 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/MapFieldNameDescriptor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 21 | 22 | public interface MapFieldNameDescriptor extends MapFieldDescriptor { 23 | String getNewFieldName(); 24 | } 25 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/MapFieldValueDescriptor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 21 | 22 | public interface MapFieldValueDescriptor extends MapFieldDescriptor { 23 | String getPreValue(); 24 | 25 | String getPostValue(); 26 | } 27 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/PostMapValues.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | package org.apache.ambari.logsearch.config.api.model.inputconfig; 21 | 22 | import java.util.List; 23 | 24 | public interface PostMapValues { 25 | List getMappers(); 26 | } 27 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/test/java/org/apache/ambari/logsearch/config/api/NonLogSearchConfigClass.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | package org.apache.ambari.logsearch.config.api; 21 | 22 | public class NonLogSearchConfigClass { 23 | } 24 | -------------------------------------------------------------------------------- /ambari-logsearch-config-api/src/test/resources/log4j2-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /ambari-logsearch-config-zookeeper/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | -------------------------------------------------------------------------------- /ambari-logsearch-docs/src/main/resources/docs.md: -------------------------------------------------------------------------------- 1 | 17 | 18 | ## REST API documentation 19 | 20 | [Swagger Doc UI](/api-docs) 21 | 22 | ## Javadoc 23 | 24 | [Java doc link](/javadoc) -------------------------------------------------------------------------------- /ambari-logsearch-docs/src/main/resources/log4j2.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /ambari-logsearch-docs/src/main/resources/templates/logfeeder_properties.md.ftl: -------------------------------------------------------------------------------- 1 | 17 | ## Log Feeder Configurations 18 | 19 | | `Name` | `Description` | `Default` | `Examples` | 20 | |---|---|---|---| 21 | <#if logfeederProperties??> 22 | <#list logfeederProperties as logfeederProperty> 23 | |`${logfeederProperty.name}`|${logfeederProperty.description}|${logfeederProperty.defaultValue}|${logfeederProperty.examples}| 24 | 25 | -------------------------------------------------------------------------------- /ambari-logsearch-docs/src/main/resources/templates/logsearch_properties.md.ftl: -------------------------------------------------------------------------------- 1 | 17 | ## Log Search Configurations 18 | 19 | | `Name` | `Description` | `Default` | `Examples` | 20 | |---|---|---|---| 21 | <#if logsearchProperties??> 22 | <#list logsearchProperties as logsearchProperty> 23 | |`${logsearchProperty.name}`|${logsearchProperty.description}|${logsearchProperty.defaultValue}|${logsearchProperty.examples}| 24 | 25 | -------------------------------------------------------------------------------- /ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/JinjaFunctions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.patterns; 20 | 21 | public class JinjaFunctions { 22 | public static Object defaultFunc(Object value, Object defaultValue) { 23 | if (value == null) 24 | return defaultValue; 25 | return value; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/LayoutQuery.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.patterns; 20 | 21 | public interface LayoutQuery { 22 | String query(String parameterName); 23 | } 24 | -------------------------------------------------------------------------------- /ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/Log4jContent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.patterns; 20 | 21 | import java.io.File; 22 | 23 | public interface Log4jContent { 24 | String loadContent(); 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-it/src/test/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | # Licensed under the Apache License, Version 2.0 (the "License"); 2 | # you may not use this file except in compliance with the License. 3 | # You may obtain a copy of the License at 4 | # 5 | # http://www.apache.org/licenses/LICENSE-2.0 6 | # 7 | # Unless required by applicable law or agreed to in writing, software 8 | # distributed under the License is distributed on an "AS IS" BASIS, 9 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | # See the License for the specific language governing permissions and 11 | # limitations under the License. 12 | log4j.rootLogger=INFO, stdout 13 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 14 | log4j.appender.stdout.Target=System.out 15 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 16 | log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n -------------------------------------------------------------------------------- /ambari-logsearch-it/src/test/resources/stories/backend/log_search_api_tests.story: -------------------------------------------------------------------------------- 1 | Meta: 2 | 3 | Narrative: 4 | As a user 5 | I want to perform queries against Log Search api 6 | So that I can validate the json outputs 7 | 8 | Scenario: Log Search API JSON responses 9 | 10 | Given logsearch docker container 11 | When LogSearch api query sent: 12 | Then The api query result is 13 | 14 | Examples: 15 | |apiQuery|jsonResult| 16 | |/api/v1/service/logs/schema/fields|service-log-schema.json| 17 | |/api/v1/service/logs/levels/counts?page=0&pageSize=25&startIndex=0&q=*%3A*|service-log-level-counts-values.json| -------------------------------------------------------------------------------- /ambari-logsearch-it/src/test/resources/stories/backend/log_search_cofig_api_tests.story: -------------------------------------------------------------------------------- 1 | Scenario: scenario description 2 | 3 | Given logsearch docker container 4 | When LogSearch api request sent: /api/v1/shipper/input/cl1/services/ambari 5 | Then Result is an input.config of ambari_audit with log file path /root/test-logs/ambari-server/ambari-audit.log 6 | 7 | Given logsearch docker container 8 | When Update input config of ambari_audit path to /root/test-logs/ambari-server/ambari-audit.log.1 at /api/v1/shipper/input/cl1/services/ambari 9 | Then Result is an input.config of ambari_audit with log file path /root/test-logs/ambari-server/ambari-audit.log.1 10 | 11 | Given logsearch docker container 12 | When Update input config with data {"unknownField":[]} at /api/v1/shipper/input/cl1/services/ambari 13 | Then Result is status code 400 14 | 15 | Given logsearch docker container 16 | When Update input config with data not_a_json at /api/v1/shipper/input/cl1/services/ambari 17 | Then Result is status code 400 18 | -------------------------------------------------------------------------------- /ambari-logsearch-it/src/test/resources/stories/backend/logfeeder_parsing_tests.story: -------------------------------------------------------------------------------- 1 | Story Service logs are parsed and stored into Solr 2 | 3 | Narrative: 4 | As a user 5 | I want to start logsearch/logfeeder/solr components in a docker container with test logs 6 | So that I can parse and store the logs into Solr 7 | 8 | Scenario: Number of logs for components 9 | 10 | Given logsearch docker container 11 | When logfeeder started (parse logs & send data to solr) 12 | Then the number of docs is: 13 | 14 | Examples: 15 | |component|docSize| 16 | |logsearch_app|1| 17 | |zookeeper|3| 18 | |hst_agent|4| 19 | |secure_log|8| 20 | |system_message|17| 21 | -------------------------------------------------------------------------------- /ambari-logsearch-it/src/test/resources/stories/selenium/login.ui.story: -------------------------------------------------------------------------------- 1 | Meta: 2 | 3 | Narrative: 4 | As a user 5 | I want to start LogSearch services and login to the UI 6 | So that I can validate the proper user 7 | 8 | Scenario: login with admin/admin 9 | 10 | Given logsearch docker container 11 | And open logsearch home page 12 | When login with admin / admin 13 | Then page contains text: 'Refresh' 14 | 15 | Scenario: login with admin and wrong password 16 | 17 | Given logsearch docker container 18 | And open logsearch home page 19 | When login with admin / wrongpassword 20 | Then page does not contain text: 'Refresh' -------------------------------------------------------------------------------- /ambari-logsearch-it/src/test/resources/test-output/service-log-level-counts-values.json: -------------------------------------------------------------------------------- 1 | { 2 | "vNameValues": [ 3 | { 4 | "name": "FATAL", 5 | "value": "0" 6 | }, 7 | { 8 | "name": "ERROR", 9 | "value": "1" 10 | }, 11 | { 12 | "name": "WARN", 13 | "value": "7" 14 | }, 15 | { 16 | "name": "INFO", 17 | "value": "8" 18 | }, 19 | { 20 | "name": "DEBUG", 21 | "value": "1" 22 | }, 23 | { 24 | "name": "TRACE", 25 | "value": "0" 26 | }, 27 | { 28 | "name": "UNKNOWN", 29 | "value": "25" 30 | } 31 | ], 32 | "listSize": 7 33 | } -------------------------------------------------------------------------------- /ambari-logsearch-it/src/test/resources/test-output/service-log-schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "logfile_line_number": "tint", 3 | "logtime": "tdate", 4 | "text": "text_std_token_lower_case", 5 | "host": "key_lower_case", 6 | "seq_num": "tlong", 7 | "logtype": "key_lower_case", 8 | "rowtype": "key_lower_case", 9 | "log_message": "text_std_token_lower_case", 10 | "line_number": "tint", 11 | "type": "key_lower_case", 12 | "ip": "string", 13 | "id": "string", 14 | "thread_name": "key_lower_case", 15 | "level": "key_lower_case", 16 | "file": "key_lower_case", 17 | "bundle_id": "key_lower_case", 18 | "path": "key_lower_case", 19 | "cluster": "key_lower_case", 20 | "case_id": "key_lower_case", 21 | "logger_name": "key_lower_case", 22 | "method": "key_lower_case", 23 | "event_count": "tlong" 24 | } -------------------------------------------------------------------------------- /ambari-logsearch-logfeeder-container-registry/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | log4j.rootLogger=DEBUG, stdout 16 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 17 | log4j.appender.stdout.Target=System.out 18 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 19 | log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd'T'HH:mm:ss.SSS} %-5p [%t] - %m%n -------------------------------------------------------------------------------- /ambari-logsearch-logfeeder/.gitignore: -------------------------------------------------------------------------------- 1 | *.pid -------------------------------------------------------------------------------- /ambari-logsearch-logfeeder/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | mvn clean spring-boot:run 18 | -------------------------------------------------------------------------------- /ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/credential/SecretStore.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logfeeder.credential; 20 | 21 | /** 22 | * Store secrets in character array 23 | */ 24 | public interface SecretStore { 25 | /** 26 | * Gather a secret - implement the way 27 | * @return secret character array 28 | */ 29 | char[] getSecret(); 30 | } 31 | -------------------------------------------------------------------------------- /ambari-logsearch-logfeeder/src/main/resources/log-samples/.gitignore: -------------------------------------------------------------------------------- 1 | logs/*.log 2 | shipper-conf/input.config-*.json 3 | !shipper-conf/input.config-sample.json 4 | 5 | -------------------------------------------------------------------------------- /ambari-logsearch-logfeeder/src/main/resources/log-samples/shipper-conf/global.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "global":{ 3 | "add_fields":{ 4 | "cluster":"cl1" 5 | }, 6 | "source":"file", 7 | "tail":"true", 8 | "gen_event_md5":"true" 9 | } 10 | } -------------------------------------------------------------------------------- /ambari-logsearch-logfeeder/src/main/resources/log-samples/shipper-conf/output.config-sample.json: -------------------------------------------------------------------------------- 1 | { 2 | "output": [ 3 | { 4 | "comment": "Output to solr for service logs", 5 | "is_enabled": "true", 6 | "collection": "hadoop_logs", 7 | "destination": "solr", 8 | "zk_connect_string": "localhost:2181", 9 | "type": "service", 10 | "skip_logtime": "true", 11 | "conditions": { 12 | "fields": { 13 | "rowtype": [ 14 | "service" 15 | ] 16 | } 17 | } 18 | }, 19 | { 20 | "comment": "Output to solr for audit records", 21 | "is_enabled": "true", 22 | "collection": "audit_logs", 23 | "destination": "solr", 24 | "zk_connect_string": "localhost:2181", 25 | "type": "audit", 26 | "skip_logtime": "true", 27 | "conditions": { 28 | "fields": { 29 | "rowtype": [ 30 | "audit" 31 | ] 32 | } 33 | } 34 | } 35 | ] 36 | } -------------------------------------------------------------------------------- /ambari-logsearch-logfeeder/src/test/resources/log4j2-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /ambari-logsearch-logfeeder/src/test/resources/logfeeder.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | logfeeder.log.filter.enable=true 17 | logfeeder.solr.config.interval=5 18 | logfeeder.solr.zk_connect_string=some_connect_string 19 | logfeeder.metrics.collector.hosts=some_collector_host 20 | logfeeder.include.default.level=FATAL,ERROR,WARN -------------------------------------------------------------------------------- /ambari-logsearch-logfeeder/src/test/resources/samples/config/config_service.json: -------------------------------------------------------------------------------- 1 | { 2 | "global": { 3 | "add_fields": { 4 | "cluster": "cluster_name" 5 | }, 6 | "source": "file", 7 | "tail": "true", 8 | "gen_event_md5": "true" 9 | }, 10 | "input": [{ 11 | "type": "logsearch", 12 | "rowtype": "service", 13 | "path": "{path}/src/test/resources/samples/jsonlogs/service_log.json" 14 | }], 15 | "filter": [{ 16 | "filter": "json", 17 | "conditions": { 18 | "fields": { 19 | "type": [ 20 | "logsearch" 21 | ] 22 | } 23 | } 24 | }], 25 | "output": [{ 26 | "comment": "Output to solr for service records", 27 | "is_enabled": "true", 28 | "destination": "solr", 29 | "url": "http://localhost:8983/solr/hadoop_logs", 30 | "collection": "hadoop_logs", 31 | "number_of_shards": "1", 32 | "splits_interval_mins": "100000", 33 | "conditions": { 34 | "fields": { 35 | "rowtype": [ 36 | "service" 37 | ] 38 | } 39 | } 40 | }] 41 | 42 | } -------------------------------------------------------------------------------- /ambari-logsearch-logfeeder/src/test/resources/samples/config/output-hdfs-config.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "output": [{ 4 | "comment": "Write log to hdfs", 5 | "destination": "hdfs", 6 | "hdfs_out_dir": "logfeeder/$HOST/service", 7 | "file_name_prefix":"service-logs-", 8 | "hdfs_host": "hdfs_host", 9 | "hdfs_port": "8020", 10 | "rollover_sec":"300", 11 | "conditions": { 12 | "fields": { 13 | "rowtype": [ 14 | "service" 15 | ] 16 | } 17 | } 18 | }] 19 | 20 | } 21 | -------------------------------------------------------------------------------- /ambari-logsearch-server/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | .settings 3 | .classpath 4 | .project 5 | /bin/ 6 | node_modules/ 7 | logs/ 8 | node/ 9 | *.pid 10 | 11 | -------------------------------------------------------------------------------- /ambari-logsearch-server/build.properties: -------------------------------------------------------------------------------- 1 | # Licensed under the Apache License, Version 2.0 (the "License"); 2 | # you may not use this file except in compliance with the License. 3 | # You may obtain a copy of the License at 4 | # 5 | # http://www.apache.org/licenses/LICENSE-2.0 6 | # 7 | # Unless required by applicable law or agreed to in writing, software 8 | # distributed under the License is distributed on an "AS IS" BASIS, 9 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | # See the License for the specific language governing permissions and 11 | # limitations under the License. 12 | 13 | # log4j configuration used during build and unit tests 14 | 15 | TOMCAT_HOME=/Library/Tomcat/Home 16 | app.work.dir=${builddir}/build/work 17 | app.war.dir=${app.work.dir}/war 18 | app.pkg.dir=${app.work.dir}/pkg 19 | 20 | app.dev.war.dir=${app.work.dir}/webapps/logsearch 21 | app.war.name=logsearch.war 22 | 23 | app.target.dir=${builddir}/target/classes/static -------------------------------------------------------------------------------- /ambari-logsearch-server/run.sh: -------------------------------------------------------------------------------- 1 | # Licensed under the Apache License, Version 2.0 (the "License"); 2 | # you may not use this file except in compliance with the License. 3 | # You may obtain a copy of the License at 4 | # 5 | # http://www.apache.org/licenses/LICENSE-2.0 6 | # 7 | # Unless required by applicable law or agreed to in writing, software 8 | # distributed under the License is distributed on an "AS IS" BASIS, 9 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | # See the License for the specific language governing permissions and 11 | # limitations under the License. 12 | echo " 13 | ██╗ ██████╗ ██████╗ ███████╗███████╗ █████╗ ██████╗ ██████╗██╗ ██╗ 14 | ██║ ██╔═══██╗██╔════╝ ██╔════╝██╔════╝██╔══██╗██╔══██╗██╔════╝██║ ██║ 15 | ██║ ██║ ██║██║ ███╗ ███████╗█████╗ ███████║██████╔╝██║ ███████║ 16 | ██║ ██║ ██║██║ ██║ ╚════██║██╔══╝ ██╔══██║██╔══██╗██║ ██╔══██║ 17 | ███████╗╚██████╔╝╚██████╔╝ ███████║███████╗██║ ██║██║ ██║╚██████╗██║ ██║ 18 | ╚══════╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ 19 | " 20 | mvn clean package -DskipTests spring-boot:run 21 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/configsets/audit_logs/conf/admin-extra.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 25 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/configsets/audit_logs/conf/admin-extra.menu-bottom.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/configsets/audit_logs/conf/admin-extra.menu-top.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/configsets/audit_logs/conf/enumsConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | UNKNOWN 21 | TRACE 22 | DEBUG 23 | INFO 24 | WARN 25 | ERROR 26 | FATAL 27 | 28 | 29 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/configsets/hadoop_logs/conf/admin-extra.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 25 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/configsets/hadoop_logs/conf/admin-extra.menu-bottom.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/configsets/hadoop_logs/conf/admin-extra.menu-top.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/configsets/hadoop_logs/conf/enumsConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | UNKNOWN 21 | TRACE 22 | DEBUG 23 | INFO 24 | WARN 25 | ERROR 26 | FATAL 27 | 28 | 29 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/configsets/logsearch_metadata/conf/admin-extra.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 25 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/configsets/logsearch_metadata/conf/admin-extra.menu-bottom.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/configsets/logsearch_metadata/conf/admin-extra.menu-top.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/configsets/solr.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/common/LogType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.common; 20 | 21 | public enum LogType { 22 | SERVICE("Service"), 23 | AUDIT("Audit"); 24 | 25 | private String label; 26 | 27 | private LogType(String label) { 28 | this.label = label; 29 | } 30 | 31 | public String getLabel() { 32 | return label; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/Configurer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.configurer; 20 | 21 | interface Configurer { 22 | void start(); 23 | } 24 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/AlreadyExistsException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.manager; 20 | 21 | public class AlreadyExistsException extends RuntimeException { 22 | public AlreadyExistsException(String message) { 23 | super(message); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/NotFoundException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.manager; 20 | 21 | public class NotFoundException extends RuntimeException { 22 | public NotFoundException(String message) { 23 | super(message); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/UnsupportedFormatException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.manager; 20 | 21 | public class UnsupportedFormatException extends RuntimeException { 22 | public UnsupportedFormatException(String message) { 23 | super(message); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/metadata/Filterable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.model.metadata; 20 | 21 | public interface Filterable { 22 | 23 | Boolean isFilterable(); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/metadata/Groupable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.model.metadata; 20 | 21 | public interface Groupable { 22 | 23 | String getGroup(); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/metadata/Labelable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.model.metadata; 20 | 21 | public interface Labelable { 22 | 23 | String getName(); 24 | 25 | String getLabel(); 26 | 27 | } 28 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/metadata/Visible.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.model.metadata; 20 | 21 | public interface Visible { 22 | 23 | boolean isVisible(); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/SearchRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.model.request; 20 | 21 | public interface SearchRequest extends ClustersParamDefinition { 22 | } 23 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/AuditComponentRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.model.request.impl; 20 | 21 | import org.apache.ambari.logsearch.common.Marker; 22 | import org.apache.ambari.logsearch.model.request.UserParamDefinition; 23 | 24 | @Marker 25 | public interface AuditComponentRequest extends BaseLogRequest, UserParamDefinition { 26 | } 27 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/ServiceGraphRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.model.request.impl; 20 | 21 | import org.apache.ambari.logsearch.common.Marker; 22 | import org.apache.ambari.logsearch.model.request.UnitParamDefinition; 23 | 24 | @Marker 25 | public interface ServiceGraphRequest extends ServiceLogRequest, UnitParamDefinition { 26 | } 27 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/ServiceLogAggregatedInfoRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.model.request.impl; 20 | 21 | import org.apache.ambari.logsearch.common.Marker; 22 | 23 | @Marker 24 | public interface ServiceLogAggregatedInfoRequest extends BaseServiceLogRequest { 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/ServiceLogComponentHostRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.model.request.impl; 20 | 21 | import org.apache.ambari.logsearch.common.Marker; 22 | 23 | @Marker 24 | public interface ServiceLogComponentHostRequest extends ServiceLogRequest { 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/ServiceLogComponentLevelRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.model.request.impl; 20 | 21 | import org.apache.ambari.logsearch.common.Marker; 22 | 23 | @Marker 24 | public interface ServiceLogComponentLevelRequest extends ServiceLogRequest { 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/ServiceLogHostComponentRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.model.request.impl; 20 | 21 | import org.apache.ambari.logsearch.common.Marker; 22 | 23 | @Marker 24 | public interface ServiceLogHostComponentRequest extends ServiceLogRequest { 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/ServiceLogLevelCountRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.model.request.impl; 20 | 21 | import org.apache.ambari.logsearch.common.Marker; 22 | 23 | @Marker 24 | public interface ServiceLogLevelCountRequest extends BaseServiceLogRequest { 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/response/LogData.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.model.response; 20 | 21 | import org.apache.ambari.logsearch.common.Marker; 22 | 23 | @Marker 24 | public interface LogData { 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/response/LogListResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.model.response; 20 | 21 | import java.util.List; 22 | 23 | public interface LogListResponse { 24 | List getLogList(); 25 | 26 | void setLogList(List logList); 27 | } 28 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/response/LogSearchResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.model.response; 20 | 21 | abstract public class LogSearchResponse extends SearchResponse implements LogListResponse { 22 | } 23 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/StatusProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.ambari.logsearch.web.filters; 20 | 21 | import org.apache.ambari.logsearch.common.StatusMessage; 22 | 23 | public interface StatusProvider { 24 | StatusMessage getStatusMessage(String requestUri); 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/resources/info.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | logsearch.app.version=1.0.0-${project.version} 17 | logsearch.solr.version=${solr.version} -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/resources/roles.json: -------------------------------------------------------------------------------- 1 | { 2 | "roles": { 3 | "admin" : ["user", "admin"] 4 | } 5 | } -------------------------------------------------------------------------------- /ambari-logsearch-server/src/main/resources/user_pass.json: -------------------------------------------------------------------------------- 1 | { 2 | "users": [{ 3 | "name": "Logsearch Admin", 4 | "username": "admin", 5 | "password": "admin", 6 | "en_password": "" 7 | }] 8 | } -------------------------------------------------------------------------------- /ambari-logsearch-server/src/test/resources/log4j2-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /ambari-logsearch-server/src/test/resources/user_pass.json: -------------------------------------------------------------------------------- 1 | { 2 | "users": [{ 3 | "name": "Test User Name", 4 | "username": "testUserName", 5 | "password": "testUserPassword", 6 | "en_password": "" 7 | }] 8 | } -------------------------------------------------------------------------------- /ambari-logsearch-web/.angular-cli.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "./node_modules/@angular/cli/lib/config/schema.json", 3 | "project": { 4 | "name": "ambari-logsearch-web", 5 | "ejected": true 6 | }, 7 | "apps": [ 8 | { 9 | "root": "src", 10 | "assets": [ 11 | "assets", 12 | "favicon.ico" 13 | ], 14 | "index": "index.html", 15 | "main": "main.ts", 16 | "polyfills": "polyfills.ts", 17 | "test": "test.ts", 18 | "testTsconfig": "tsconfig.spec.json", 19 | "prefix": "", 20 | "environmentSource": "environments/environment.ts", 21 | "environments": { 22 | "dev": "environments/environment.ts", 23 | "prod": "environments/environment.prod.ts" 24 | } 25 | } 26 | ], 27 | "lint": [ 28 | { 29 | "project": "src/tsconfig.app.json" 30 | }, 31 | { 32 | "project": "src/tsconfig.spec.json" 33 | }, 34 | { 35 | "project": "e2e/tsconfig.e2e.json" 36 | } 37 | ], 38 | "defaults": { 39 | "styleExt": "less" 40 | }, 41 | "packageManager": "yarn" 42 | } 43 | -------------------------------------------------------------------------------- /ambari-logsearch-web/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /ambari-logsearch-web/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | /out-tsc 7 | 8 | # dependencies 9 | /node_modules 10 | 11 | # IDEs and editors 12 | /.idea 13 | .project 14 | .classpath 15 | .c9/ 16 | *.launch 17 | .settings/ 18 | *.sublime-workspace 19 | 20 | # IDE - VSCode 21 | .vscode/* 22 | !.vscode/settings.json 23 | !.vscode/tasks.json 24 | !.vscode/launch.json 25 | !.vscode/extensions.json 26 | 27 | # misc 28 | /.sass-cache 29 | /connect.lock 30 | /coverage 31 | /libpeerconnection.log 32 | npm-debug.log 33 | testem.log 34 | /typings 35 | 36 | # e2e 37 | /e2e/*.js 38 | /e2e/*.map 39 | 40 | # System Files 41 | .DS_Store 42 | Thumbs.db 43 | 44 | # Development Test Files 45 | webpack.config.dev.js 46 | -------------------------------------------------------------------------------- /ambari-logsearch-web/e2e/app.po.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | import { browser, element, by } from 'protractor'; 20 | 21 | export class AmbariLogsearchWebNewPage { 22 | navigateTo() { 23 | return browser.get('/'); 24 | } 25 | 26 | getParagraphText() { 27 | return element(by.css('app-root h1')).getText(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /ambari-logsearch-web/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/e2e", 5 | "module": "commonjs", 6 | "target": "es5", 7 | "types":[ 8 | "jasmine", 9 | "node" 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/active-service-log-entry.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export interface ActiveServiceLogEntry { 20 | id: string; 21 | host_name: string; 22 | component_name: string; 23 | } 24 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/list-item.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export interface ListItem { 20 | id?: string | number; 21 | label?: string; 22 | secondaryLabel?: string; 23 | value: any; 24 | iconClass?: string; 25 | cssClass?: string; 26 | isChecked?: boolean; 27 | onSelect?: Function; 28 | isDivider?: boolean; 29 | disabled?: boolean; 30 | } 31 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/models/bar-graph.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | import {CommonEntry} from '@app/classes/models/common-entry'; 20 | 21 | export interface BarGraph { 22 | dataCount: CommonEntry[]; 23 | name: string; 24 | } 25 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/models/common-entry.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export interface CommonEntry { 20 | name: string; 21 | value: string; 22 | } 23 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/models/count.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export interface Count { 20 | name: string; 21 | count: number; 22 | } 23 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/models/filter-url-param-change.interface.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export interface FilterUrlParamChange { 20 | previousPath?: string | null; 21 | currentPath: string; 22 | time?: Date; 23 | } 24 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/models/filter.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | import {LogLevel} from '@app/classes/string'; 20 | 21 | export interface Filter { 22 | label: string; 23 | hosts: string[]; 24 | defaultLevels: LogLevel[]; 25 | overrideLevels: LogLevel[]; 26 | expiryTime: string | null; 27 | } 28 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/models/graph.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export interface Graph { 20 | name: string; 21 | count: string; 22 | dataList?: Graph[]; 23 | } 24 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/models/logs-state.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export interface LogsState { 20 | activeTabId: string; 21 | } 22 | 23 | export const defaultState: LogsState = { 24 | activeTabId: '' 25 | }; 26 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/models/node-group.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | /** 20 | * A simple interface for the component's groups (aka services) 21 | */ 22 | export interface NodeGroup { 23 | name: string; 24 | label?: string; 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/models/service-log.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | import {Log} from '@app/classes/models/log'; 20 | 21 | export interface ServiceLog extends Log { 22 | path: string; 23 | host: string; 24 | level: string; 25 | logtime: number; 26 | ip: string; 27 | } 28 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/models/solr-collection-state.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export interface SolrCollectionState { 20 | znodeReady: boolean; 21 | configurationUploaded: boolean; 22 | solrCollectionReady: boolean; 23 | } 24 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/models/user-config.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export interface UserConfig { 20 | id: string; 21 | userName: string; 22 | filtername: string; 23 | values: string; 24 | shareNameList: string[]; 25 | rowType: string; 26 | } 27 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/models/user.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export interface User { 20 | username: string; 21 | name?: string; 22 | email?: string; 23 | } 24 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/queries/audit-logs-query-params.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | import {LogsListQueryParams} from '@app/classes/queries/logs-query-params'; 20 | 21 | export class AuditLogsListQueryParams extends LogsListQueryParams { 22 | userList?: string; 23 | } 24 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/queries/audit-logs-top-resources-query-params.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | import {LogsQueryParams} from '@app/classes/queries/logs-query-params'; 20 | 21 | export class AuditLogsTopResourcesQueryParams extends LogsQueryParams { 22 | field: string; 23 | } 24 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/queries/query-params.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export class QueryParams { 20 | constructor(options: QueryParams) { 21 | Object.assign(this, options); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/queries/service-logs-histogram-query-params.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | import {AuditLogsGraphQueryParams} from '@app/classes/queries/audit-logs-graph-query-params'; 20 | 21 | export class ServiceLogsHistogramQueryParams extends AuditLogsGraphQueryParams { 22 | clusters?: string; 23 | level?: string; 24 | } 25 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/service-injector.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | import {Injector} from '@angular/core'; 20 | 21 | export class ServiceInjector { 22 | static injector: Injector; 23 | } 24 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/classes/service-log-context-entry.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export interface ServiceLogContextEntry { 20 | id: string; 21 | time: number; 22 | level: string; 23 | message: string; 24 | fileName: string | null; 25 | lineNumber: number | null; 26 | } 27 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/cluster-filter/cluster-filter.component.html: -------------------------------------------------------------------------------- 1 | 17 | 20 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/cluster-filter/cluster-filter.component.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | filter-dropdown { 18 | display: inline-block; 19 | } 20 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/context-menu/context-menu.component.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 20 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/context-menu/context-menu.component.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | ul.dropdown-menu { 20 | position: fixed; 21 | } 22 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/date-picker/date-picker.component.html: -------------------------------------------------------------------------------- 1 | 17 | 18 |
19 |
20 | 21 | 22 | 23 | 24 |
25 |
26 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/graph-legend-item/graph-legend-item.component.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | {{label}} 20 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/graph-legend-item/graph-legend-item.component.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | :host { 19 | padding-right: 1em; 20 | 21 | .color { 22 | border-radius: 100%; 23 | display: inline-block; 24 | height: .8em; 25 | width: .8em; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/graph-legend/graph-legend.component.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/graph-legend/graph-legend.component.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | import { Component, Input } from '@angular/core'; 19 | 20 | @Component({ 21 | selector: 'graph-legend', 22 | templateUrl: './graph-legend.component.html' 23 | }) 24 | export class GraphLegendComponent { 25 | 26 | @Input() 27 | items = []; 28 | 29 | @Input() 30 | labelClass = 'initial-color'; 31 | 32 | } 33 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/graph-tooltip/graph-tooltip.component.html: -------------------------------------------------------------------------------- 1 | 17 | 18 |
{{title}}
19 |
20 | 21 | {{item.value}} 22 |
23 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/history-item-controls/history-item-controls.component.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/history-item-controls/history-item-controls.component.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | :host { 20 | float: right; 21 | } 22 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/horizontal-histogram/horizontal-histogram.component.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | @import '../../modules/shared/variables'; 19 | 20 | :host { 21 | padding-top: @graph-padding; 22 | } 23 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/log-context/log-context.component.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | @import '../../modules/shared/variables'; 19 | :host { 20 | /deep/ .modal-body { 21 | display: flex; 22 | flex-direction: column; 23 | } 24 | .logs { 25 | flex-grow: 1; 26 | overflow-y: auto; 27 | margin: 1em 0; 28 | } 29 | .btn.btn-load-more { 30 | width: 100%; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/log-file-entry/log-file-entry.component.html: -------------------------------------------------------------------------------- 1 | 17 | 18 |
{{time | amTz: timeZone |amDateFormat: timeFormat}} {{level}} {{fileName}}:{{lineNumber}} - {{message}}
21 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/log-file-entry/log-file-entry.component.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | @import '../../modules/shared/mixins'; 19 | 20 | :host { 21 | display: block; 22 | 23 | .log { 24 | font-family: monospace; 25 | white-space: pre-wrap; 26 | 27 | .log-level { 28 | .log-colors; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/log-level/log-level.component.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | {{('levels.' + (logEntry.level || 'unknown').toLowerCase()) | translate}} 19 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/log-message/log-message.component.html: -------------------------------------------------------------------------------- 1 | 17 |
22 | 23 |
{{ message }}
24 |
25 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/login-form/login-form.component.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | @import '../../modules/shared/variables'; 19 | :host { 20 | footer { 21 | display: flex; 22 | .checking-auth-in-progress { 23 | margin-left: auto; 24 | } 25 | } 26 | .login-form { 27 | margin-top: @block-margin-top; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/main-container/main-container.component.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/main-container/main-container.component.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | import { Component } from '@angular/core'; 20 | 21 | @Component({ 22 | selector: 'main-container', 23 | templateUrl: './main-container.component.html' 24 | }) 25 | export class MainContainerComponent {} 26 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/node-bar/node-bar.component.html: -------------------------------------------------------------------------------- 1 | 17 | 18 |
20 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/pagination-controls/pagination-controls.component.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | @import '../../modules/shared/mixins'; 20 | 21 | .pagination-control { 22 | .clickable-item; 23 | } 24 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/pagination/pagination.component.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | @import '../../modules/shared/mixins'; 20 | 21 | :host { 22 | display: flex; 23 | 24 | .pagination-form { 25 | .flex-vertical-align; 26 | justify-content: flex-end; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/tabs/tabs.component.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | @import '../../modules/shared/mixins'; 19 | 20 | .close-icon { 21 | .clickable-item; 22 | } 23 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/time-histogram/time-histogram.component.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | @import '../../modules/shared/mixins'; 20 | 21 | :host { 22 | header { 23 | padding: @graph-padding; 24 | } 25 | .chart-label { 26 | text-align: center; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/components/top-menu/top-menu.component.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | @import '../../modules/shared/mixins'; 19 | 20 | :host { 21 | .default-flex; 22 | margin-right: 0; 23 | 24 | .filters { 25 | display: inline-block; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/modules/shared/components/loading-indicator/loading-indicator.component.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/modules/shared/components/loading-indicator/loading-indicator.component.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | import { Component } from '@angular/core'; 19 | 20 | @Component({ 21 | selector: 'loading-indicator', 22 | templateUrl: './loading-indicator.component.html', 23 | styleUrls: ['./loading-indicator.component.less'] 24 | }) 25 | export class LoadingIndicatorComponent { 26 | 27 | constructor() {} 28 | 29 | } 30 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/modules/shared/forms.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | @import "variables"; 20 | 21 | .has-error { 22 | .ng-invalid:not(form) { 23 | border-color: @form-error-color; 24 | } 25 | } 26 | .has-warning { 27 | .ng-invalid:not(form) { 28 | border-color: @form-warning-color; 29 | } 30 | } 31 | 32 | .ng-valid:not(form).ng-touched { 33 | border-color: @form-success-color; 34 | } 35 | 36 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/modules/shared/interfaces/notification.interface.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | import { Options } from 'angular2-notifications/src/options.type'; 19 | import { NotificationType } from '@modules/shared/services/notification.service'; 20 | 21 | export interface NotificationInterface extends Options { 22 | type: NotificationType | string; 23 | message: string; 24 | title?: string; 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/modules/shared/interfaces/timezone.ts: -------------------------------------------------------------------------------- 1 | export default interface Timezone { 2 | timezone: string; 3 | country: string; 4 | pin: string; 5 | offset: number; 6 | points: string; 7 | zonename: string; 8 | } -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/modules/shared/main.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | @import "variables"; 20 | @import "mixins"; 21 | @import "forms"; 22 | @import "animations"; 23 | @import "dashrows"; 24 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/modules/shipper/interfaces/shipper-cluster-information.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | import {ShipperCluster} from '@modules/shipper/models/shipper-cluster.type'; 19 | import {ShipperClusterService} from '@modules/shipper/models/shipper-cluster-service.type'; 20 | 21 | export interface ShipperClusterInformation { 22 | cluster: ShipperCluster; 23 | services: ShipperClusterService[]; 24 | } 25 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/modules/shipper/models/shipper-cluster-service-configuration.interface.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export interface ShipperClusterServiceConfigurationInterface { 20 | input?: [{ 21 | type: string; 22 | rowtype: string; 23 | [key: string]: any 24 | }]; 25 | filter?: [{[key: string]: any}]; 26 | } 27 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/modules/shipper/models/shipper-cluster-service-configuration.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | import {ShipperCluster} from './shipper-cluster.type'; 19 | import {ShipperClusterService} from './shipper-cluster-service.type'; 20 | 21 | export interface ShipperClusterServiceConfigurationModel { 22 | cluster: ShipperCluster; 23 | service: ShipperClusterService; 24 | configuration: {[key: string]: any}; 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/modules/shipper/models/shipper-cluster-service-validation.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | import {ShipperCluster} from './shipper-cluster.type'; 19 | 20 | export interface ShipperClusterServiceValidationModel { 21 | clusterName: ShipperCluster; 22 | configuration: string; 23 | componentName: string; 24 | sampleData: string; 25 | } 26 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/modules/shipper/models/shipper-cluster-service.type.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export type ShipperClusterService = string; 20 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/modules/shipper/models/shipper-cluster.type.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export type ShipperCluster = string; 20 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/pipes/timezone-abbr.pipe.spec.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | import {TimeZoneAbbrPipe} from './timezone-abbr.pipe'; 20 | 21 | describe('TimeZoneAbbrPipe', () => { 22 | it('create an instance', () => { 23 | const pipe = new TimeZoneAbbrPipe(); 24 | expect(pipe).toBeTruthy(); 25 | }); 26 | }); 27 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/app/pipes/timezone-abbr.pipe.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | import {Pipe, PipeTransform} from '@angular/core'; 20 | import * as moment from 'moment-timezone'; 21 | 22 | @Pipe({ 23 | name: 'timeZoneAbbr' 24 | }) 25 | export class TimeZoneAbbrPipe implements PipeTransform { 26 | 27 | transform(value: string): string { 28 | return moment.tz.zone(value).abbr(moment().valueOf()); 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/assets/images/ambari-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/ambari-logsearch/b4d7e7e161a3d60c32328da211a5d8985408e222/ambari-logsearch-web/src/assets/images/ambari-logo.png -------------------------------------------------------------------------------- /ambari-logsearch-web/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export const environment = { 20 | production: true 21 | }; 22 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | export const environment = { 20 | production: false 21 | }; 22 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/ambari-logsearch/b4d7e7e161a3d60c32328da211a5d8985408e222/ambari-logsearch-web/src/favicon.ico -------------------------------------------------------------------------------- /ambari-logsearch-web/src/main.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | import {enableProdMode} from '@angular/core'; 20 | import {platformBrowserDynamic} from '@angular/platform-browser-dynamic'; 21 | 22 | import {AppModule} from '@app/app.module'; 23 | import {environment} from '@envs/environment'; 24 | 25 | if (environment.production) { 26 | enableProdMode(); 27 | } 28 | 29 | platformBrowserDynamic().bootstrapModule(AppModule); 30 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/styles.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | @import './app/modules/shared/main';s 19 | html { 20 | font-size: @font-size-base; 21 | } 22 | body { 23 | background-color: @main-background-color; 24 | font-size: 1.4rem; 25 | } 26 | .initial-color { 27 | color: initial; 28 | } 29 | 30 | /** Override Bootstrap rules **/ 31 | .btn-link { 32 | &:hover, &:focus { 33 | text-decoration: none; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/app", 5 | "module": "es2015", 6 | "baseUrl": ".", 7 | "types": [] 8 | }, 9 | "exclude": [ 10 | "test.ts", 11 | "**/*.spec.ts" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/spec", 5 | "module": "commonjs", 6 | "target": "es5", 7 | "baseUrl": "", 8 | "types": [ 9 | "jasmine", 10 | "node" 11 | ] 12 | }, 13 | "files": [ 14 | "test.ts" 15 | ], 16 | "include": [ 17 | "**/*.spec.ts", 18 | "**/*.d.ts" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | /* SystemJS module definition */ 20 | declare var module: NodeModule; 21 | interface NodeModule { 22 | id: string; 23 | } 24 | -------------------------------------------------------------------------------- /ambari-logsearch-web/src/vendor/css/fonts/Roboto-Bold-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/ambari-logsearch/b4d7e7e161a3d60c32328da211a5d8985408e222/ambari-logsearch-web/src/vendor/css/fonts/Roboto-Bold-webfont.eot -------------------------------------------------------------------------------- /ambari-logsearch-web/src/vendor/css/fonts/Roboto-Bold-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/ambari-logsearch/b4d7e7e161a3d60c32328da211a5d8985408e222/ambari-logsearch-web/src/vendor/css/fonts/Roboto-Bold-webfont.ttf -------------------------------------------------------------------------------- /ambari-logsearch-web/src/vendor/css/fonts/Roboto-Bold-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/ambari-logsearch/b4d7e7e161a3d60c32328da211a5d8985408e222/ambari-logsearch-web/src/vendor/css/fonts/Roboto-Bold-webfont.woff -------------------------------------------------------------------------------- /ambari-logsearch-web/src/vendor/css/fonts/Roboto-Regular-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/ambari-logsearch/b4d7e7e161a3d60c32328da211a5d8985408e222/ambari-logsearch-web/src/vendor/css/fonts/Roboto-Regular-webfont.eot -------------------------------------------------------------------------------- /ambari-logsearch-web/src/vendor/css/fonts/Roboto-Regular-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/ambari-logsearch/b4d7e7e161a3d60c32328da211a5d8985408e222/ambari-logsearch-web/src/vendor/css/fonts/Roboto-Regular-webfont.ttf -------------------------------------------------------------------------------- /ambari-logsearch-web/src/vendor/css/fonts/Roboto-Regular-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/ambari-logsearch/b4d7e7e161a3d60c32328da211a5d8985408e222/ambari-logsearch-web/src/vendor/css/fonts/Roboto-Regular-webfont.woff -------------------------------------------------------------------------------- /ambari-logsearch-web/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compileOnSave": false, 3 | "compilerOptions": { 4 | "outDir": "./dist/out-tsc", 5 | "baseUrl": "src", 6 | "paths": { 7 | "@app/*": [ 8 | "app/*" 9 | ], 10 | "@envs/*": [ 11 | "environments/*" 12 | ], 13 | "@vendor/*": [ 14 | "vendor/*" 15 | ], 16 | "@modules/*": [ 17 | "app/modules/*" 18 | ], 19 | "@mockdata/*": [ 20 | "mockdata/*" 21 | ] 22 | }, 23 | "sourceMap": true, 24 | "declaration": false, 25 | "moduleResolution": "node", 26 | "emitDecoratorMetadata": true, 27 | "experimentalDecorators": true, 28 | "target": "es5", 29 | "typeRoots": [ 30 | "node_modules/@types" 31 | ], 32 | "lib": [ 33 | "es2016", 34 | "dom" 35 | ] 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /docker/.gitignore: -------------------------------------------------------------------------------- 1 | Profile 2 | .env 3 | -------------------------------------------------------------------------------- /docker/knox/gateway.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | 17 | set -e 18 | set -o pipefail 19 | 20 | nohup java -jar /knox/bin/gateway.jar > /gateway.out & 21 | 22 | -------------------------------------------------------------------------------- /docker/knox/keystores/test-secrets.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/ambari-logsearch/b4d7e7e161a3d60c32328da211a5d8985408e222/docker/knox/keystores/test-secrets.zip -------------------------------------------------------------------------------- /docker/knox/ldap.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | 17 | set -e 18 | set -o pipefail 19 | 20 | nohup java -jar /knox/bin/ldap.jar /knox/conf > /ldap.out & 21 | 22 | -------------------------------------------------------------------------------- /docker/test-config/logfeeder/shipper-conf/global.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "global":{ 3 | "add_fields":{ 4 | "cluster":"cl1" 5 | }, 6 | "source":"file", 7 | "tail":"true", 8 | "gen_event_md5":"true" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /docker/test-config/logfeeder/shipper-conf/input.config-hst.json: -------------------------------------------------------------------------------- 1 | { 2 | "input": [ 3 | { 4 | "type": "hst_agent", 5 | "rowtype": "service", 6 | "path": "/root/test-logs/smartsense/hst-agent-test-log.txt", 7 | "group": "Smartsense" 8 | } 9 | ], 10 | "filter": [ 11 | { 12 | "filter": "grok", 13 | "conditions": { 14 | "fields": { 15 | "type": [ 16 | "hst_agent" 17 | ] 18 | } 19 | }, 20 | "log4j_format": "", 21 | "multiline_pattern": "^(%{CUSTOM_DATESTAMP:logtime})", 22 | "message_pattern": "(?m)^%{CUSTOM_DATESTAMP:logtime}%{SPACE}%{LOGLEVEL:level}%{SPACE}\\[%{DATA:thread_name}\\]%{SPACE}%{JAVAFILE:file}:%{INT:line_number}%{SPACE}-%{SPACE}%{GREEDYDATA:log_message}", 23 | "post_map_values": { 24 | "logtime": { 25 | "map_date": { 26 | "target_date_pattern":"dd MMM yyyy HH:mm:ss" 27 | } 28 | }, 29 | "level": { 30 | "map_field_value": { 31 | "pre_value": "WARNING", 32 | "post_value": "WARN" 33 | } 34 | } 35 | } 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /docker/test-config/logfeeder/shipper-conf/input.config-logsearch-docker.json: -------------------------------------------------------------------------------- 1 | { 2 | "input": [ 3 | { 4 | "type": "logsearch_server", 5 | "rowtype": "service", 6 | "docker": "true", 7 | "default_log_levels" : [ 8 | "FATAL", "ERROR", "WARN", "INFO", "DEBUG" 9 | ] 10 | } 11 | ], 12 | "filter": [ 13 | { 14 | "filter": "grok", 15 | "conditions": { 16 | "fields": { 17 | "type": [ 18 | "logsearch_server" 19 | ] 20 | } 21 | }, 22 | "log4j_format": "", 23 | "multiline_pattern": "^(%{DATESTAMP:logtime})", 24 | "message_pattern": "(?m)^%{DATESTAMP:logtime}%{SPACE}\\[%{DATA:thread_name}\\]%{SPACE}%{LOGLEVEL:level}%{SPACE}%{JAVACLASS}%{SPACE}\\(%{JAVAFILE:file}:%{INT:line_number}\\)%{SPACE}-%{SPACE}%{GREEDYDATA:log_message}", 25 | "post_map_values": { 26 | "logtime": { 27 | "map_date": { 28 | "target_date_pattern":"yyyy-MM-dd HH:mm:ss,SSS" 29 | } 30 | } 31 | } 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /docker/test-config/logfeeder/shipper-conf/input.config-logsearch.json: -------------------------------------------------------------------------------- 1 | { 2 | "input": [ 3 | { 4 | "type": "logsearch_app", 5 | "rowtype": "service", 6 | "path": "/root/test-logs/logsearch/logsearch-test-log.json" 7 | } 8 | ], 9 | "filter": [ 10 | { 11 | "filter": "json", 12 | "conditions": { 13 | "fields": { 14 | "type": [ 15 | "logsearch_app" 16 | ] 17 | } 18 | } 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /docker/test-config/logfeeder/shipper-conf/input.config-secure_log.json: -------------------------------------------------------------------------------- 1 | { 2 | "input": [ 3 | { 4 | "type": "secure_log", 5 | "rowtype": "service", 6 | "path": "/root/test-logs/secure_log/secure-log.txt", 7 | "group": "System" 8 | } 9 | ], 10 | "filter": [ 11 | { 12 | "filter": "grok", 13 | "conditions": { 14 | "fields": { 15 | "type": [ 16 | "secure_log" 17 | ] 18 | } 19 | }, 20 | "multiline_pattern": "^(%{SYSLOGTIMESTAMP:logtime})", 21 | "message_pattern": "(?m)^%{SYSLOGTIMESTAMP:logtime}%{SPACE}%{SYSLOGHOST:host}%{SPACE}%{GREEDYDATA:log_message}", 22 | "post_map_values": { 23 | "logtime": { 24 | "map_date": { 25 | "target_date_pattern": "yyyy-MM-dd HH:mm:ss,SSS", 26 | "src_date_pattern" :"MMM dd HH:mm:ss" 27 | } 28 | } 29 | } 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /docker/test-config/logfeeder/shipper-conf/input.config-system_message.json: -------------------------------------------------------------------------------- 1 | { 2 | "input": [ 3 | { 4 | "type": "system_message", 5 | "rowtype": "service", 6 | "path": "/root/test-logs/system_message/message_logs.txt", 7 | "group": "System" 8 | } 9 | ], 10 | "filter": [ 11 | { 12 | "filter": "grok", 13 | "conditions": { 14 | "fields": { 15 | "type": [ 16 | "system_message" 17 | ] 18 | } 19 | }, 20 | "multiline_pattern": "^(%{SYSLOGTIMESTAMP:logtime})", 21 | "message_pattern": "(?m)^%{SYSLOGTIMESTAMP:logtime}%{SPACE}%{SYSLOGHOST:host}%{SPACE}%{GREEDYDATA:log_message}", 22 | "post_map_values": { 23 | "logtime": { 24 | "map_date": { 25 | "target_date_pattern": "yyyy-MM-dd HH:mm:ss,SSS", 26 | "src_date_pattern" :"MMM dd HH:mm:ss" 27 | } 28 | } 29 | } 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /docker/test-config/logfeeder/shipper-conf/input.config-zookeeper.json: -------------------------------------------------------------------------------- 1 | { 2 | "input": [ 3 | { 4 | "type": "zookeeper", 5 | "rowtype": "service", 6 | "path": "/root/test-logs/zookeeper/zookeeper-test-log.txt", 7 | "cache_enabled" : "true", 8 | "cache_size" : "10", 9 | "cache_dedup_interval" : "1000", 10 | "group": "Zookeeper" 11 | } 12 | ], 13 | "filter": [ 14 | { 15 | "filter": "grok", 16 | "conditions": { 17 | "fields": { 18 | "type": [ 19 | "zookeeper" 20 | ] 21 | } 22 | }, 23 | "log4j_format": "%d{ISO8601} - %-5p [%t:%C{1}@%L] - %m%n", 24 | "multiline_pattern": "^(%{TIMESTAMP_ISO8601:logtime})", 25 | "message_pattern": "(?m)^%{TIMESTAMP_ISO8601:logtime}%{SPACE}-%{SPACE}%{LOGLEVEL:level}%{SPACE}\\[%{DATA:thread_name}\\@%{INT:line_number}\\]%{SPACE}-%{SPACE}%{GREEDYDATA:log_message}", 26 | "post_map_values": { 27 | "logtime": { 28 | "map_date": { 29 | "target_date_pattern": "yyyy-MM-dd HH:mm:ss,SSS" 30 | } 31 | } 32 | } 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /docker/test-config/logfeeder/shipper-conf/output.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "output": [ 3 | { 4 | "is_enabled": "true", 5 | "comment": "Output to solr for service logs", 6 | "collection" : "hadoop_logs", 7 | "destination": "solr", 8 | "zk_connect_string": "localhost:9983", 9 | "type": "service", 10 | "skip_logtime": "true", 11 | "conditions": { 12 | "fields": { 13 | "rowtype": [ 14 | "service" 15 | ] 16 | } 17 | } 18 | }, 19 | { 20 | "comment": "Output to solr for audit records", 21 | "is_enabled": "true", 22 | "collection" : "audit_logs", 23 | "destination": "solr", 24 | "zk_connect_string": "localhost:9983", 25 | "type": "audit", 26 | "skip_logtime": "true", 27 | "conditions": { 28 | "fields": { 29 | "rowtype": [ 30 | "audit" 31 | ] 32 | } 33 | } 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /docker/test-config/solr/solr.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | ${host:} 21 | ${jetty.port:} 22 | ${hostContext:solr} 23 | ${zkClientTimeout:15000} 24 | ${genericCoreNodeNames:true} 25 | 26 | -------------------------------------------------------------------------------- /docker/test-config/solr/zoo.cfg: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | clientPort=9983 17 | initLimit=10 18 | autopurge.purgeInterval=24 19 | syncLimit=5 20 | tickTime=2000 21 | dataDir=/hadoop/zookeeper 22 | autopurge.snapRetainCount=30 23 | server.1=localhost:2888:3888 -------------------------------------------------------------------------------- /docker/test-logs/grafana/grafana.log: -------------------------------------------------------------------------------- 1 | 2018/11/22 10:45:09 [I] Migrator: exec migration id: create index UQE_quota_org_id_user_id_target - v1 2 | 2018/11/22 10:45:09 [I] Created default admin user: admin 3 | 2018/11/22 10:45:09 [I] Listen: http://0.0.0.0:3000 4 | Thu Nov 22 10:45:10 UTC 2018 pid_file has been written to 5 | OK 6 | 2018/11/22 10:45:20 [frontendsettings.go:47 getFrontendSettingsMap()] [E] Could not find plugin definition for data source 1: ambari-metrics 7 | 2018/11/22 10:46:20 [frontendsettings.go:47 getFrontendSettingsMap()] [E] Could not find plugin definition for data source 2: ambari-metrics 8 | 2018/11/22 10:46:20 [frontendsettings.go:47 getFrontendSettingsMap()] [E] Could not find plugin definition for data source 3: ambari-metrics 9 | -------------------------------------------------------------------------------- /docker/test-logs/hdfs-audit/hdfs-audit.log: -------------------------------------------------------------------------------- 1 | 2016-03-18 10:00:47,252 INFO FSNamesystem.audit: allowed=true ugi=ambari-qa (auth:SIMPLE) ip=/192.168.64.102 cmd=getfileinfo src=/ats/active dst=null perm=null proto=rpc callerContext=HIVE_QUERY_ID:ambari-qa_20160317200111_223b3079-4a2d-431c-920f-6ba37ed63e9f 2 | 2016-03-18 10:00:48,939 INFO FSNamesystem.audit: allowed=true ugi=ambari-qa (auth:SIMPLE) ip=/192.168.64.102 cmd=delete src=/tmp/hive/ambari-qa/resource1 dst=null perm=null proto=rpc 3 | 2016-03-18 10:00:49,242 INFO FSNamesystem.audit: allowed=true ugi=ambari-qa (auth:SIMPLE) ip=/192.168.64.102 cmd=getfileinfo src=/tmp/hive/ambari-qa/resource2 dst=null perm=null proto=rpc 4 | 2016-03-18 10:00:49,277 INFO FSNamesystem.audit: allowed=true ugi=ambari-qa (auth:SIMPLE) ip=/192.168.64.102 cmd=getfileinfo src=/tmp/hive/ambari-qa/resource2 dst=null perm=null proto=rpc 5 | -------------------------------------------------------------------------------- /docker/test-logs/logsearch/logsearch-test-log.json: -------------------------------------------------------------------------------- 1 | {"level":"WARN","file":"ClientCnxn.java","thread_name":"zkCallback-6-thread-10-SendThread(c6402.ambari.apache.org:2181)","line_number":1102,"log_message":"Session 0x355e0023b38001d for server null, unexpected error, closing socket connection and attempting reconnect\njava.net.SocketException: Network is unreachable\n\tat sun.nio.ch.Net.connect0(Native Method)\n\tat sun.nio.ch.Net.connect(Net.java:454)\n\tat sun.nio.ch.Net.connect(Net.java:446)\n\tat sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)\n\tat org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:277)\n\tat org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:287)\n\tat org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:967)\n\tat org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1003)\n","logger_name":"org.apache.zookeeper.ClientCnxn","logtime":"1468406756757"} -------------------------------------------------------------------------------- /docker/test-logs/secure_log/secure-log.txt: -------------------------------------------------------------------------------- 1 | Aug 9 11:53:53 logsearch.apache.org su: pam_unix(su-l:session): session opened for user ambari-qa by (uid=0) 2 | Aug 9 11:53:53 logsearch.apache.org su: pam_unix(su-l:session): session closed for user ambari-qa 3 | Aug 9 11:53:53 logsearch.apache.org su: pam_unix(su-l:session): session opened for user ambari-qa by (uid=0) 4 | Aug 9 11:53:53 logsearch.apache.org su: pam_unix(su-l:session): session closed for user ambari-qa 5 | Aug 9 11:54:19 logsearch.apache.org su: pam_unix(su-l:session): session opened for user ambari-qa by (uid=0) 6 | Aug 9 11:54:19 logsearch.apache.org su: pam_unix(su-l:session): session closed for user ambari-qa 7 | Aug 9 11:54:19 logsearch.apache.org su: pam_unix(su-l:session): session opened for user ambari-qa by (uid=0) 8 | Aug 9 11:54:19 logsearch.apache.org su: pam_unix(su-l:session): session closed for user ambari-qa 9 | Aug 9 11:54:22 logsearch.apache.org su: pam_unix(su-l:session): session opened for user yarn by (uid=0) 10 | Aug 9 11:54:22 logsearch.apache.org su: pam_unix(su-l:session): session closed for user yarn 11 | Aug 9 11:54:22 logsearch.apache.org su: pam_unix(su-l:session): session opened for user yarn by (uid=0) 12 | -------------------------------------------------------------------------------- /docker/test-logs/smartsense/hst-agent-test-log.txt: -------------------------------------------------------------------------------- 1 | 18 Jul 2016 17:06:46 DEBUG [MainThread] lock.py:97 - Got the handle of lock file. 2 | 18 Jul 2016 17:06:46 INFO [MainThread] security.py:175 - Server certificate not exists, downloading 3 | 18 Jul 2016 17:06:46 INFO [MainThread] security.py:188 - Downloading server cert from https://myurl:9440/cert/ca/ 4 | 18 Jul 2016 17:06:46 WARNING [MainThread] lock.py:60 - Releasing the lock. -------------------------------------------------------------------------------- /docker/test-logs/storm/worker-logs/streamline-1-TestAgg-2-3/6700/worker.log: -------------------------------------------------------------------------------- 1 | 2017-10-23 13:41:43.481 o.a.s.d.executor Thread-11-__acker-executor[7 8] [INFO] Preparing bolt __acker:(1) 2 | 2017-10-23 13:41:43.483 o.a.s.d.executor Thread-11-__acker-executor[7 8] [WARN] Prepared bolt __acker:(2) 3 | 2017-10-23 13:41:48.834 c.h.s.s.n.EmailNotifier Thread-7-8-NOTIFICATION-executor[3 3] [ERROR] Got exception while initializing transport 4 | 2017-10-23 13:41:58.242 o.a.s.d.executor main [INFO] Loading executor 3-NOTIFICATION:[9 1] 5 | 2017-10-23 13:41:59.242 o.a.s.d.executor Thread-11-__acker-executor[7 8] [WARN] Prepared bolt __acker:(3) 6 | -------------------------------------------------------------------------------- /docker/test-logs/storm/worker-logs/streamline-1-TestAgg-2-3/6701/worker.log: -------------------------------------------------------------------------------- 1 | 2017-10-23 13:41:43.481 o.a.s.d.executor Thread-11-__acker-executor[5 5] [INFO] Preparing bolt __acker:(4) 2 | 2017-10-23 13:41:43.483 o.a.s.d.executor Thread-11-__acker-executor[5 5] [WARN] Prepared bolt __acker:(5) 3 | 2017-10-23 13:41:48.834 c.h.s.s.n.EmailNotifier Thread-5-3-NOTIFICATION-executor[3 3] [ERROR] Got exception while initializing transport 4 | 2017-10-23 13:41:58.242 o.a.s.d.executor main [INFO] Loading executor 3-NOTIFICATION:[3 1] 5 | 2017-10-23 13:41:59.242 o.a.s.d.executor Thread-11-__acker-executor[5 5] [WARN] Prepared bolt __acker:(6) 6 | -------------------------------------------------------------------------------- /docker/test-logs/zookeeper/zookeeper-test-log.txt: -------------------------------------------------------------------------------- 1 | 2016-07-13 10:45:49,640 - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@362] - Exception causing close of session 0x0 due to java.io.IOException: ZooKeeperServer not running 2 | 2016-07-13 10:45:49,640 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1007] - Closed socket connection for client /192.168.64.101:39626 (no session established for client) 3 | 2016-07-13 10:45:50,351 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@197] - Accepted socket connection from /192.168.64.101:39632 -------------------------------------------------------------------------------- /docs/about.md: -------------------------------------------------------------------------------- 1 | 17 | 18 | ## Contribution Guide 19 | 20 | https://cwiki.apache.org/confluence/display/AMBARI/How+to+Contribute 21 | 22 | (That is the ambari contribution guide, everything is the same here except use ambari-logsearch repository instead of ambari) 23 | 24 | ## License 25 | 26 | [Apache 2.0 LICENSE](https://www.apache.org/licenses/LICENSE-2.0) -------------------------------------------------------------------------------- /docs/docs.md: -------------------------------------------------------------------------------- 1 | 17 | 18 | ### Rest API doc 19 | 20 | Swagger specification: [logsearch-swagger.yaml](api-docs/logsearch-swagger.yaml) 21 | 22 | ### Javadoc 23 | 24 | Generate javadoc with the following command from the project root: 25 | 26 | ```bash 27 | make javadoc 28 | ``` -------------------------------------------------------------------------------- /docs/images/add_service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/ambari-logsearch/b4d7e7e161a3d60c32328da211a5d8985408e222/docs/images/add_service.png -------------------------------------------------------------------------------- /docs/images/add_service_wizard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/ambari-logsearch/b4d7e7e161a3d60c32328da211a5d8985408e222/docs/images/add_service_wizard.png -------------------------------------------------------------------------------- /docs/images/architecture_overview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/ambari-logsearch/b4d7e7e161a3d60c32328da211a5d8985408e222/docs/images/architecture_overview.jpg -------------------------------------------------------------------------------- /docs/images/edit_configs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/ambari-logsearch/b4d7e7e161a3d60c32328da211a5d8985408e222/docs/images/edit_configs.jpg -------------------------------------------------------------------------------- /docs/images/test_sample.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/ambari-logsearch/b4d7e7e161a3d60c32328da211a5d8985408e222/docs/images/test_sample.jpg -------------------------------------------------------------------------------- /docs/images/test_sample_result.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/ambari-logsearch/b4d7e7e161a3d60c32328da211a5d8985408e222/docs/images/test_sample_result.jpg -------------------------------------------------------------------------------- /jenkins/containers/docker-logsearch-logfeeder/bin/init.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | echo "No init file specified." -------------------------------------------------------------------------------- /jenkins/containers/docker-logsearch-logfeeder/conf/logfeeder-env.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | LOGFEEDER_JAVA_MEM=${LOGFEEDER_JAVA_MEM:-"-Xmx1024m"} -------------------------------------------------------------------------------- /jenkins/containers/docker-logsearch-logfeeder/shipper-conf/global.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "global":{ 3 | "add_fields":{ 4 | "cluster":"cl1" 5 | }, 6 | "source":"file", 7 | "tail":"true", 8 | "gen_event_md5":"true" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /jenkins/containers/docker-logsearch-logfeeder/shipper-conf/output.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "output": [ 3 | { 4 | "is_enabled": "true", 5 | "comment": "Output to solr for service logs", 6 | "collection" : "service_logs", 7 | "destination": "solr", 8 | "zk_connect_string": "localhost:9983", 9 | "type": "service", 10 | "skip_logtime": "true", 11 | "conditions": { 12 | "fields": { 13 | "rowtype": [ 14 | "service" 15 | ] 16 | } 17 | } 18 | }, 19 | { 20 | "comment": "Output to solr for audit records", 21 | "is_enabled": "true", 22 | "collection" : "audit_logs", 23 | "destination": "solr", 24 | "zk_connect_string": "localhost:9983", 25 | "type": "audit", 26 | "skip_logtime": "true", 27 | "conditions": { 28 | "fields": { 29 | "rowtype": [ 30 | "audit" 31 | ] 32 | } 33 | } 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /jenkins/containers/docker-logsearch-portal/bin/init.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | echo "No init file specified." -------------------------------------------------------------------------------- /jenkins/containers/docker-logsearch-portal/conf/logsearch-env.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | LOGSEARCH_JAVA_MEM=${LOGSEARCH_JAVA_MEM:-"-Xmx1024m"} -------------------------------------------------------------------------------- /k8s/helm-charts/infra-solr/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | name: infra-solr 3 | version: 1.0.0 4 | description: Infra solr service for Log Search components 5 | keywords: 6 | - infra-solr 7 | maintainers: 8 | - name: Apache 9 | deprecated: false -------------------------------------------------------------------------------- /k8s/helm-charts/infra-solr/values.yaml: -------------------------------------------------------------------------------- 1 | enabled: true 2 | infraSolrImage: "apache/ambari-infra-solr:latest" 3 | heapSize: "512m" 4 | global: 5 | clusterDomain: "cluster.local" 6 | namespace: 7 | logging: "default" 8 | solr: 9 | replicas: 3 10 | 11 | loglevel: INFO 12 | affinity: true 13 | 14 | persistence: 15 | enabled: false 16 | size: 100G 17 | 18 | zkRelease: test-zk -------------------------------------------------------------------------------- /k8s/helm-charts/logsearch/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | name: logsearch 3 | version: 1.0.0 4 | description: Apache Ambari Log Search service 5 | keywords: 6 | - logsearch 7 | maintainers: 8 | - name: Apache 9 | deprecated: false -------------------------------------------------------------------------------- /k8s/helm-charts/logsearch/values.yaml: -------------------------------------------------------------------------------- 1 | enabled: true 2 | image: apache/ambari-logsearch-portal:latest 3 | configMountPath: /logsearch-conf 4 | 5 | global: 6 | clusterDomain: "cluster.local" 7 | namespace: 8 | logging: "default" 9 | kubernetesApi: "default" 10 | solr: 11 | replicas: 3 12 | 13 | username: admin 14 | password: admin 15 | configApiEnabled: true 16 | 17 | rbac: 18 | enabled: false -------------------------------------------------------------------------------- /k8s/helm-charts/zookeeper/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | name: zookeeper 3 | version: 1.0.0 4 | description: zookeeper service for our components 5 | keywords: 6 | - zookeeper 7 | maintainers: 8 | - name: Apache 9 | deprecated: false -------------------------------------------------------------------------------- /k8s/helm-charts/zookeeper/values.yaml: -------------------------------------------------------------------------------- 1 | enabled: true 2 | zookeeperImage: "k8s.gcr.io/kubernetes-zookeeper:1.0-3.4.10" 3 | 4 | affinity: false 5 | persistence: 6 | enabled: false 7 | size: 100G 8 | 9 | replicas: 1 --------------------------------------------------------------------------------