2、ELK安装

环境

主机服务
10.0.0.50Elasticsearch、 Kibana
10.0.0.51Logstash 、Filebeat

一、安装包下载和jdk安装

1、下载地址

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlhttps://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
https://artifacts.elastic.co/downloads/kibana/kibana-6.6.0-linux-x86_64.tar.gz
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.tar.gz
https://artifacts.elastic.co/downloads/logstash/logstash-6.6.0.tar.gz

2、环境
10.0.0.50 部署Kibana、ES
10.0.0.51 部署Logstash

3、jdk安装
解压jdk安装包

tar zvxf jdk-8u60-linux-x64.tar.gz 
ln -s /usr/local/jdk1.8.0_60 /usr/local/jdk

配置环境变量
vim /etc/profile

添加
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
source /etc/profile

[root@web03 local]# java -version 
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

二、Kibana安装

将安装包放到/usr/local目录下然后解压

cd /usr/local
tar zvxf kibana-6.6.0-linux-x86_64.tar.gz
mv kibana-6.6.0-linux-x86_64 kibana-6.6.0

修改kibana配置文件
vim /usr/local/kibana-6.6.0/config/kibana.yml

[root@elk-node1-50 local]# grep -Ev "^$|^[#;]" kibana-6.6.0/config/kibana.yml   
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]

指定访问端口 5601
server.host改为0.0.0.0方便等等使用浏览器访问
连接elasticsearch的地址为http://localhost:9200,如果后面elasticsearch中配置文件中的地址不为localhost而是为主机IP地址的话,这里也要改为IP地址。

启动kibana
前台启动方式

/usr/local/kibana-6.6.0/bin/kibana

后台启动方式

nohup /usr/local/kibana-6.6.0/bin/kibana >/tmp/kibana.log 2>/tmp/kibana.log &

kibana的安全说明

  • 默认无密码,谁都可以访问
  • 如果使用云厂商,可以在安全组控制某个IP的访问
  • 建议借用Nginx实现用户名密码登录

三、Elasticsearch安装

1、解压

tar zvxf elasticsearch-6.6.0.tar.gz

2、修改配置文件
设置数据存放目录和日志存放目录,监听的IP和端口
vim /usr/local/elasticsearch-6.6.0/config/elasticsearch.yml

path.data: /usr/local/elasticsearch-6.6.0/data
path.logs: /usr/local/elasticsearch-6.6.0/logs
network.host: 127.0.0.1
http.port: 9200

3、启动Elasticsearch
Elasticsearch的启动需要使用普通用户,创建一个elk用户,然后修改其目录所属用户为elk,切换到elk用户下然后启动程序。

[root@elk-node1-50 local]# useradd -s /sbin/nologin elk
[root@elk-node1-50 local]# chown -R elk:elk /usr/local/elasticsearch-6.6.0/
[root@elk-node1-50 local]# su - elk -s /bin/bash
[elk@elk-node1-50 ~]$ /usr/local/elasticsearch-6.6.0/bin/elasticsearch -d

4、访问页面
这个时候再访问kibana的页面http://10.0.0.50:5601
在这里插入图片描述
5、Elasticsearch启动注意事项

  • 如果监听在127.0.0.1的话,可以启动成功
  • 如果跨机器通讯,需要监听在真实网卡上
  • 监听在真实网卡需要调整系统参数才能正常启动

默认情况下,Elasticsearch 仅仅绑定回环地址,比如127.0.0.1 和[::1],只允许本机访问。为了与其他服务器上的节点进行通信并形成集群,你的节点将需要绑定到非环回地址。通常只需要配置一下 network.host,设成0.0.0.0让任何人都可以访问,线上服务不要这样设置,要设成具体的 IP。

监听在非127.0.0.1时:

  • 监听在0.0.0.0或者内网地址
  • 以上两种 监听都需要调整系统参数

最大文件打开数调整/etc/security/limits.conf
nofile 65536
最大打开进程数调整/etc/security/limits.d/20-nproc.conf
nproc 10240
内核参数调整/etc/sysctl.conf
vm.max_map_count=262144

