ITPub博客

首页 > 数据库 > 数据库开发技术 > CentOS7下ELK日志分析平台的简单搭建步骤

CentOS7下ELK日志分析平台的简单搭建步骤

原创 数据库开发技术 作者:u_2ebce1c3a860 时间:2019-08-18 00:15:47 0 删除 编辑


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;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2018-05-05

  • 博文量
    441
  • 访问量
    209378