logstash的一些实践(2)自启动service和配置自动刷新

CentOS下的自启动service,实现读取多配置文件和配置文件自动刷新,将logstash放在/data/logstash下,编写logstash.service如下:

[Unit]
Description=logstash

[Service]
Type=simple
User=root
Group=root
Environment=JAVA_HOME=/usr/java/jdk1.8.0_201
Environment=LS_HOME=/data/logstash
Environment=LS_SETTINGS_DIR=/data/logstash/config/
Environment=LS_PIDFILE=/data/logstash/logstash.pid
Environment=LS_USER=root
Environment=LS_GROUP=root
Environment=LS_GC_LOG_FILE=/data/logstash/logs/gc.log
Environment=LS_OPEN_FILES=16384
Environment=LS_NICE=19
Environment=SERVICE_NAME=logstash
Environment=SERVICE_DESCRIPTION=logstash
ExecStart=/data/logstash/bin/logstash "-f" "/data/logstash/conf.d/" "--config.reload.automatic"
Restart=always
WorkingDirectory=/data/logstash
Nice=19
LimitNOFILE=16384

[Install]
WantedBy=multi-user.target

配置文件中通过ExecStart来控制logstash的启动命令,--config.reload.automatic即支持自动刷新配置文件,"-f" "/data/logstash/conf.d/"即支持读取conf.d目录下的所有配置文件。
通常我们将默认配置文件分为in.conf、filter.conf以及out.conf,由于支持动态刷新,所以添加配置文件时可以直接加入in2.conf、filter2.conf等,但是要记住在配置文件中一定要加上type来区分不同的输入输出。
执行如下命令,实施自启动配置。

# chmod +x logstash.service
# cp logstash.service /usr/lib/systemd/system
# systemctl daemon-reload
# systemctl enable logstash
# systemctl start logstash

然后就可以查看logstash的logs目录下的logstash-plain.log,检查启动状态了。

你可能感兴趣的:(logstash的一些实践(2)自启动service和配置自动刷新)