elk日志系统搭建

搭建环境单机版: x86+centos7+jdk8+Elasticsearch6.6+kibana6.6+logstash6.6

初始化工作:

一、jdk安装

1、导入jdk安装包到 /usr/local

使用工具导入或使用Windows命令,mac os可使用scp命令等方式。

2、解压jdk
cd /usr/local
tar -zxvf jdk1.8.0_144-linux-x64.tar.gz(对应的自己的jdk文件名称)
3、配置环境变量
#打开文件进行配置
vim /etc/profile
#在文件末尾添加
export JAVA_HOME=/usr/local/jdk1.8.0_144(解压后生成的文件夹名称)
export CLASS_PATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
#保存并刷新文件
source /etc/profile
4、验证JDK安装有效性
java -version

如图安装成功
在这里插入图片描述

Elasticsearch安装:

一、下载或直接导入elasticSearch安装包

下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.tar.gz

二、解压

tar -zxvf elasticsearch-6.6.0.tar.gz

三、修改Linux系统的限制配置

a. 修改系统中允许应用最多创建多少文件等的限制权限。Linux默认来说,一般限制应用最多创建的文件是65535个。但是ES至少需要65536的文件创建权限。
b. 修改系统中允许用户启动的进程开启多少个线程。默认的Linux限制root用户开启的进程可以开启任意数量的线程,其他用户开启的进程可以开启1024个线程。必须修改限制数为4096+。因为ES至少需要4096的线程池预备。ES在5.x版本之后,强制要求在linux中不能使用root用户启动ES进程。所以必须使用其他用户启动ES进程才可以。
c. Linux低版本内核为线程分配的内存是128K。4.x版本的内核分配的内存更大。如果虚拟机的内存是1G,最多只能开启3000+个线程数。至少为虚拟机分配1.5G以上的内存。

打开文件

vi /etc/security/limits.conf

添加如下

es soft nofile 65536 
es hard nofile 65536
es soft nproc  4096
es hard nproc  4096

四、修改系统控制权限

a. 修改管理系统中的各种资源控制的配置文件。
b. ElasticSearch需要开辟一个65536字节以上空间的虚拟内存。Linux默认不允许任何用户和应用程序直接开辟这么大的虚拟内存

打开文件

vi /etc/sysctl.conf

添加如下

#当前用户拥有的内存权限太小
vm.max_map_count=262144
#减小内存交换
vm.swappiness=1
保存退出后
#让系统控制权限配置生效
sysctl -p

五、新建一个用户, 用于ElasticSearch启动(ElasticSearch5及以上版本,基于安全考虑,强制规定不能以root身份运行。)

#创建用户
useradd  es
#修改上述用户的密码
passwd es 
#修改elasicsearch目录的拥有者
chown -R es elasticsearch-6.6.0/
chown -R es /data/es (存放es数据的目录,任意位置,没有可以创建: mkdir -p /data/es )

六、修改elasticsearch.yml文件

参数说明:

cluster.name 集群名称,相同名称为一个集群
node.name 节点名称,集群模式下每个节点名称唯一
path.data 索引数据存放的位置
path.logs 日志文件存放的位置
bootstrap.memory_lock 需求锁住物理内存,避免操作系统的内存Swaping,是:true、否:false
network.host 可填写本机IP地址。填写非回路IP表示生产环境,否则就是开发环境。
http.port es对外提供的http端口,默认 9200
discovery.seed_hosts 集群中的其他地址,如果是域名,则会解析这个域名关联的所有IP地址
cluster.initial_master_nodes es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
index.mapper.dynamic : false 全局关闭dynamic mapping

#进入elasticSearch配置目录
cd elasticsearch-6.6.0/config
#打开elasticsearch.yml文件
vi elasticsearch.yml
示例:(找到对应的配置修改不要直接复制粘贴、没有集群所以没有配置cluster.initial_master_nodes和discovery.seed_hosts)
cluster.name: es
node.name: node-1
network.host: 0.0.0.0
path.data: /data/es/data
path.logs: /data/es/logs
http.port: 9200

