ELK 6.0 & CentOS7.3 集群搭建及部署测试

一、安装前准备

集群环境:3台2核4G搭载centos7.3的服务器(192.168.1.2,192.168.1.3,192.168.1.4)

软件版本:6.0.0

下载地址:elk官网下载地址(我们这里选用zip版本)

jdk版本为:1.8.0_151(必须为1.8版本)

创建elk用户

adduser elk

设置密码

passwd elk123456

新建一个文件夹cluster到/home/elk

cd  /home/elk

mkdir  cluster

解压安装包到/home/elk/cluster

yum install zip unzip # 安装zip、unzip应用

unzip xxx.zip

修改文件夹的名字

mv elaticsearch-6.0.0  elaticsearch (同理修改其他文件夹名字)

二、 配置ElasticSearch

2.1 修改系统相关文件

1.设置内核参数

vi /etc/sysctl.conf

添加如下内容:

fs.file-max=65536

vm.max_map_count=262144

之后可以使用sysctl -p刷新

2. 设置资源参数

vi /etc/security/limits.conf

添加如下内容:

* soft nofile 65536

* hard nofile 131072

* soft nproc 4096

* hard nproc 4096

2.2 修改集群配置文件

一共3个节点,拥有相同的集群名,修改节点名称和对应的IP即可

# ================= Elasticsearch Configuration ===================

# #配置es的集群名称, es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。

cluster.name: elk-cluster

# #节点名称

node.name: node-1

# #指定该节点是否有资格被选举成为node

node.master: true

# #指定该节点是否存储索引数据,默认为true。

node.data: true

# #设置绑定的ip地址还有其它节点和该节点交互的ip地址

network.host: 192.168.1.2

# #指定http端口,你使用head、kopf等相关插件使用的端口

http.port: 9200

# #设置节点间交互的tcp端口,默认是9300。

transport.tcp.port: 9300

#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。

discovery.zen.ping.unicast.hosts: ["192.168.1.2:9300"," 192.168.1.3:9300 "," 192.168.1.4:9300 "]

#如果要使用head,那么需要增加新的参数,使head插件可以访问es

http.cors.enabled: true

http.cors.allow-origin: "*"

授予elk用户文件夹权限

chown -R elk  /home/elk/cluster

2.3 启动es

cd   /home/elk/cluster/elasticsearch/bin

su elk       #切换至elk root不能启动es

./elasticsearch

启动成功后用守护者模式启动

./elasticsearch -d

查看es进程是否启动

ps –ef | grep elastic

三、配置logstash

1、安装log4j的logstash-input插件

参考如下文章:

安装logstash插件

进入/home/elk/cluster/logstash/bin,新建一个logstash.conf

cd  /home/elk/cluster/logstash/bin

vi  logstash.conf

配置如下:

input {

log4j {

     mode => "server"

     host => "192.168.2.4"

      port => 4560

    type => "log4j"

    codec => plain{ charset => "UTF-8" }

}

}

filter {

}

output {

#stdout {} console output

elasticsearch {

action => "index" 

hosts => ["192.168.1.2:9200","192.168.1.3:9200","192.168.1.4:9200"] 

index => "logstash-%{+YYYY.MM.dd}"  

codec => plain{ charset => "UTF-8" }

sniffing => true #单机模式关闭此选项

sniffing_delay => 5

manage_template => false

user => cluster

password => cluster

}

file {

#日志输入地址

path => "../logs/%{+YYYY.MM.dd}.log" 

codec => plain{ charset => "UTF-8" }

}

}

运行logstash

./logstash -f logstash.conf 

四、配置kibana(1台服务器安装即可)

$ vi config/kibana.yml

添加如下配置

server.port: 5601

server.host: "192.168.1.2"

elasticsearch.url: "http://192.168.1.2:9200"

五、安装X-pack

在elasticsearch的bin目录下运行

 ./elasticsearch-plugin install x-pack

或者用手动安装方法

先下载 x-pack-6.0.0.zip

bin/kibana-plugin install file:///path/to/file/x-pack-6.0.0.zip


然后在elasticsearch的bin目录下添加x-pack用户权限

增加角色

elasticsearch/bin/x-pack/./users useradd cluster -p cluster -r superuser

在Kibana的bin目录运行 

./kibana-plugin install x-pack

在logstash的bin目录运行

./logstash-plugin install x-pack

然后修改logstash.yml文件的配置

vi /home/cluster/logstash/conf/logstash.yml

添加如下配置(3台服务器都要配)

xpack.monitoring.elasticsearch.url: "http://192.168.2.2:9200"

xpack.monitoring.elasticsearch.username: cluster

xpack.monitoring.elasticsearch.password: cluster

然后重启 logstash、elasticsearch、kibana即可

访问5601端口:


ELK 6.0 & CentOS7.3 集群搭建及部署测试_第1张图片
配置成功图

六、集成log4j

配置非常简单,只需在log4j.properties中配置:

log4j.rootLogger=INFO,ERROR,WARN,CONSOLE,logstash

log4j.appender.encoding = UTF-8

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

log4j.appender.CONSOLE.Target=System.out

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c %x - %m%n log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c %x - %m%n # logstash log4j.appender.logstash=org.apache.log4j.net.SocketAppender

#logstash的端口

log4j.appender.logstash.port=4560

#服务器的ip

log4j.appender.logstash.remoteHost=x.x.x.x

log4j2配置如下:

你可能感兴趣的:(ELK 6.0 & CentOS7.3 集群搭建及部署测试)