1、首先安装JDK环境
yum install -y java-11-openjdk java-11-openjdk-devel
安装完成后设置环境变量
[root@vm ~]# vi /etc/profile.d/java11.sh
[root@vm ~]# cat /etc/profile.d/java11.sh
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.4.11-0.el7_6.x86_64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
[root@vm ~]# source /etc/profile.d/java11.sh
如果还装有其它版本的JDK,可使用alternatives --config java进行选择切换
java -version验证JDK环境是否配置成功
2、安装Elasticsearch
编辑Elasticsearch的yum源仓库配置文件
[root@vm ~]# vi /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
编辑完成后,yum install -y elasticsearch进行安装
由于elasticsearch的yum源站点在国外,yum下载安装耗时太长,可以直接从官网下载Linux RPM安装包
先提前下载好ELK相关RPM包
elasticsearch-7.3.0-x86_64.rpm
logstash-7.3.0.rpm
kibana-7.3.0-x86_64.rpm
filebeat-7.3.0-x86_64.rpm
packetbeat-7.3.0-x86_64.rpm
先将以上ELK相关RPM安装包上传到root目录下,接下来rpm -ivh进行安装elasticsearch-7.3.0并设置elasticsearch服务开机自启动,启动elasticsearch服务
rpm -ivh elasticsearch-7.3.0-x86_64.rpm
systemctl enable elasticsearch.service
systemctl start elasticsearch.service
验证elasticsearch服务是否正常运行在工作
3、安装Kibana
rpm -ivh kibana-7.3.0-x86_64.rpm
编辑kibana.yml配置文件
vi /etc/kibana/kibana.yml修改如下两处,取消#注释并进行如下修改
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]
[root@vm ~]# firewall-cmd --add-port=5601/tcp --permanent
[root@vm ~]# firewall-cmd --reload
[root@vm ~]# systemctl start kibana
[root@vm ~]# systemctl enable kibana
将kibana的服务端口5601在firewalld防火墙上放通,并设置kibana服务开机自启动,启动kibana服务
接下来打开http://192.168.31.81:5601,验证是否正常打开Kibana的界面
4、安装logstash
rpm -ivh logstash-7.3.0.rpm
例如创建一个logstash从系统安全日志/var/log/secure中收集ssh登录失败日志的配置
[root@vm ~]# cd /etc/logstash/conf.d/
[root@vm conf.d]# vi sshd.conf
input {
file {
type => "seucure_log"
path => "/var/log/secure"
}
}
filter {
grok {
add_tag => [ "sshd_fail" ]
match => { "message" => "Failed %{WORD:sshd_auth_type} for %{USERNAME:sshd_invalid_user} from %{IP:sshd_client_ip} port %{NUMBER:sshd_port} %{GREEDYDATA:sshd_protocol}" }
}
}
output {
elasticsearch {
index => "sshd_fail-%{+YYYY.MM}"
}
}
修改/var/log/secure的组以及文件权限,设置logstash服务开机自启动,启动logstash服务
[root@vm conf.d]# chgrp logstash /var/log/secure
[root@vm conf.d]# chmod 640 /var/log/secure
[root@vm conf.d]# systemctl start logstash
[root@vm conf.d]# systemctl enable logstash
5、并模拟sshd登录失败,生成ssh登录失败的日志
验证elasticsearch对应的sshd登录失败日志的索引是否生成
curl localhost:9200/_cat/indices?v
curl localhost:9200/sshd_fail-2019.08/_search?pretty
可以看出已经有索引生成,接下来在Kibana上进行该索引的添加
下面就可以看到sshd登录失败的大数据分析效果了
CentOS7下ELK日志分析平台的简单搭建就介绍到这里,后面再介绍filebeat和packetbeat采集器的使用
本文分享自 WalkingCloud 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!