公司原来的项目日志文件都通过log4j或logback存储于服务器的磁盘目录下,管理起来不方便,而且查询日志也非常不方便,因此准备用logback+logstash+elasticsearch+kibana的方案来进行日志文件的管理,elasticsearch暂时以单机的形式进行,后期考虑用集群的方式,查询日志上线用kibana,如果后期有需要可以再做相应的开发,制作符合业务需要的页面方便查询。
本文主要记录最终部署成功的方案,方便后期复习和查询用。
一、下载logstash安装包:
到logstash官网上进行logstash的安装包的下载,官网地址为:https://www.elastic.co/guide/en/logstash/current/index.html
本例下载:logstash-7.4.2.tar.gz
二、拷贝到目标服务器上:
本例刚开始未规划目录,所以直接存放到了root根目录下。
三、直接解压缩操作:
cd /root
tar –zxvf logstash-7.4.2.tar.gz
解压完成后可以在bin目录下执行 ./logstash进行启动。
也可以执行 ./logstash -f logstash.conf,进行带配置文件的启动。
以下进行正式环境后台服务的配置启动。
启动成功后会有start字样。
四、修改配置文件
解压后进入config目录,相关的配置文件都在该目录下,需要修改logstash.yml、startup.options两个文件,及增加一个logstash.conf用来进行logback数据的接收及向elasticsearch的转发。
cd logstash-7.4.2/config
vi logstash.yml
修改path.config一行,设置logstash.conf的位置。
path.config: /root/logstash-7.4.2/config/logstash.conf
vi startup.options
设置配置文件目录:
# logstash settings directory, the path which contains logstash.yml
LS_SETTINGS_DIR=/root/logstash-7.4.2/config
如果不用root运行则需要创建user 和group
否则修改运行用户:
# user and group id to be invoked as
LS_USER=root
LS_GROUP=root
五、创建conf文件。
拷贝一下内容:
vi logstash.conf
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.、
input {
tcp {
port => 9250 #logstash 接收logback数据的端口
codec => "json_lines"
}
}
output {
stdout {
codec => "rubydebug"
}
elasticsearch {
hosts => "127.0.0.1:9201" #elasticsearch的ip地址和端口号
index => "logback-%{+YYYY.MM.dd}"
}
}
六、创建服务
cd ../bin
./system-install
七、相关执行命令
启动Logstash服务
- 设置服务自启动:systemctl enable logstash
- 启动服务:systemctl start logstash
- 停止服务:systemctl stop logstash
- 重启服务:systemctl restart logstash
- 查看服务状态:systemctl status logstash
日志文件路径:
/var/log/messages