ELK日志分析系统安装和部署

一、ELK平台搭建准备

1.1 平台环境:
OS:CentOS release 6.4(Final)
ElasticSearch:6.3.2
Logstash:6.3.2
Kibana:6.3.2
JRE:1.8

注:由于Logstash的运行依赖于Java环境, 而Logstash 1.5以上版本不低于java 1.7,因此推荐使用最新版本的Java。因为我们只需要Java的运行环境,所以可以只安装JRE,不过这里我依然使用JDK

1.2 ELK下载:https://www.elastic.co/downloads/

cd /data/package/ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.tar.gz wget https://artifacts.elastic.co/downloads/logstash/logstash-6.3.2.tar.gz wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.2-linux-x86_64.tar.gz

1.3 安装准备

#配置iptables,保证内网之间可以互通 [root@Elk_Server]# iptables -F;iptables -I INPUT -s 192.168.0.0/16 -j ACCEPT [root@Elk_Server]# service iptables save;service iptables restart #关闭selinux [root@Elk_Server]# setenforce 0 [root@Elk_Server]# vim /etc/sysconfig/selinux SELINUX=disabled

1.4 时间同步

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime yum install ntpdate -y;ntpdate time.windows.com echo '01 00 * * * ntpdate time.windows.com' >>/etc/crontab

1.5 配置yum源

#导入公钥 [root@Elk_Server ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch [root@Elk_Server ~]# vim /etc/yum.repos.d/elasticsearch.repo [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md

1.6 安装JAVA 1.8.0_151, 请见 https://www.linuxidc.com/Linux/2019-08/159733.htm

二、安装Elasticsearch单机版集群

这个其实也是ELK中的核心,启动的时候一定要注意,因为es不可以进行root账户启动,所以你还需要开启一个elsearch账户。**

2.1.1 yum方式安装

[root@Elk_Server ~]# sudo yum install elasticsearch -y

2.1.2 源码安装(本文为编译安装配置)

#将解压后的文件复制三份 tar zxvf elasticsearch-6.3.2.tar.gz -C /usr/local/ mv /usr/local/elasticsearch-6.3.2 /usr/local/es-master cp -rf /usr/local/es-master /usr/local/es-data1 cp -rf /usr/local/es-master /usr/local/es-data2 groupadd elasticsearch useradd elasticsearch -g elasticsearch

2.2 创建elasticsearch数据目录

mkdir -p /data{,1,2}/elasticsearch/data mkdir -p /data{,1,2}/elasticsearch/logs chown -R elasticsearch:elasticsearch /data{,1,2}/elasticsearch

2.3 编辑Elasticsearch集群配置文件

cp /usr/local/es-master/config/elasticsearch.yml /usr/local/es-master/config/elasticsearch.yml-bak #创建软连接 mkdir /etc/elasticsearch/ ln -s /usr/local/es-master/config/elasticsearch.yml /etc/elasticsearch/es-master.yml ln -s /usr/local/es-data1/config/elasticsearch.yml /etc/elasticsearch/es-data1.yml ln -s /usr/local/es-data2/config/elasticsearch.yml /etc/elasticsearch/es-data2.yml

主节点配置:

vim /etc/elasticsearch/es-master.yml # ======================== Elasticsearch Configuration ========================= # cluster.name: elk-cluster node.name: node-master node.attr.rack: r1 # ----------------------------------- Paths ------------------------------------ #设置data存放的路径为/data/elasticsearch/data path.data: /data/elasticsearch/data #设置logs日志的路径为/data/elasticsearch/logs path.logs: /data/elasticsearch/logs # ---------------------------------- Network ----------------------------------- #本机地址 network.host: 192.168.6.108 #开启监听的端口为9200 http.port: 9200 #tcp通讯端口 transport.tcp.port: 9330 #是否作为主机 node.master: true #是否作为数据节点 node.data: false node.max_local_storage_nodes: 3 #在删除索引时,是否需要明确指定名称.该值为false时,则可通过正则或_all删除: action.destructive_requires_name: true # --------------------------------- Discovery ---------------------------------- #集群信息,默认的通讯接口是9300 discovery.zen.ping.unicast.hosts: ["192.168.6.108:9330", "192.168.6.108:9331","192.168.6.108:9332"] #在新集群搭建初期,总会出现某几个节点与其他节点通信异常导致节点频繁加入、退出集群。这个过程是自动执行的。通过配置discovery.zen.ping_timeout来控制节点加入某个集群或者开始选举的响应时间(默认3s)。 discovery.zen.ping_timeout: 60s #这个关闭了自动创建索引。为的也是安全考虑,否则即使是内网,也有很多扫描程序,一旦开启,扫描程序会自动给你创建很多索引。 action.auto_create_index: false # ---------------------------------- Gateway ----------------------------------- # # Block initial recovery after a full cluster restart until N nodes are started: #设置集群中N个节点启动时进行数据恢复,默认为1。 gateway.recover_after_nodes: 2 #设置初始化数据恢复进程的超时时间,默认是5分钟。 gateway.recover_after_time: 3m #设置集群中节点的数量,默认为2,一旦这N个节点启动,就会立即进行数据恢复。 gateway.expected_nodes: 3 # ---------------------------------- Various ----------------------------------- #开启跨域访问支持,默认为false http.cors.enabled: true #跨域访问允许的域名地址,(允许所有域名)以上使用正则 http.cors.allow-origin: /.*/

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8a7db2ceedebd559742bca9cce74ced3.html