Ejemplo n.º 1
0
        private ConsumerGroupHostSettings GetConsumerGroupHostSettings(ILog log, AirlockEnvironmentVariables environmentVariables)
        {
            var consumerGroupPrefix       = environmentVariables.GetValue("CONSUMER_GROUP_PREFIX", $"{GetType().Name}@{Dns.GetHostName()}");
            var consumerGroupId           = $"{consumerGroupPrefix}_{ServiceName}";
            var kafkaBootstrapEndpoints   = environmentVariables.GetValue("KAFKA_BOOTSTRAP_ENDPOINTS", defaultKafkaBootstrapEndpoints);
            var autoResetOffsetPolicy     = environmentVariables.GetEnumValue("KAFKA_AUTO_OFFSET_RESET", AutoResetOffsetPolicy.Latest);
            var consumerGroupHostSettings = new ConsumerGroupHostSettings(kafkaBootstrapEndpoints, consumerGroupId, ProcessorHostSettings, autoResetOffsetPolicy);

            log.Info($"ConsumerGroupHostSettings: {consumerGroupHostSettings.ToPrettyJson()}");
            return(consumerGroupHostSettings);
        }
Ejemplo n.º 2
0
        public ConsumerGroupHost Initialize(ILog log, AirlockEnvironmentVariables environmentVariables)
        {
            var environment            = environmentVariables.GetValue("VOSTOK_ENV", "dev");
            var metricRoutingKeyPrefix = RoutingKey.CreatePrefix("vostok", environment, ServiceName);
            var graphiteUri            = GetGraphiteUri(log, environmentVariables);
            var graphiteSinkConfig     = new GraphiteSinkConfig
            {
                GraphiteHost = graphiteUri.Host,
                GraphitePort = graphiteUri.Port
            };

            log.Info($"GraphiteSinkConfig: {graphiteSinkConfig.ToPrettyJson()}");
            graphiteSink = new GraphiteSink(graphiteSinkConfig, log);
            var rootMetricScope = new RootMetricScope(new MetricConfiguration
            {
                Reporter = new GraphiteMetricReporter(graphiteSink, metricRoutingKeyPrefix, log)
            });
            var consumerGroupHostSettings = GetConsumerGroupHostSettings(log, environmentVariables);

            consumerMetrics = new ConsumerMetrics(consumerGroupHostSettings.FlushMetricsInterval, rootMetricScope);

            DoInitialize(log, rootMetricScope, environmentVariables, out var routingKeyFilter, out var processorProvider);

            return(new ConsumerGroupHost(consumerGroupHostSettings, log, consumerMetrics, routingKeyFilter, processorProvider));
        }
Ejemplo n.º 3
0
        protected static Uri GetGraphiteUri(ILog log, AirlockEnvironmentVariables environmentVariables)
        {
            var graphiteEndpoint = environmentVariables.GetValue("GRAPHITE_ENDPOINT", defaultGraphiteEndpoint);
            var graphiteUri      = new Uri($"tcp://{graphiteEndpoint}");

            log.Info($"GraphiteUri: {graphiteUri}");
            return(graphiteUri);
        }