Logstash配置以服务方式运行

  1. 0X01 环境准备
  2. 0x02 配置
    1. 0x03 创建服务
    2. 0x04 启动服务
    3. 0x05 查看日志

logstash最常见的运行方式即命令行运行./bin/logstash -f logstash.conf然后通过ctrl+c结束,这种方式的优点在于运行方便,但是缺点也很明显,不便于管理,同时如果遇到服务器重启,则维护成本会更高一些,如果在生产环境运行logstash建议还是使用服务的方式运行。本文介绍如何将logstash加入linux的service中,以服务的方式启动logstash,同时借助service的特性实现开机自启动的能力。

0X01 环境准备

  • logstash 5.x 以上版本,假设安装在/opt/logstash目录
  • Centos服务器

0x02 配置

在安装目录下修改startip.optins文件

vi /opt/logstash/config/startup.options
# Set a home directory
LS_HOME=/opt/logstash

# logstash settings directory, the path which contains logstash.yml
LS_SETTINGS_DIR=/opt/logstash/config

# Arguments to pass to logstash
LS_OPTS="--path.settings ${LS_SETTINGS_DIR} -f /root/mylogstash"
# 我们把logstash的配置文件如logstash.conf都放在/root/mylogstash目录下面 

# user and group id to be invoked as
LS_USER=root
LS_GROUP=root

之后我们编辑logstash.conf 配置文件,下面的例子将heartbeat写到磁盘上

input{
    heartbeat{
        interval => 60
        type => "heartbeat"
        message => "logstash is alive"
    }

    syslog{
        host => "0.0.0.0"
        port => 1514
    }
}

output{
    file {
        path => "/root/logs/%{+yyyyMMdd}.log"
        codec => line { format => "%{message}"}
    }
}

0x03 创建服务

以root身份执行logstash命令创建服务

/opt/logstash/bin/system-install

完成后在会在这里创建一个配置文件/etc/systemd/system/logstash.service

0x04 启动服务

启动Logstash服务

  • 设置服务自启动:systemctl enable logstash
  • 启动服务:systemctl start logstash
  • 停止服务:systemctl stop logstash
  • 重启服务:systemctl restart logstash
  • 查看服务状态:systemctl status logstash

0x05 查看日志

默认情况下日志会保存在以下两个位置

  • /var/log/messages
  • /opt/logstash/logs

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 370716264@qq.com

文章标题:Logstash配置以服务方式运行

文章字数:440

本文作者:Charles Liu

发布时间:2019-12-21, 14:02:00

最后更新:2019-12-21, 14:04:23

原始链接:http://www.dearcharles.cn/2019/12/21/Logstash配置以服务方式运行/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录