1、下载
参考博文:
https://blog.csdn.net/weixin_44167913/article/details/101101626
官网下载方法:
ip地址:https://www.elastic.co/cn/downloads/past-releases
下载即可。
2、安装
将压缩包放到自己的目录,在这里我放的是/server,然后解压
进入/server/logstash-6.3.1/bin/ ,
./logstash &启动
(logstash需要java环境,启动前提是java环境配置完成的)
3、配置文件调整
打开/server/logstash-6.3.1/config/logstash.yml
添加以下内容:
path.data: /data/logstash #数据存储路径
path.config: /etc/logstash/conf.d/*.conf #配置文件目录
path.logs: /var/log/logstash #日志输出路径
主要是指定配置文件目录
4、配置日志输入输出源,下面是将log4j的log文件,输入es中
进入/etc/logstash/conf.d/
新建logstash.conf,录入一下内容
input {
file {
path => [ "/log/manage/manage_hljk.log" ] #文件路径
type => "system" #自定义事件的类型,可用于后续的条件判断
start_position => "beginning" #从日志文件头部读取,相反还有end
}
}
output{
elasticsearch{ #输出到es
#输出到多个es
# hosts=> ["192.168.44.129:9200","192.168.44.130:9200"]
hosts=> ["127.0.0.1:9200"]
index => "logstash-manage-%{+YYYY.MM}" #指定manage
}
}
然后再次启动logstash,就会自动把log里面的内容,写入到es中了
5、kibana的安装类似logstash,很简单,解压即可,需要配置的文件是
/kibana-6.3.1/config/kibana.yml
添加一下配置,进入bin目录,./kibana & 启动即可
server.port: 8090 #服务端口
server.host: "0.0.0.0" #修改为本机地址
elasticsearch.url: "http://127.0.0.1:9200" #ES的地址与端口
kibana.index: ".kibana"
默认的kibana是不需要用户名和密码的,如果需要的话,可以去参考一下x-pack模块(未验证)
6、kibana 关闭
ps -ef|grep kibana 是找不到进程的,
kibana是基于node的,可以用node来查找进程
杀死该进程即可。
kibana不要使用root用户来启动,不然会自动关闭进程
ps:elk三个软件尽量采用同一版本的,不然会有问题。
7、logstash读取log4j文件实例2,增加多入多出和使用grok来进行日志字段分解
input {
file {
path => [ "/sime_log/hljk/manage/manage_hljk.log" ] #文件路径
type => "manage" #自定义事件的类型,可用于后续的条件判断
start_position => "beginning" #从日志文件头部读取,相反还有end
}
}
filter {
grok {
match => {
"message" => "%{TIMESTAMP_ISO8601:times} %{LOGLEVEL:level} %{DATA:className} - %{GREEDYDATA:msg}"
}
}
date { #使用日志的时间,代替录入数据的时间
match => ["times", "yyyy-MM-dd HH:mm:ss,SSS"]
target => "@timestamp"
# locale => "en"
# timezone => "+00:00"
# remove_field => "times"
}
mutate {
rename => { "host" => "ServerIP"}
}
}
output{
if [type] == "manage"{ #多入多出用type判断
elasticsearch{ #输出到es
#输出到多个es
# hosts=> ["192.168.44.129:9200","192.168.44.130:9200"]
hosts=> ["127.0.0.1:9200"]
index => "logstash-manage-%{+YYYY.MM}"
#user => "logstash_system"
#password => "123456"
}
}
}