Openshift 3.9 Как добавить плагин к fluentD

Обновление

: начиная с .NET 4.5 есть IReadOnlyList и IReadOnlyCollection , которые являются ковариантными; Последний в основном IEnumerable плюс Count; первый добавляет T this[int index] {get;}. Следует также отметить, что IEnumerable ковариантно от .NET 4.0 и далее.

И List, и ReadOnlyCollection (через List.AsReadOnly() ) реализуют обе эти функции.


Он может быть только ковариантным, если он имеет только индекс get, т. е.

public T this[int index] { get; }

Но все основные коллекции имеют {get;set;}, что делает это неудобным. Я не знаю о том, что этого достаточно, но вы можете обернуть , т. Е. Написать метод расширения:

var covariant = list.AsCovariant();

, который является оберткой вокруг IList который предоставляет только IEnumerable и get индексатор ...? должно быть всего несколько минут работы ...

public static class Covariance
{
    public static IIndexedEnumerable AsCovariant(this IList tail)
    {
        return new CovariantList(tail);
    }
    private class CovariantList : IIndexedEnumerable
    {
        private readonly IList tail;
        public CovariantList(IList tail)
        {
            this.tail = tail;
        }
        public T this[int index] { get { return tail[index]; } }
        public IEnumerator GetEnumerator() { return tail.GetEnumerator();}
        IEnumerator IEnumerable.GetEnumerator() { return tail.GetEnumerator(); }
        public int Count { get { return tail.Count; } }
    }
}
public interface IIndexedEnumerable : IEnumerable
{
    T this[int index] { get; }
    int Count { get; }
}

0
задан Danny 22 March 2019 в 08:57
поделиться

1 ответ

Спасибо за присоединение configmap и развертывание yaml. Можете ли вы попробовать ниже конфигурации.

Из Обзор плагина Parser . Они предоставили простой пример для получения журналов nginx.

<source>
  @type tail
  path /path/to/input/file
  <parse>
    @type nginx
    keep_time_key true
  </parse>
</source>

Можете ли вы добавить вышеуказанный конфиг в configmap и попробовать. Парсер nginx встроен, ссылка, которую вы предоставили, является объяснением внутренних частей синтаксического анализатора. Если вам не нравится способ выбора / разбора, вы можете написать свой собственный.

В любом случае, используя @type, мы можем определить тип парсера, который нам нужен.

PS: Сейчас у меня нет никаких настроек, чтобы проверить это. Также у меня мало знаний в fluentd

РЕДАКТИРОВАТЬ:

Я думаю, вы уже знали, как fluentd получает журналы ... В вашей ссылке на Раздел volumeMounts, он монтирует хост /var/lib/docker/containers, который содержит все метаданные контейнера, журналы и т. Д.

0
ответ дан Veerendra 22 March 2019 в 08:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: