CSV
The CSV source tails CSV-formatted log files on the collector host and parses each row into a structured log record. You supply a comma-delimited header that names the columns, and Bindplane maps each value in a row to the matching key.
Supported Telemetry Types
Linux
✓
Windows
✓
macOS
✓
Prerequisites
A collector installed on the host where the CSV files reside.
Read access for the collector to the file or directory paths being tailed.
A header that lists the column names in the same order they appear in the files.
Configuration

General
Header
String
A comma-delimited list of keys assigned to each of the columns. Required.
File Path(s)
Strings
[]
File or directory paths to tail for logs. Required.
Exclude File Path(s)
Strings
[]
File or directory paths to exclude from tailing.
Log Type
String
csv
A friendly name that is added to each log entry as an attribute.
Advanced
Encoding
Enum
utf-8
The encoding of the file being read. Valid values: nop, utf-8, utf-16le, utf-16be, ascii, big5.
Start At
Enum
end
Start reading logs from beginning or end of the file.
Parse
Boolean
true
Parses the CSV fields into structured data using the configured header. Set to false to keep the raw line without parsing.
Example Configuration
Standalone Source
Configuration Tips
Matching the header to your files
List the keys in
headerin the exact order the columns appear in the file. The number of keys should match the number of columns, otherwise rows may parse with missing or shifted values.If your files do not include a header row, the
headerparameter still supplies the column names, so the first data row is parsed normally.
File paths and read position
file_pathaccepts both individual files and directory glob patterns (for example,/var/log/myapp/*.csv), and multiple entries can be supplied.Use
start_at: beginningto ingest existing file contents on first run. Leave it atendto read only new lines appended after the collector starts.Use
exclude_file_pathto skip files that would otherwise match afile_pathglob, such as rotated or archived files.
Encoding
Set
encodingto match the file's character set. Usenopto read bytes without decoding when the file is not text.
Troubleshooting
Symptom: Logs are ingested but the fields are not split into separate attributes. Solution: Confirm parse is set to true and that header lists every column. When parsing is disabled or the header is empty, rows are kept as the raw line instead of structured data.
Symptom: Column values appear under the wrong keys. Solution: Verify the order and count of keys in header match the columns in the file. A mismatch shifts values into adjacent fields.
Symptom: No logs are collected from existing files. Solution: The source defaults to start_at: end, which reads only new lines. Set start_at to beginning to ingest content that already exists in the files, and confirm the collector has read access to the configured paths.
Last updated
Was this helpful?