Logsender¶
logscraper 工具解析目录中可用的日志文件,附加在 buildlog 和 inventory.yaml 文件中提供的重要数据,并直接发送到 Opensearch 服务。
logsender 可用的参数是
logsender --help
Check log directories and push to the Opensearch service
options:
-h, --help show this help message and exit
--directory DIRECTORY
Directory, where the logs will be stored. Defaults to: /tmp/logscraper
--host HOST Opensearch host
--port PORT Opensearch port
--username USERNAME Opensearch username
--password PASSWORD Opensearch user password
--index-prefix INDEX_PREFIX
Prefix for the index. Defaults to logstash-
--index INDEX Opensearch index. Defaults to: <index-prefix>-YYYY-DD
--insecure Skip validating SSL cert
--follow Keep sending CI logs
--workers WORKERS Worker processes for logsender
--chunk-size CHUNK_SIZE
The bulk chunk size
--keep Do not remove log directory after
--ignore-es-status Ignore Opensearch bulk
--debug DEBUG Be more verbose
基本用法¶
根据使用场景,我们可以运行 logsender。
示例
将日志发送到运行在本地主机上的服务,跳过 TLS 证书验证
logsender --username logstash --password logstashpassword --host localhost --port 9200 --insecure
将日志发送到服务,使用 8 个 worker 并忽略 Opensearch 批量更新状态。警告:不应在生产环境中使用 –ignore-es-status!
logsender --username logstash --password logstashpassword --host localhost --port 9200 --insecure --workers 8 --ignore-es-status
将日志发送到 elasticsaerch 服务,提供自定义索引名称“myindex”并保留日志文件(不会被删除)
logsender --username logstash --password logstashpassword --index myindex --keep
容器化工具¶
您可以构建包含 logscraper 工具的自定义容器镜像,而不是使用 pip 工具,例如
docker build -t logscraper -f Dockerfile
注意:logsender 工具将包含在 logscraper 容器镜像中。
然后您可以执行上述命令。
注意:存储日志文件的目录应挂载到容器中。例如
podman run \
--network host \
-d \
--name logsender-openstack \
--volume /mnt/logscraper/openstack:/mnt/logscraper/openstack:z \
logscraper \
/usr/local/bin/logsender \
--username admin \
--password admin \
--host localhost \
--port 9200 \
--directory /mnt/logscraper/openstack \
--follow