elk安装&集群配置

时间:2021-12-10 12:19:22

---恢复内容开始---

这里我用以elasticsearch-5.3.2、kibana-5.3.0、logstash-5.3.0的版本为例:

1.创建elastic用户,这里elasticsearch、kibana、logstash都是在elastic用户下安装的

1)安装elasticsearch

tar -zxf elasticsearch-5.3.2.tar.gz -C /usr/local

cd /usr/local; mv elasticsearch-5.3.2 elasticsearch; vim elasticsearch/config/elasticsearch.yml;

具体修改如下:

cluster.name: my-application
node.name: node-1
path.data: /usr/local/elastic/esdata
path.logs: /usr/local/elastic/eslog
bootstrap.system_call_filter: false
network.host: 192.168.1.20
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.1.11"]
discovery.zen.minimum_master_nodes: 1
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: “Authorization”
action.auto_create_index: true

配置文件注释

. cluster.name: kencery 配置Elasticsearch的集群名称,默认是elasticsearch,Elasticsearch会自动发现在同一网段下的es集群,如果在同一个网段下有多个集群,可以利用这个属性来区分不同的集群。
. node.name : "kencery-node1" 集群的节点名称,Elasticsearch启动的时候会自动创建节点名称,但是你也可以进行配置。
. node.rack: r1 每个节点都可以定义一些与之关联的通用属性,用于后期集群进行碎片分配时的过滤。
. path.data: /path/to/data 设置索引数据的存储路径,默认是Elasticsearch根目录下的data文件夹,可以设置多个存储路径,用逗号隔开,是的数据在文件级别跨域位置,这样在创建时就有更多的*路径,如:path.data: /path/to/data1,/path/to/data2
. path.logs: /path/to/logs 设置日志文件的存储路径,默认是Elasticsearch根目录下的logs文件夹。
. bootstrap.mlockall: true 设置为true来锁住内存,因为当JVM开始swapping的时候Elasticsearch的效率会降低,所以要保证他不被swap,可以吧ES_MIN_MEN和ES_MAX_MEN两个环境变量设置为同一个值,并且保证机器有足够的内存分配给Elasticsearch,同时也要允许Elasticsearch的进程可以锁住内存,Linux下可以通过`ulimit -l unlimited`命令。
. network.host: 192.168.37.133 设置绑定的IP地址,可以是ipv4或者ipv5,默认使用0.0.0.0地址,并为http传输开启9200、9300端口,为节点到节点的通信开启9300-9400端口,也可以自行设置IP地址。
. http.port: 9200 设置对外服务的Http端口,默认是9200
. discovery.zen.ping.unicast.hosts: ["192.168.37.133", "192.168.37.137"] 设置集群中master节点的初始化列表,可以通过这些节点来自动发现新加入集群的节点(主要用于不同网段机器连接)。
. discovery.zen.minimum_master_nodes: 3 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点,默认为1,当集群多余三个节点时,可以设置大一点的值(2-4)
. gateway.recover_after_nodes: 3 设置集群中国N个节点启动时进行数据恢复,默认是1
. node.max_local_storage_nodes: 1 默认情况下,多个节点可以在同一个安装路径启动,如果你想让你的Elasticsearch只启动一个节点,在这合理设置。
. action.destructive_requires_name: true 设置是否可以通过正则或者_all删除或者关闭索引。

2)安装kibana

tar -zxf kibana-5.3.0-linux-x86_64.tar.gz -C /usr/local

cd /usr/local/; mv kibana-5.3.0-linux-x86_64.tar.gz kibana;vim kibana/config/kibana.yml

具体修改如下:

server.port: 5601
server.host: "192.168.1.20"
elasticsearch.url: "http://192.168.1.20:9200"
kibana.index: "kibana"

3)安装logstash

tar -zxf logstash-5.3.0.tar.gz -C /usr/local

cd /usr/local;mv logstash-5.3.0.tar.gz logstash;编辑logstash.conf配置文件

input {
file {
type => "logstash-log"
path => "/usr/local/logstash/logs/logstash-plain.log"            #定义数据源

}
}
output {
elasticsearch {
hosts => ["http://192.168.1.20:9200"]
index => "logstash20_%{+YYYY-MM-dd}"                           #定义数据的格式

}
}

logstash配置文件具体可参考http://www.cnblogs.com/yincheng/p/logstash.html

然后依次启动elasticsearch、kibana、logstash

/usr/local/elasticsearch/bin/elasticserch -d

/usr/local/kibana/bin/kibana &

/usr/local/logstash/bin/lostash -f /usr/local/logstash/conf/logstash.conf &