以下是关于“logstash设置开机自启动”的完整攻略,包括设置方法和两个示例。
设置方法
在Linux系统中,可以使用system服务管理器来设置logstash的开机自启动。具体步骤如下:
- 创建logstash.service文件:在/etc/systemd/system/目录下创建logstash.service文件,文件内容如下:
“`
[Unit]
Description=logstash
[Service]
Type=simple
User=logstash
Group=logstash
ExecStart=/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/
Restart=always
[Install]
WantedBy=multi-user.target
“`
其中,ExecStart指定logstash启动命令,-f参数指定logstash配置文件路径,Restart=always指定服务重启策略。
- 重新加载systemd配置:执行以下命令,重新加载systemd配置文件。
systemctl daemon-reload
- 启动logstash服务:执行以下命令启动logstash服务。
systemctl start logstash
- 设置logstash服务开机自启动:执行以下命令,设置logstash服务开机自启动。
systemctl enable logstash
示例
以下是两个使用logstash的示例:
示例一:使用logstash收集Apache日志
- 创建Apache日志文件输入配置文件:在/etc/logstash/conf.d/目录下创建apache.conf文件,文件内容如下:
“`
input {
file {
path => “/var/log/apache2/access.log”
start_position => “beginning”
}
}
filter {
grok {
match => { “message” => “%{COMBINEDAPACHELOG}” }
}
date {
match => [ “timestamp” , “dd/MMM/yyyy:HH:mm:ss Z” ]
}
}
output {
elasticsearch {
hosts => [“localhost:9200”]
index => “apache-%{+YYYY.MM.dd}”
}
}
“`
其中,input指定输入源为Apache日志文件,filter指定日志解析规则,output指定输出目标为Elasticsearch。
- 重新加载systemd配置:执行以下命令,重新加载systemd配置文件。
systemctl daemon-reload
- 启动logstash服务:执行以下命令,启动logstash服务。
systemctl start logstash
- 查看日志:在Elasticsearch中查看收集到的Apache日志。
示例二:使用logstash收集MySQL日志
- 创建MySQL日志文件输入配置文件:在/etc/logstash/conf.d/目录下创建mysql.conf文件,文件内容如下:
“`
input {
file {
path => “/var/log/mysql/mysql.log”
start_position => “beginning”
}
}
filter {
grok {
match => { “message” => “%{SYSLOG5424SD} Query:%{GREEDYDATA:query}” }
}
}
output {
elasticsearch {
hosts => [“localhost:9200”]
index => “mysql-%{+YYYY.MM.dd}”
}
}
“`
其中,input指定输入源为MySQL日志文件,filter指定日志解析规则,output指定输出目标为Elasticsearch。
- 重新加载systemd配置:执行以下命令,重新加载systemd配置文件。
systemctl daemon-reload
- 启动logstash服务:执行以下命令,启动logstash服务。
systemctl start logstash
- 查看日志:在Elasticsearch中查看收集到的MySQL日志。
结论
使用systemd服务管理器可以轻松设置logstash的开机自启动。在logstash配置文件中,可以指定输入源、解析规则和输出目标,实现日志收集和处理。在Elasticsearch中查看收集到的日志,可以帮助开发者更好地了解应用程序的运行情况。