ELK系列(一)、安装ElasticSearch+Logstash+Kibana+Filebeat-v7.7.0

ELK是目前最流行的日志分析套件,基于lucene,提供全文检索功能,ES是目前最快的索引型数据库并提供RESTful接口,对开发人员很友好,横向扩展,Logstash提供多种插件,支持各类日志格式的定制和插件并实时将日志内容写入ES或其他目标源,Kibana提供对ES数据的展示功能,多用于日志检索,实时报表。

已经是大名鼎鼎的产品了,不多废话,直接上干货,这里就使用目前最新的7.7.0版本。

ELK系列文章

ELK系列(一)、安装ElasticSearch+Logstash+Kibana+Filebeat-v7.7.0

ELK系列(二)、在Kibana中使用RESTful操作ES库

ELK系列(三)、安装Logstash插件及打包离线安装包

ELK系列(四)、Logstash读取nginx日志写入ES中

ELK系列(五)、Logstash修改@timestamp时间为日志的产生时间

ELK系列(六)、修改Nginx日志为Json格式并使用Logstash导入至ES

ELK系列(七)、Filebeat+Logstash采集多个日志文件并写入不同的ES索引中

ELK系列(八)、使用Filebeat+Redis+Logstash收集日志数据

ELK系列(九)、配置ES和Kibana的用户密码

ELK系列(十)、ES中文分词器IK插件安装和配置远程词库热加载

ELK系列(十一)、ElasticSearch7.7.0插件es-head安装及使用

ELK系列(十二)、使用SQL查询ElasticSearch7.7.0

ELK系列(十三)、在Hive中操作ES的索引数据,创建/查询/更新/插入

ELK系列(十四)、在Python中操作ES,创建/查询/插入/更新/删除

ELK系列(十五)、Elasticsearch核心原理一篇全搞定


下载

全部下载: https://www.elastic.co/cn/downloads

ES: https://www.elastic.co/cn/downloads/elasticsearch

Kibana: https://www.elastic.co/cn/downloads/kibana

Logstash: https://www.elastic.co/cn/downloads/logstash

Filebeat: https://www.elastic.co/cn/downloads/beats/filebeat

这里下载tar.gz版。

-------------------------------------安装----------------------------------

JDK

ES是基于JVM的,所以需要安装1.8的JDK。

rpm -ivh jdk-8u192-linux-x64.rpm

vi /etc/profile
export JAVA_HOME=/usr/java/latest

vi ~/.bash_profile
export PATH=$JAVA_HOME/bin:$PATH

#刷新环境变量
source /etc/profile
source ~/.bash_profile

查看java版本:
java -version

2020-07-10 更新: 下面的代码中用到的如$ES_HOME,$LS_HOME等环境变量也是使用这种方式来配置,在使用sudo命令执行shell时,实际执行脚本的是sudo后的用户,因此需要先切换到那个用户之后刷新环境变量,再执行sudo命令;否则会报错找不到该环境变量;

ElasticSearch

解压tar包

tar zxvf elasticsearch-7.7.0-linux-x86_64.tar.gz -C /opt/app/

创建data和logs目录

mkdir /opt/app/elasticsearch-7.7.0/data
mkdir /opt/app/elasticsearch-7.7.0/logs

配置文件

vim /opt/app/elasticsearch-7.7.0/config/elasticsearch.yml

cluster.name: MyES  #集群名称
node.name: node01    #本节点名称
path.data: /opt/app/elasticsearch-7.7.0/data    #数据存储目录
path.logs: /opt/app/elasticsearch-7.7.0/logs    #日志存储目录
network.host: 0.0.0.0     #所有机器都可监听
http.port: 9200        #默认端口
cluster.initial_master_nodes: ["node01"]  #主节点名称,与上面配置的保持一致

JVM配置

因为ES是基于Java开发的,所以依赖于JVM,有需求可以修改JVM属性:

vim /opt/app/elasticsearch-7.7.0/config/jvm.options

-Xms4g
-Xmx4g

创建elk用户

ES不允许使用root用户启动,所以我们创建一个elk用户:

useradd elk

chown -R elk:elk elasticsearch-7.7.0

 

启动:

su elk

$ES_HOME/bin/elasticsearch

报错:

ERROR: [3] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /opt/app/elasticsearch-7.7.0/logs/MyES.log

查看机器限制:

ulimit -Sn
ulimit -Hn

 

 

修改限制:

vim /etc/security/limits.conf

*       soft    nofile           65535
*       hard    nofile           65535
elk       soft    nproc           4096
elk       hard    nproc           4096

vim /etc/sysctl.conf

vm.swappiness = 0
vm.max_map_count=262144

执行命令sysctl -p另其生效:

切换elk用户再次启动ES,在浏览器中输入node01:9200验证,出现下面的结果说明已正常安装并启动:

编写启停脚本 start-es.sh以及stop-es.sh,编写后记得切换到elk用户刷新一下环境变量,否则会找不到$ES_HOME:

start-es.sh

sudo -u elk nohup $ES_HOME/bin/elasticsearch >> $ES_HOME/output.log 2>&1 &

stop-es.sh

#!/bin/bash
PROCESS=`ps -ef | grep 'elasticsearch-7.7.0' |grep -v grep | grep -v PPID | awk '{ print $2}'`
echo $PROCESS
for i in $PROCESS
do
  echo "Kill the elasticsearch process [ $i ]"
  kill -9 $i
done

Logstash

解压

tar -zxvf /home/wyk/logstash-7.7.0.tar.gz -C /opt/app/

解压即是安装结束,下面是个小例子:

新增一个配置文件: 读取日志文件打印到窗口中

vim $LS_HOME/config/logstash-csdn.yml

input {
  # 从文件读取日志信息
 file {
      path => "/var/log/messages"
      type => "system"
      start_position => "beginning"
      }
}
filter {

}
output {
  # 标准输出
  stdout {}
}

执行配置文件:

cd $LS_HOME
bin/logstash -f config/logstash-csdn.yml

 

 

Kibana

解压

tar -zxvf /home/wyk/kibana-7.7.0-linux-x86_64.tar.gz -C /opt/app/

 

 配置

vim config/kibana.yml

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"] #ES所在的ip
#elasticsearch.username: "kibana"  #如果ES有配置用户则这里需要配置用户密码
#elasticsearch.password: "123456"

chown -R elk:elk /opt/app/kibana-7.7.0-linux-x86_64

启动:

$KB_HOME/bin/kibana

浏览器登录node01:5601 ,出现下面的界面即成功

编写启停脚本start-kb.sh 和stop-kb.sh

start-kb.sh

#!/bin/bash
sudo -u elk  nohup $KB_HOME/bin/kibana > $KB_HOME/output.log 2>&1 &

stop-kb.sh

#!/bin/bash
PROCESS=`ps -ef | grep 'kibana' |grep -v grep | grep -v PPID | awk '{ print $2}'`
echo $PROCESS
for i in $PROCESS
do
  echo "Kill the kibana process [ $i ]"
  kill -9 $i
done

 

希望本文对你有帮助,请点个赞吧~~谢谢

  • 28
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王义凯_Rick

遇见即是缘,路过就给个评论吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值