logstash设置开机自启动

       在Linux系统中,可以使用systemd服务管理器来设置logstash的开机自启动。1、先创建logstash服务,2、启动服务,3、验证服务。具体步骤如下:

1、创建logstash.service文件

/etc/systemd/system/目录下创建logstash.service文件,文件内容如下

cat > logstart.service << EOF
[Unit]
Description=logstash

[Service]
Type=simple
User=logstash
Group=logstash
ExecStart=/etc/logstash/bin/logstash -f /etc/logstash/config/logstash-prod.conf
Restart=always

[Install]
WantedBy=multi-user.target
EOF

ExecStart指定logstash启动命令,-f参数指定logstash配置文件路径,Restart=always指定服务重启策略。

注意:这里我指定了/etc/logstash/config/logstash-prod.conf 配置文件。如果文件夹里有多个配置文件,也可以直接写 /etc/logstash/config/。

2、启动Logstash服务

启动服务并加入开机自启(如果原先启动了 请先关闭掉进程)

 systemctl enable --now logstart.service

3、验证服务

启动服务后在 /etc/logstash/logs 目录下会有日志文件输出,可以查看到日志。

logs]# pwd
/etc/logstash/logs
logs]# ll
总用量 320
-rw-r--r-- 1 logstash logstash      0 1月  15 11:09 logstash-deprecation.log
-rw-r--r-- 1 logstash logstash      0 1月  15 11:09 logstash-json.log
-rw-r--r-- 1 logstash logstash 291802 1月  15 11:36 logstash-plain.log
-rw-r--r-- 1 logstash logstash      0 1月  15 11:09 logstash-slowlog-json.log
-rw-r--r-- 1 logstash logstash      0 1月  15 11:09 logstash-slowlog-plain.log

可以查看查看服务运行状态,如果是running的提示就是运行正常。

logs]# systemctl status logstash
● logstash.service - logstash
   Loaded: loaded (/etc/systemd/system/logstash.service; enabled; vendor preset: disabled)
   Active: active (running) since 一 2024-01-15 11:12:31 CST; 27min ago
 Main PID: 29915 (java)
    Tasks: 89
   Memory: 1.1G
   CGroup: /system.slice/logstash.service
           └─29915 /etc/logstash/jdk/bin/java -Xms1g -Xmx1g -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djruby.compi

4、问题排查

用户权限问题 

       如果上面没有看到日志输出,查看日志提示,如下这里提示用logstash用户进行服务的启动停止,非管理员用户。

 allowed in the future. Set 'allow_superuser' to 'false' to avoid startup errors in future releases.
[2024-01-15T10:56:00,726][WARN ][deprecation.logstash.runner] NOTICE: Running Logstash as superuser is not recommended and won't be allowed in the future. Set 'allow_superuser' to 'false' to avoid startup errors in future releases.

解决问题  

创建用户,给整个目录授予权限。

useradd logstash
# 把整个目录都赋予logstash用户权限
chown -R logstash:logstash /etc/logstash/

你可能感兴趣的:(Linux系统,linux,运维,服务器,graylog)