七、修改jvm.options文件,配置JVM的大小,建议是机器物理内存的一半,并且将最小和最大堆内存设置一样。

因为centos中安装了其他的本文就不做更改、可根据自己需求配置
在这里插入图片描述

添加 -Dlog4j2.enable.threadlocals=false 选项,避免ElasticSearch中的log4j使用threadlocals记录异常,从而有效避免大量且频繁的Bulk操作异常时,造成ElasticSearch内存泄露的问题。
在这里插入图片描述

八、启动ElasticSearch

#切换用户
su es
#到ElasticSearch的bin目录下
cd ../bin
#前台启动(建议先用此命令启动看打印的日志)
./elasticsearch
#后台启动(建议上无错误后在后台启动)
./elasticsearch -d

九、验证是否运行成功

用浏览器打开:http://ip:9200.若能出现下图结果, 则表示启动成功。(需要打开监听端口 9200或关闭防火墙 )
在这里插入图片描述

Kibana安装

一、Kibana初识

a. 是ES提供的一个基于WEB的管理控制台。
b. 在Linux中安装Kibana很方便。解压,启动即可。
c. Kibana要求的环境配置是小于ES的要求的
d. Kibana的默认端口是5601

二、下载或导入kibana

下载地址:https://artifacts.elastic.co/downloads/kibana/kibana-6.6.0-linux-x86_64.tar.gz

三、解压kibana(单机接着上面的操作需要切换用户执行 su 输入密码即可)

tar -zxvf kibana-6.6.0-linux-x86_64.tar.gz

四、修改配置文件kibana.yml

#进入目录
cd kibana-6.6.0-linux-x86_64/config
#修改配置
vi kibana.yml
示例:(找到对应的配置修改不要直接复制粘贴)
#设置端口
server.port: 5601
#开启远程访问
server.host: "0.0.0.0" 
#设置ElasticSearch集群ip(设置一台就可以了。也可以设置多台,用逗号隔开、此处是我centos7的内网ip更换为自己的)
elasticsearch.hosts: ["http://192.168.1.12:9200"]

五、修改Kibana目录的所有者

chown -R es ../../kibana-6.6.0-linux-x86_64/

六、启动kibana

#切换用户
su es
#到kibana的bin目录下
cd ../bin
#前台启动(建议先用此命令启动看打印的日志)
./kibana
#后台启动(建议上无错误后在后台启动)
nohup ./kibana &

七、访问: http://ip:5601/。

出现如下图则表示启动成功(需要打开监听端口5601或开启防火墙):
在这里插入图片描述

八、补充

#Kibana7x以后的版本添加了中文
#进入kibana.yml
vi ../config/kibana.yml
#修改如下(注意冒号后面必须加空格)
i18n.locale: "zh-CN"

logstash安装

一、下载或导入logstash

下载地址:https://artifacts.elastic.co/downloads/logstash/logstash-6.6.0.tar.gz

二、解压logstash(单机接着上面的操作需要切换用户执行 su 输入密码即可)

tar -zxvf logstash-6.6.0.tar.gz

三、添加自己的配置 (192.168.1.12是我的ip改为自己的ip)

#进入目录
cd logstash-6.6.0/bin/
#新增配置
vi logstash.conf

添加如下

input {
    gelf {
        host => "192.168.1.12"
        port => 5044
    }
}
filter {
  mutate {
    lowercase => [ "logger", "level" ]
  }
}
output {
    stdout {
        codec => rubydebug
    }
    elasticsearch {
        hosts => ["192.168.1.12:9200"]
        index => "%{[index]}"
    }
}

四、启动

#前台启动(建议先用此命令启动看打印的日志)
./logstash -f logstash.conf
#后台启动(建议上无错误后在后台启动)
nohup sh logstash -f logstash.conf &

demo测试

一、导入demo到idea

demo下载地址:
链接:https://pan.baidu.com/s/1kerP1I5BB-2JZ54yF4kHRw?pwd=cyun
提取码:cyun

二、修改如下配置

在这里插入图片描述

三、启动项目访问

http:localhst:8080/test

四、打开kibana按图步骤

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

五、日志系统搭建结束

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值