ELk安装配置

环境

系统:centOS6.8/7.0 jdk版本:1.8以上 ELK版本:6.0.1

一、创建部署用户

Elasticsearch 的安装需要在非root用户下安装,而且需要修改系统部分配置,需要给用户配置sudo权限。

  1. 添加用户

$ useradd elastic

$ passwd elastic

  1. 给elastic用户用户配置sudo权限

用root编辑 vi /etc/sudoers 在文件的如下位置,为elastic添加一行即可 root ALL=(ALL) ALL elastic ALL=(ALL) ALL

二、登录elastic用户部署

  1. 安装准备
  2. 安装jdk
  3. 安装elasticsearch
  4. 安装logstash
  5. 安装filebeat
  6. 安装Kibana

2.1 安装准备

登录elastic用户下面,创建安装目录,上传安装包。

$ mkdir elk

上传安装包:

  • elasticsearch-6.0.1.zip
  • logstash-6.0.1.tar.gz
  • kibana-6.0.1-linux-x86_64.tar.gz
  • filebeat-6.0.1-linux-x86_64.tar.gz
  • jdk-8u151-linux-x64.tar.gz

2.2 安装jdk

jdk要求:java8以上,oracle’s和openJdk。

  1. 解压缩安装

$ tar -zxvf jdk-xxx-xxx-xxx.tar.gx -C /path

  1. 环境配置

$ vi .base_profile

JAVA_HOME=/path/xxx CLASSPAHT=.:$JAVA_HOME/lib.tools.jar ATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH

  1. 验证

$ source .base_profile

$ java -version

2.3 安装elasticsearch

安装方式:解压缩安装

$ unzip Elasticsearch 6.1.0.zip

然后进入到安装目录 启动

$ cd bin $ ./bin/elasticsearch

注意:elasticsearch默认是不能在root用户下启动的。

另外需要修改系统相关配置。

1、修改系统文件句柄数 修改文件(这里需要root用户的权限才可以) /etc/security/limits.conf 在文件下面添加elastic 这里为系统用户 elastic - nofile 65536 这里表示只在这个用户下才起作用

2、修改虚拟内存的大小 修改文件/etc/sysctl.conf 添加: vm.max_map_count = 262144 查看是否生效: sysctl vm.max_map_count

3、其他情况有: /etc/security/limits.conf 添加一行: xxx - nproc 2048 其中"xxx"为启动elasticsearch的用户 /etc/security/limits.d/90-nproc.conf * soft nproc 4096 如果启动在出错,在centOS6以上不支持SecComp 修改修改elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面: bootstrap.memory_lock: false bootstrap.system_call_filter: false

配置config/elasticsearch.yml

基本配置说明

  1. cluster.name: zhzaEs //集群的名字
  2. node.name: es01//节点名字
  3. path.data: /data/es-date//数据存储目录(多个路径用逗号分隔)
  4. path.logs: /var/log/elasticsearch//日志目录
  5. network.host: 172.16.144.101 //本机的ip地址
  6. discovery.zen.ping.unicast.hosts: ["172.16.144.102","172.16.144.103"] //设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点.
  7. transport.tcp.port: 9300 //设置节点间交互的tcp端口(集群),(默认9300)
  8. http.port: 9200 //监听端口(默认)

启动:

$ ./bin/elasticsearch

后台启动:

$ ./bin/elasticsearch -d -p pid

查看基本情况

$ curl -XGET '172.16.144.101:9200/_cat/health?v&pretty'

我们也可以得到我们集群中的节点列表

curl -XGET '172.16.144.101:9200/_cat/nodes?v'

安装x-pack安装框架

x-pack是elasticsearch的安全框架、提供安全、监控等相关的插件。但是x-pack是收费项目,基础项目只能提供最基本的功能,如果安装后不付费,会限制使用,可以下载申请证书,试用一年时间,但是网上有破解方法,下面我根据网上破解的方法,将破解的功能安装上。点击破解方法,下面是我已经破解并且已经试用过的安装过程。

安装x-pack
  1. 上传安装包(最好找对应的版本号,这里对应的是6.0.1)
  2. 安装(这里file后面跟的是绝对路径,然后y就可以了)

$ bin/elasticsearch-plugin install file:///path/to/file/x-pack-6.1.0.zip

  1. 重启,设置用户名和密码

$ bin/x-pack/setup-passwords interactive

初始开始会设置 elastic,kibana,logstash_system 用户密码,我设置为: elastic:elastic kibana:kibana logstash_system:logstash_system

  1. 验证访问

当你安装好x-pack后查看es的健康情况会报错401或者403。而是需要加入用户名和密码。如下