监听网卡建议

  • 如果学习。建议监听在127.0.0.1
  • 如果是云服务器的话,一定要把9200和9300公网入口在安全组限制一下
  • 线上环境建议监听在内网网卡,监听在公网容易被入侵

6、监听0.0.0.0端口测试。

修改network.host为0.0.0.0,然后kill进程后重新启动elasticsearch

vim /usr/local/elasticsearch-6.6.0/config/elasticsearch.yml
[root@elk-node1-50 local]# su - elk -s /bin/bash
[elk@elk-node1-50 ~]$ /usr/local/elasticsearch-6.6.0/bin/elasticsearch -d

查看日志有报错

[elk@elk-node1-50 ~]$ tail /usr/local/elasticsearch-6.6.0/logs/elasticsearch.log 
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

使用root用户设置最大文件打开数
vim /etc/security/limits.conf

添加
* - nofile 65536

内核参数调整

#查看内核参数
[root@elk-node1-50 ~]# sysctl -a | grep max_map_count
sysctl: reading key "net.ipv6.conf.all.stable_secret"
sysctl: reading key "net.ipv6.conf.default.stable_secret"
sysctl: reading key "net.ipv6.conf.ens33.stable_secret"
sysctl: reading key "net.ipv6.conf.ens37.stable_secret"
sysctl: reading key "net.ipv6.conf.lo.stable_secret"
sysctl: reading key "net.ipv6.conf.virbr0.stable_secret"
sysctl: reading key "net.ipv6.conf.virbr0-nic.stable_secret"
vm.max_map_count = 65530

#修改内核参数
vim /etc/sysctl.conf
vm.max_map_count=262144

#使内核参数生效
[root@elk-node1-50 ~]# sysctl -p
vm.max_map_count = 262144

查看监听端口,默认使用9200和9300端口

[elk@elk-node1-50 ~]$ netstat -tlunp | grep java
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::9200                 :::*                    LISTEN      5441/java           
tcp6       0      0 :::9300                 :::*                    LISTEN      5441/java

这个时候使用浏览器可以从外部访问elasticsearch,如果监听127.0.0.1访问不到这个页面。
在这里插入图片描述
network.host详解
在这里插入图片描述

四、Elasticsearch基本操作

1、概念

  • 索引:类似于mysql中的数据库
  • 类型:类似于mysql中的数据表
  • 文档:存储数据

2、数据操作

  • 手动curl操作Elasticsearch会比较难
  • 借用Kibana来操作Elasticsearch

3、测试Web接口

  • 浏览器访问
    在这里插入图片描述

  • Kibana操作:GET /
    在这里插入图片描述
    4、索引操作

  • 创建索引: PUT /wangxiaoyu

  • 删除索引: DELETE /wangxiaoyu

  • 获取所有索引:GET _cat/indices?v

五、Logstash安装

1、解压

tar zvxf logstash-6.6.0.tar.gz

2、最简单的配置

[root@elk-node2-51 local]# cat /usr/local/logstash-6.6.0/config/logstash.conf
input{
  stdin{}
}
output{
  stdout{
    codec=>rubydebug
  }
}

3、读取日志文件配置

[root@elk-node2-51 ~]# cat /usr/local/logstash-6.6.0/config/logstash.conf 
input{
  file{
    path=>"/usr/local/nginx/logs/access.log"
  }
}
output{
  stdout{
    codec => rubydebug
  }
}

4、前台启动logstash服务

/usr/local/logstash-6.6.0/bin/logstash -f /usr/local/logstash-6.6.0/config/logstash.conf 

5、后台启动

nohup /usr/local/logstash-6.6.0/bin/logstash -f /usr/local/logstash-6.6.0/config/logstash.conf >/tmp/logstash.log 2>/tmp/logstash.log &

注意:为了使Logstash后台运行,不管是nohub … &还是screen还是supervisord管理进程时千万不要把配置目录中的配置文件中的input {}区段设置为测试用的stdin {},否则进程运行一会儿就会自动退出。我一开始使用的上面的stdin {}最简单的配置,虽然后台启动成功但是一会儿就退出了。

6、Logstash默认使用9600端口

[root@elk-node2-51 ~]# netstat -tlunp | grep 9600
tcp6       0      0 127.0.0.1:9600          :::*                    LISTEN      945/java
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值