摘要:编译安装日志分析平台首发链接开始之前假设您已经拥有一台内存至少的计算机或虚拟机并且安装了命令并且您应该了解命令的使用如果不了解您可以粗略的看一下简明教程下载安装包下载安装包传输到服务器中如果是里直接下载则可以忽略这一步准备安
编译安装日志分析平台 elk + filebeat
首发链接 [https://system.out.println.or...]()开始之前
假设您已经拥有一台内存至少1G的linux计算机或虚拟机并且安装了screen命令下载安装包
并且您应该了解screen命令的使用 , 如果不了解您可以粗略的看一下 screen简明教程
java http://www.oracle.com/technetwork/java/javase/downloads/index.html
elk https://www.elastic.co/cn/products
下载安装包
传输到服务器中 , 如果是linux里直接下载则可以忽略这一步
scp .jdk-8u181-linux-x64.tar.gz .kibana-6.3.2-linux-x86_64.tar.gz .logstash-6.3.2.tar.gz .elasticsearch-6.3.2.tar.gz root@192.168.1.147:/opt
接下来登陆到linux环境
ssh root@192.168.1.147
解压刚才传输的文件,并把删除原文件
cd /opt/ && ls | xargs -I {} tar xzvf {} && rm -f ./*.tar.gz
因为es是不能运行在root用户的 , 即使可以也不建议使用 root
因此, 我们可以多带带创建一个用户来运行elk
useradd elk
给elk的文件目录变更用户
chown -R elk:elk ./*
请自行更换 /opt 为你的实际目录java 8
把以下几行添加到 /etc/bashrc 的末尾
export JAVA_HOME=/opt/jdk1.8.0_181 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
使环境变量生效
source /etc/bashrc
验证安装是否成功
java -version
此时java安装成功
elasticsearch切换到elk用户
su elk
使用 screen 开始一个新会话
screen -S es
修改默认的配置文件
sed -i "s/# network.host: 192.168.0.1/network.host: 0.0.0.0/" /opt/elasticsearch-6.3.2/config/elasticsearch.yml sed -i "s/# http.port/http.port/" /opt/elasticsearch-6.3.2/config/elasticsearch.yml
启动es
/opt/elasticsearch-6.3.2/bin/elasticsearch
如果遇到这个错误
执行命令:
su root sysctl -w vm.max_map_count=262144 sysctl -a | grep vm.max_map_count exit
再尝试启动 , 如果遇到这个错误
回到root账户 , 修改/etc/security/limits.conf 添加如下行并重启计算机 :
elk hard nofile 262144 elk soft nofile 262144
再尝试启动 , 一般会看到这个东西
此时es启动成功 , 然后我们利用curl测试一下
curl 127.0.0.1:9200
如果返回这个东西说明真的成功了 , 返回别的这里不讨论 , 一律视为失败 , 请参考日志进行排错
如果需要在浏览器访问, 还需要关闭防火墙和selinux
su root systemctl stop firewalld.service setenforce 0 exit
浏览器访问
至此es安装和启动完毕
我们用组合键回到默认会话
Ctrl A + dlogstash
logstash 安装和配置比较简单 , 但是需要创建一个文件
创建输入输出配置文件
tee /opt/logstash-6.3.2/config/logstash-io.conf <<-"EOF" input { file { path => "/var/log/dev.log" start_position => "beginning" } } output { elasticsearch { hosts => ["192.168.1.147:9200"] } } EOF
默认配置文件在 /opt/logstash-6.3.2/config/logstash.yml 可以按需修改*
尝试启动logstash
screen -S logstash /opt/logstash-6.3.2/bin/logstash -f /opt/logstash-6.3.2/config/logstash-io.conf
如果没有error , 就启动完成了
如果需要测试是否真的启动完成 , natstat 和 telnet 这两个命令都可以
telnet 127.0.0.1 9600 || netstat -anp | gerp 9600
至此logstash安装和启动完毕
我们用组合键回到默认会话
Ctrl A + dkibana
kibana 只需要修改基础配置文件即可启动 , 并进行浏览器测试
修改配置文件
sed -i "s/#elasticsearch.url: "http://localhost:9200"/elasticsearch.url: "http://192.168.1.147:9200"/" /opt/kibana-6.3.2-linux-x86_64/config/kibana.yml sed -i "s/#server.host: "localhost"/server.host: "192.168.1.147"/" /opt/kibana-6.3.2-linux-x86_64/config/kibana.yml
启动
/opt/kibana-6.3.2-linux-x86_64/bin/kibana
返回如下信息则说明启动成功
打开浏览器 输入http://192.168.1.147:5601 可以看到如下画面
至此kibana安装和启动完毕
我们用组合键回到默认会话
Ctrl A + d测试
如果顺利的到了这里 , 那么elk其实已经可以使用了 , filebeat不是必须的.
我们找来一些日志验证一下前面工作的正确性
上传日志到服务器 :
scp ./dev.log root@192.168.1.147:/var/log/
这是一份普通的nginx日志
用screen -r回到logstash会话
界面一闪而过 , 回到了这里
ctrl +c 停止它按上方向键 , 再启动它
稍候片刻启动完成, 回到kibana
在首页创建通配符索引 logstash*
如果next是可点击的 , 那就到了这里
选择@timestamp 继续下一步
然后就开启ELK的世界了
首页如下
filebeat 取得安装包和准备工作一样 , 从官网获得filebeat的安装包并解压
修改配置修改filebeat的配置文件 , 和上面一样我们使用sed修改配置文件
# 开启log输入 sed -i "s/enabled: false/enabled: true/" /opt/filebeat-6.3.2-linux-x86_64/filebeat.yml # log存放的位置 , 位置分隔符 / 需要用 转义 sed -i "s/- /var/log/*.log//var/log/dev.log/" /opt/filebeat-6.3.2-linux-x86_64/filebeat.yml # 关闭默认的输出到es sed -i "s/output.elasticsearch:/# output.elasticsearch:/" /opt/filebeat-6.3.2-linux-x86_64/filebeat.yml sed -i "s/hosts:/# hosts:/" /opt/filebeat-6.3.2-linux-x86_64/filebeat.yml # 打开输入到logstash sed -i "s/#output.logstash:/output.logstash:/" /opt/filebeat-6.3.2-linux-x86_64/filebeat.yml sed -i "s/## hosts:/hosts:/" /opt/filebeat-6.3.2-linux-x86_64/filebeat.yml
我们还需要修改 logstash 的配置文件才能使用 filebeat 来自动捕获数据
修改logstash的输入输出配置为了避免你已经手动修改了配置文件 , 我们不再使用sed为改为手动修改配置文件
使用你喜爱的编辑器打开 /opt/logstash-6.3.2/config/logstash-io.conf , 删除掉input代码块并在原file代码块的位置 ,增加如下内容并保存
beats{ port => 5044 }
最终配置文件大概会是这个样子
input { beats{ port => 5044 } } output { elasticsearch { hosts => ["192.168.1.147:9200"] } }重启logstash
screen -r logstash ^C^C^C^C.... /opt/logstash-6.3.2/bin/logstash -f /opt/logstash-6.3.2/config/logstash-io.conf
如果正常启动并进入监听状态 , 我们回到刚才的会话
screen -r beats启动filebeat
/opt/filebeat-6.3.2-linux-x86_64/filebeat -e -c /opt/filebeat-6.3.2-linux-x86_64/filebeat.yml
如果配置正确 , 那么一般不会遇到什么问题
测试filebeat因为我们已经在 /var/log/dev.log 这份配置文件 , 那么我们就增加它的内容 , 来测试filebeat是否正常扫描和输出到logstash
里使用死循环来增加日志内容 , 数据是重复的 , 仅可用于验证filebeat的工作
第三行的 while 是每隔1秒就复制 tmp.log 的内容到 dev.log 的末尾
您随时可以用 ^C [Ctrl +c] 来终止复制过程
su root cp /var/log/dev.log /tmp/tmp.log while true ; do cat /tmp/tmp.log >> /var/log/dev.log ; sleep 1 ; done
然后我们查看浏览器的kibana , 右上角倒数第二个按钮, 开启自动刷新并选择五秒
如果一切无误, 坐等5秒 , 就会发现有新的数据展示在页面上
此时可以明显的观察到 , 红框的时间部分每隔5秒就会变化一次
因为我们已经保证了没有 filebeat 时elk平台工作是正常的大功告成
那么如果现在elk不再正常工作了 , 就从 filebeat 大节检查和排错 ,问题最大可能是sed在你的计算机中没有生效
那么就检查配置文件开始 debug 吧
同时也欢迎您在本文章下留言说明你遇到的问题
-- 未完待续
x-pack-- 未完待续
ik分词-- 未完待续
elasticsearch query language-- 未完待续
使用语言级软件, 向logstash推送数据的方法 TCP-- 未完待续
UDP-- 未完待续
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/34285.html
摘要:为加入替换下这是的第二篇文章编译安装日志分析平台支持多种输入输出方法本文章主要描述通过做队列中间件缓解平台的压力使用场景数据不可控时例如日志不是文件而是由直接推送到的就无法使用了当然是可以和一起使用的例如读取文件解析后输出到再由正常流程处理 为elk加入redis, 替换下beats 这是elk的第二篇文章 编译安装日志分析平台 elk + filebeat elk支持多种输入输出方法...
摘要:为加入替换下这是的第二篇文章编译安装日志分析平台支持多种输入输出方法本文章主要描述通过做队列中间件缓解平台的压力使用场景数据不可控时例如日志不是文件而是由直接推送到的就无法使用了当然是可以和一起使用的例如读取文件解析后输出到再由正常流程处理 为elk加入redis, 替换下beats 这是elk的第二篇文章 编译安装日志分析平台 elk + filebeat elk支持多种输入输出方法...
摘要:为加入替换下这是的第二篇文章编译安装日志分析平台支持多种输入输出方法本文章主要描述通过做队列中间件缓解平台的压力使用场景数据不可控时例如日志不是文件而是由直接推送到的就无法使用了当然是可以和一起使用的例如读取文件解析后输出到再由正常流程处理 为elk加入redis, 替换下beats 这是elk的第二篇文章 编译安装日志分析平台 elk + filebeat elk支持多种输入输出方法...
摘要:系统环境为了安装时不出错,建议选择这两者选择一样的版本,本文全部选择版本。也是一个开源和免费的工具,它可以为和提供的日志分析友好的界面,可以帮助您汇总分析和搜索重要数据日志。注意首次会提示没有索引。。。。 系统环境为了安装时不出错,建议选择这两者选择一样的版本,本文全部选择5.3版本。 System: Centos release 7.2Java: openjdk version 1....
摘要:简单介绍,三者组合在一起搭建实时的日志分析平台,目前好多公司都是这套是个开源分布式搜索引擎,它的特点有分布式,零配置,自动发现,索引自动分片,索引副本机制,风格接口,多数据源,自动搜索负载等。 showImg(https://segmentfault.com/img/remote/1460000012596092?w=1920&h=1270); 简单介绍 ELK(ElasticSear...
阅读 3301·2021-11-22 12:00
阅读 541·2019-08-29 13:24
阅读 2794·2019-08-29 11:31
阅读 2387·2019-08-26 14:00
阅读 3060·2019-08-26 11:42
阅读 2362·2019-08-23 18:31
阅读 697·2019-08-23 18:27
阅读 2648·2019-08-23 16:58