一,安装环境查看

二,软件版本选用
jdk 1.8.0_171 elasticsearch 7.1.1 kibana 7.1.1 logstash 7.1.1
三,安装配置
1,安装JDK
过程不详述
2,安装ELK
官网下载安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-x86_64.rpm wget https://artifacts.elastic.co/downloads/kibana/kibana-7.1.1-x86_64.rpm wget https://artifacts.elastic.co/downloads/logstash/logstash-7.1.1.rpm
安装
rpm -ivh elasticsearch-7.1.1-x86_64.rpm rpm -ivh kibana-7.1.1-x86_64.rpm rpm -vih logstash-7.1.1.rpm
修改elasticsearch配置文件
/etc/elasticsearch/elasticsearch.yml
#集群名 cluster.name: my-es #node名 node.name: node-1 #数据目录 path.data: /data/es-data #日志目录 path.logs: /var/log/elasticsearch network.host: 0.0.0.0 http.port: 9200 #集群master需要和node名设置一致 cluster.initial_master_nodes: ["node-1"]
设置elasticsearch的jave目录(手动安装java需设置yum安装的java无需设置)
修改配置文件
/etc/sysconfig/elasticsearch
设置java目录
JAVA_HOME=/usr/local/jdk1.8.0_171
创建数据目录并设置权限
mkdir -p /data/es-data chown -R elasticsearch:elasticsearch /data/es-data/
启动elasticsearch
systemctl start elasticsearch systemctl enable elasticsearch
检测是否启动
[root@salt-test 7.1.1]# curl 127.0.0.1:9200
{
"name" : "node-1",
"cluster_name" : "my-es",
"cluster_uuid" : "-5vm0JOyQP-fehWjlXal_A",
"version" : {
"number" : "7.1.1",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "7a013de",
"build_date" : "2019-05-23T14:04:00.380842Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
设置kibana
修改配置文件
server.port: 5601 server.host: "0.0.0.0" server.name: "node-1" elasticsearch.hosts: ["http://192.168.1.4:9200"] kibana.index: ".kibana"
PS:7版本elasticsearch.hosts的配置在6版本里面为elasticsearch.url 需要配置正确否则message日志会报错
FATAL Error: [elasticsearch.url]: definition for this key is missing
启动
systemctl start kibana systemctl enable kibana
web页面查看,还没有索引

安装head
安装head同elasticsearch6 参考 https://www.cnblogs.com/minseo/p/9117470.html
集群健康状态检查
curl -XGET 'http://192.168.1.4:9200/_cluster/health?pretty=true'
使用logstash收集日志
标准输入输出
/usr/share/logstash/bin/logstash -e 'input { stdin{} } output { stdout {} }'

页面输入什么则输出什么
以json格式输出

输出至ES
/usr/share/logstash/bin/logstash -e 'input { stdin{} } output { elasticsearch { hosts => ["192.168.1.4:9200"] index => "logstash-%{+YYYY.MM.dd}" } }'
启动后标准输出无反应

打卡head即可查看


写一个配置文件收集系统日志
/etc/logstash/conf.d/file.conf
input{
file{
path => ["/var/log/messages"]
type => "system-log"
start_position => "beginning"
}
}
filter{
}
output{
elasticsearch{
hosts => ["192.168.1.4:9200"]
index => "system-log-%{+YYYY.MM}"
}
}
启动放置在后台
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/file.conf &
当文件/var/log/messages有日志写入时就会写es,在head可以查看

把日志添加至kiban展示


查看

elk7搭建完成与elk6搭建几乎一致
区别为elasticsearch配置文件需要添加配置,否则elasticsearch启动不成功
cluster.initial_master_nodes: ["node-1"]