コード例 #1
0
 private static TelegrafSyslogProvider GetLogs(TelegrafClientSettings settings)
 {
     return(new TelegrafSyslogProvider(
                settings.Hostname,
                settings.Appname,
                settings.SyslogSettings,
                settings.MessageTransportProtocol,
                settings.ServerHost,
                settings.LogServerPort,
                settings.TcpSenderSettings
                ));
 }
コード例 #2
0
        private static PipelinedMetricsCollector GetMetrics(TelegrafClientSettings settings)
        {
            var config = TelegrafCollectorConfiguration.Create()
                         .Tag.With("hostname", settings.Hostname)
                         .Tag.With("appname", settings.Appname);

            switch (settings.MessageTransportProtocol)
            {
            case TransportProtocol.Tcp:
                return(config.WriteTo.Tcp(
                           settings.ServerHost,
                           settings.MetricServerPort,
                           settings.TcpSenderSettings)
                       .CreateCollector());

            case TransportProtocol.Udp:
                return(config.WriteTo.Udp(settings.ServerHost, settings.MetricServerPort).CreateCollector());

            default:
                throw new ArgumentOutOfRangeException(nameof(settings.MessageTransportProtocol));
            }
        }
コード例 #3
0
 public static TelegrafClient SetupMetricsOnly(TelegrafClientSettings settings)
 {
     return(new TelegrafClient(GetMetrics(settings), null));
 }
コード例 #4
0
 public static TelegrafClient SetupLogsOnly(TelegrafClientSettings settings)
 {
     return(new TelegrafClient(null, GetLogs(settings)));
 }
コード例 #5
0
 public static TelegrafClient Setup(TelegrafClientSettings settings)
 {
     return(new TelegrafClient(GetMetrics(settings), GetLogs(settings)));
 }
コード例 #6
0
 public static TelegrafClient Setup() => Setup(TelegrafClientSettings.Default());