curl -XGET -u elastic:elastic '172.16.144.101:9200/_cat/health?v&pretty’

破解x-pack
  1. 上传修改过的x-pack-6.0.1.jar和修改下载并重命名的凭证license.json。
  2. 替换x-pack-6.0.1.jar

$ mv x-pack-6.0.1.jar plugins/x-pack/

  1. 修改凭证

$ curl -XPUT -u elastic:elastic 'http://172.16.144.103:9200/_xpack/license' -H "Content-Type: application/json" -d @license.json

或者

$ curl -XPUT -u elastic:elastic 'http://172.16.144.103:9200/_xpack/license?acknowledge=true' -H "Content-Type: application/json" -d @license.json

  1. 测试

$ curl -XGET -u elastic:elastic 'http://172.16.144.103:9200/_xpack/license'

测试结果应该如: { "license" : { "status" : "active", "uid" : "348ddac9-398d-46fb-a0c0-13356e591c88", "type" : "platinum",
"issue_date" : "2017-12-12T00:00:00.000Z", "issue_date_in_millis" : 1513036800000, "expiry_date" : "2049-12-31T16:00:00.999Z", "expiry_date_in_millis" : 2524579200999, "max_nodes" : 100, "issued_to" : "yang kailan (AsiaInfo)", "issuer" : "Web Form", "start_date_in_millis" : 1513036800000 } } 这里的type和expiry_date分别是platinum和2049-12-31T16:00:00.999Z就是修改版本和失效时间。

配置x-pack
  1. 开启x-pack。config/elasticsearch.yml配置中添加配置: xpack.security.enabled: true xpack.security.transport.ssl.enabled: true
  2. 关闭x-pack 注销上面配置,然后添加配置

xpack.security.enabled: false xpack.monitoring.enabled: false xpack.graph.enabled: false xpack.watcher.enabled: false

集群中所有节点都替换x-pack-xxx.jar包,然后重启更新签名。

可能出现的错误

{"error":{"root_cause":[{"type":"illegal_state_exception","reason":"Can not upgrade to a production license unless TLS is configured or security is disabled"}],"type":"illegal_state_exception","reason":"Can not upgrade to a production license unless TLS is configured or security is disabled"},"status":500}

解决方法

这个错误,是因为elasticsearch6.0.0,现在更新license文件时,要么配置SSL\TLS,要么就禁用security。

那就临时禁用,更新完了再启用就行了: vim config/elasticsearch.yml xpack.security.enabled: false #xpack.security.transport.ssl.enabled: true 更新完了license后,再改为:

xpack.security.enabled: true xpack.security.transport.ssl.enabled: true

2.4 安装logstash

官方提供了yum安装,具体看官方文档 这里是解压缩安装:

  1. 上传安装包logstash-6.1.0.tar.gz

  2. 解压缩安装

$ tar -zxvf logstash-6.1.0.tar.gz

  1. 测试

$ bin / logstash -e'input {stdin {}} output {stdout {}}’

配置文件需要写conf文件,这里就不说了。

  1. 安装x-pack (file 后面是绝对路径)

$ bin/logstash-plugin install file:///path/to/file/x-pack-6.0.1.zip 然后config/logstash.yml配置文件中添加 xpack.monitoring.elasticsearch.username: logstash_system xpack.monitoring.elasticsearch.password: logstashpassword 然后重启就可以了。

2.5 安装filebeat

filebeat是从logstash拆分出来的,现在很多logstah的插件的功能都已经移到 不同的beats下面了 官方也是提供的yum安装,具体可以看官方文档

解压缩安装

  1. 上传安装包filebeat-6.1.0-linux-x86_64.tar.gz
  2. 解压缩安装

$ tar -zxvf filebeat-6.1.0-linux-x86_64.tar.gz

  1. 修改配置文件filebeat.yml,具体配置这里就不说了。
  2. 启动测试

$ ./filebeat -e -c filebeat.yml

2.6 安装Kibana

kibanna是一个界面展示,依赖node.js运行。下面是解压缩安装过程。

  1. 上传安装包kibana-6.1.0-linux-x86_64.tar.gz
  2. 解压缩安装

$ tar -zxvf kibana-6.1.0-linux-x86_64.tar.gz

  1. 配置config/kibana.yml(默认只要修改下elasticsearch.url就可以了 )

elasticsearch.url: "http://172.16.144.101:9200" 如果需要认证的的话,还需要用户名和密码。 其他配置可以看官方文档。

  1. 启动验证

$ ./bin/kibana

  1. 安装x-pack

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

然后在配置文件kibana.yml添加以下配置: elasticsearch.username: "kibana" elasticsearch.password: "kibanapassword" 重起就可以了。

你可能感兴趣的:(ELK)