Спасибо за присоединение configmap и развертывание yaml. Можете ли вы попробовать ниже конфигурации.
Из Обзор плагина Parser . Они предоставили простой пример для получения журналов nginx.
Можете ли вы добавить вышеуказанный конфиг в configmap и попробовать. Парсер nginx встроен, ссылка, которую вы предоставили, является объяснением внутренних частей синтаксического анализатора. Если вам не нравится способ выбора / разбора, вы можете написать свой собственный.
В любом случае, используя @type
, мы можем определить тип парсера, который нам нужен.
PS: Сейчас у меня нет никаких настроек, чтобы проверить это. Также у меня мало знаний в fluentd
РЕДАКТИРОВАТЬ:
Я думаю, вы уже знали, как fluentd
получает журналы ... В вашей ссылке на Раздел volumeMounts
, он монтирует хост /var/lib/docker/containers
, который содержит все метаданные контейнера, журналы и т. Д.
var reader = cmd.ExecuteReader();
var columns = new List<string>();
for(int i=0;i<reader.FieldCount;i++)
{
columns.Add(reader.GetName(i));
}
или
var columns = Enumerable.Range(0, reader.FieldCount).Select(reader.GetName).ToList();
Существует a GetName
функция на SqlDataReader
который принимает индекс столбца и возвращает название столбца.
С другой стороны существует a GetOrdinal
который берет в имени столбца и возвращает индекс столбца.
Вы верная банка.
protected void GetColumNames_DataReader()
{
System.Data.SqlClient.SqlConnection SqlCon = new System.Data.SqlClient.SqlConnection("server=localhost;database=northwind;trusted_connection=true");
System.Data.SqlClient.SqlCommand SqlCmd = new System.Data.SqlClient.SqlCommand("SELECT * FROM Products", SqlCon);
SqlCon.Open();
System.Data.SqlClient.SqlDataReader SqlReader = SqlCmd.ExecuteReader();
System.Int32 _columncount = SqlReader.FieldCount;
System.Web.HttpContext.Current.Response.Write("SqlDataReader Columns");
System.Web.HttpContext.Current.Response.Write(" ");
for ( System.Int32 iCol = 0; iCol < _columncount; iCol ++ )
{
System.Web.HttpContext.Current.Response.Write("Column " + iCol.ToString() + ": ");
System.Web.HttpContext.Current.Response.Write(SqlReader.GetName( iCol ).ToString());
System.Web.HttpContext.Current.Response.Write(" ");
}
}
Это первоначально от: http://www.dotnetjunkies.ddj.com/Article/B82A22D1-8437-4C7A-B6AA-C6C9BE9DB8A6.dcik
Можно получить имена столбцов от DataReader.
Вот важная часть:
for (int col = 0; col < SqlReader.FieldCount; col++)
{
Console.Write(SqlReader.GetName(col).ToString()); // Gets the column name
Console.Write(SqlReader.GetFieldType(col).ToString()); // Gets the column type
Console.Write(SqlReader.GetDataTypeName(col).ToString()); // Gets the column database type
}