logstash输出自身运行日志到文件

查看默认日志配置文件:
vim logstash/config/log4j2.properties

status = error
name = LogstashPropertiesConfig

appender.console.type = Console
appender.console.name = plain_console
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c] %m%n

appender.json_console.type = Console
appender.json_console.name = json_console
appender.json_console.layout.type = JSONLayout
appender.json_console.layout.compact = true
appender.json_console.layout.eventEol = true

rootLogger.level = ${sys:ls.log.level}
rootLogger.appenderRef.console.ref = ${sys:ls.log.format}_console

根据配置文件可以看出只是打印 并未进行文件存储
将配置文件改为:

status = error
name = LogstashPropertiesConfig

#filename = /usr/share/logstash/logs

appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = logs/logstash.log
appender.rolling.filePattern = logs/logstash-%d{yyyy-MM-dd}-%i.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = [%d{ISO8601}][%-5p][%-25c] %m%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true
#appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
#appender.rolling.policies.size.size=50MB
#appender.rolling.strategy.type = DefaultRolloverStrategy
#appender.rolling.strategy.max = 5

appender.console.type = Console
appender.console.name = plain_console
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c] %m%n

appender.json_console.type = Console
appender.json_console.name = json_console
appender.json_console.layout.type = JSONLayout
appender.json_console.layout.compact = true
appender.json_console.layout.eventEol = true

rootLogger.level = ${sys:ls.log.level}
rootLogger.appenderRef.rolling.ref = RollingFile
rootLogger.appenderRef.console.ref = ${sys:ls.log.format}_console

抛错没有创建日志文件的权限
原因:与宿主机挂载了数据卷,宿主机给的logs目录权限不足 将宿主机logs目录设置为777权限即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Docker上部署Logstash,您可以按照以下步骤进行操作: 1. 首先,创建一个新的目录来存放您的Logstash配置文件和日志文件。在终端中运行以下命令: ``` mkdir logstash_config cd logstash_config ``` 2. 在该目录下创建一个名为 `logstash.conf` 的配置文件,并使用您自己的配置填充它。例如,以下是一个简单的Logstash配置示例,用于将日志从stdin输入并输出到stdout: ``` input { stdin {} } output { stdout {} } ``` 3. 创建一个名为 `Dockerfile` 的文件,并使用以下内容填充它: ```Dockerfile FROM docker.elastic.co/logstash/logstash:7.15.0 # 将 Logstash 配置文件复制到容器中 COPY logstash.conf /usr/share/logstash/pipeline/ # 设置 Logstash 的日志输出路径 ENV PATH_LOGS=/usr/share/logstash/logs RUN mkdir -p ${PATH_LOGS} # 启动 Logstash CMD ["logstash", "--path.settings", "/usr/share/logstash/config", "--path.logs", "${PATH_LOGS}"] ``` 4. 构建Docker镜像。在终端中运行以下命令: ``` docker build -t logstash-docker . ``` 5. 运行Logstash容器。使用以下命令将stdin绑定到Logstash容器的输入,并将stdout绑定到主机上的一个文件中: ``` docker run -it --rm -v /path/to/host/logfile:/usr/share/logstash/logs/logfile -v /dev/stdin:/usr/share/logstash/logs/stdin logstash-docker ``` 注意替换 `/path/to/host/logfile` 为您想要存储Logstash日志的主机路径。 这样,您就可以使用Docker部署Logstash,并根据您的需求进行配置。希望对您有帮助!如果您有更多问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L-960

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值