`
lixiaoxin
  • 浏览: 18370 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

filebeat+elasticsearch+kibana(版本6.4.2)搭建简单的日志收集系统

阅读更多
1 elasticsearch
1.1.安装elasticsearch
使用官网rpm包
# rpm -ivh elasticsearch-6.4.2.rpm
1.2.修改elasticsearch 配置文件
# vi /etc/elasticsearch/elasticsearch.yml
 
关键配置:
cluster.name: XXX-application
node.name: node1
path.data:自定目录
path.logs: 自定义目录
bootstrap.memory_lock: true
network.host:ip或者0.0.0.0
http.port: 9200
# 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["ip:9300", "ip:9300"]
#两个节点防脑裂的配置, minimum_master_nodes决定了选主需要最少节点数, N/2+1, 两个节点即2
discovery.zen.minimum_master_nodes: 2
 
1.3.把elasticsearch目录改成elasticsearch用户elasticsearch组
chown -R elasticsearch:elasticsearch /usr/share/elasticsearch
 
path.data path.logs对应的目录进行同样的赋权操作
 
如果使用systemctl 启动不起可能也是与目录的用户归属有关
可以使用 find / -name elasticsearch 查看还有哪些elasticsearch目录
1.4.开发防火墙 端口 9200 9300
1.5修改elasticsearch 的jvm配置
vi /etc/sysconfig/elasticsearch
指定JAVA_HOME目录
JAVA_HOME=/usr/local/java/jdk1.8.0_171
修改jvm参数
vi /etc/elasticsearch/jvm.options
-Xms16g
-Xmx16g
 
## GC configuration
#-XX:+UseConcMarkSweepGC
#-XX:CMSInitiatingOccupancyFraction=75
#-XX:+UseCMSInitiatingOccupancyOnly
-XX:+UseG1GC
-XX:MaxGCPauseMillis=50
-XX:MaxGCPauseMillis=200
 
1.6.修改系统打开文件数据及内存锁相关配置
vi /etc/security/limits.conf
加上:
* soft nofile 65536
* hard nofile 65536
* soft nproc 32000
* hard nproc 32000
* hard memlock unlimited
* soft memlock unlimited
vi /etc/systemd/system.conf
加上:
DefaultLimitNOFILE=65536
DefaultLimitNPROC=32000
DefaultLimitMEMLOCK=infinity
之后继续操作:
/bin/systemctl daemon-reload
/bin/systemctl enable elasticsearch.service
systemctl start elasticsearch.service
systemctl status elasticsearch.service
 
尝试过一定要重启机器,不然还是会报
[1] bootstrap checks failed
[1]: memory locking requested for elasticsearch process but memory is not locked
 
1.7.安装geoip 插件
离线安装下载地址:
安装命令: bin/elasticsearch-plugin install file:///path/to/plugin.zip
# /usr/share/elasticsearch/bin/elasticsearch-plugin install file:///opt/elk/ingest-geoip-6.4.2.zip
修改 geoip插件目录归属elasticsearch用户 elasticsearch组
#chown elasticsearch:elasticsearch /usr/share/elasticsearch/plugins/ingest-geoip
 
2 filebeat
2.1 安装filebeat
#rpm -ivh filebeat-6.4.2-x86_64.rpm
2.2 修改 filebeat 配置:关键地方
vi /etc/filebeat/filebeat.yml
- type: log
enabled: true
paths:
- /opt/testLog/*.log
fields:
source: system
- type: log
enabled: false
paths:
- /opt/testLog1/*.log
fields:
source: system
 
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["192.168.12.140:9200","192.168.12.141:9200"]
# Optional protocol and basic auth credentials.
#protocol: "https"
#username: "elastic"
#password: "changeme"
#pipeline: "nginx-pipeline"
#index: "mylog-%{+yyyy.MM.dd}"
pipelines:
- pipeline: "nginx-pipeline"
when.contains:
fields.source: nginx
- pipeline: "system-pipeline"
when.contains:
fields.source: system
indices:
- index: "mylog-nginx-%{+yyyy.MM.dd}"
when:
contains:
fields.source: nginx
- index: "mylog-system-%{+yyyy.MM.dd}"
when:
contains:
fields.source: system
setup.template.name: "mylog"
setup.template.pattern: "mylog-*"
 
filebeat.yml
备注:配文件里是source: nginx fsource: system,但是我在生产配置的时候,index跟pipeline一直不生效,怎么尝试都不行,后来了一下生产出来的数据,有另个对应的key是fields.source,改成fields.source: nginx fields.source: system就可以了。
 
3 kibana
安装kibana
rpm -ivh kibana-6.4.2-x86_64.rpm
kibana的启动配置好简单这么就不细说了
 
4. 在elasticsearch中建立 pipeline 与filebeat对应
4.1 建立 nginx.json文件
vi nginx.json
{ "description" : "nginx-pipeline",
"processors" : [
{
"grok" :{
"field" : "message",
"patterns" :["%{IPORHOST:clientip} - %{NOTSPACE:remote_user} \\[%{HTTPDATE:timestamp}\\] \"(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})\" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{QS:referrer} %{QS:agent} \"(?:%{USERNAME:http_x_forwarded_for}|%{IPV4:http_x_forwarded_for})\""
],
"pattern_definitions" : {
"NGUSERNAME" : "[a-zA-Z.@-+_%]",
"NGUSER" : "%{NGUSERNAME}"
},
"ignore_failure" : true,
"ignore_missing" : true
 
}
},
{
"date": {
"field": "timestamp",
"target_field": "@timestamp",
"formats": [
"dd/MMM/yyyy:HH:mm:ss Z"
],
"timezone": "Asia/Shanghai"
}
}
]
}
注:这里的patterns要根据具体的日志文件来实现
 
4.2 把pipeline导入到elasticsearch
curl -H 'Content-Type: application/json' -XPUT 'http://192.168.12.140:9200/_ingest/pipeline/nginx-pipeline' -d@/etc/elasticsearch/nginx.json
这里的 nginx-pipeline 对应的是 filebeat里面的 - pipeline: "nginx-pipeline"
system-pipeline根据实际情况参考nginx.json进行配置
 
4.3关于grok Ingest 自带的正则模板可以参考这里
 
 
 
 
 
分享到:
评论

相关推荐

    kibana-6.4.2-linux-x86_64

    标题“kibana-6.4.2-linux-x86_64”揭示了我们正在讨论的是Kibana的6.4.2版本,针对Linux操作系统,且适用于x86_64架构的系统。这个版本的发布,为数据分析师和开发者提供了更强大的工具来解析和呈现数据。 Kibana...

    kibana-6.4.2-windows-x86_64

    Kibana,作为Elastic Stack的重要组成部分,是Elasticsearch数据可视化和分析的强大工具。在“kibana-6.4.2-windows-x86_64”这个压缩包中,包含了Kibana 6.4.2版本针对Windows x86_64架构的完整安装程序,为用户...

    kibana-6.4.2-darwin-x86_64.tar

    Kibana是 Elastic Stack(原ELK Stack)的重要组成部分,它与Elasticsearch、Logstash和Beats一起,为日志管理和数据分析提供了强大的可视化界面。在本篇文章中,我们将深入探讨Kibana 6.4.2这一版本,以及如何利用...

    kibana-6.4.2-x86_64

    Kibana使得理解大量数据变得很容易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示Elasticsearch查询的变化。

    elasticsearch-6.4.2.tar.gz

    **Elasticsearch 6.4.2:日志收集与...总之,Elasticsearch 6.4.2作为ELK栈的一部分,为日志收集和分析提供了强大支持,通过Logstash的高效数据处理和Kibana的可视化界面,帮助企业更好地管理和理解其系统的运行状况。

    filebeat6.4.2

    Filebeat是ELK(Elasticsearch、Logstash、Kibana)堆栈的重要组成部分,主要负责日志收集工作。ELK栈是一种流行的日志管理和分析解决方案,它允许用户轻松地收集、解析、存储和可视化来自各种来源的日志数据。在ELK...

    kibana-6.2.4-linux-x86_64.tar.gz

    kibana-6.2.4-linux-x86_64.tar.gz elk 组件之一开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成

    kibana-windows-v6.2.4.zip

    Kibana是一款由 Elastic 公司开发的数据可视化工具,它与Elasticsearch、Logstash和Beats一起构成了著名的ELK(Elasticsearch、Logstash、Kibana)堆栈,广泛应用于日志分析、监控和数据探索等领域。本篇将详细介绍...

    elasticsearch-6.4.2_.zip

    1. 插件:Elasticsearch拥有丰富的插件生态系统,如Kibana(可视化工具)、Logstash(日志收集和处理)、 Beats(轻量级数据发送者)等,它们与Elasticsearch共同构成ELK(Elasticsearch, Logstash, Kibana)堆栈。...

    elasticsearch-6.4.2.zip

    Elasticsearch 有着庞大的开发者社区,提供了丰富的插件和工具,如 Kibana 用于可视化,Logstash 用于日志收集和处理,Beats 用于轻量级数据发送等。这些组件共同构成了 ELK (Elasticsearch, Logstash, Kibana) ...

    ELK日志收集系统操作手册.docx

    ELK(日志收集系统)是三个开源软件的缩写,分别表示Elasticsearch、Logstash、Kibana,它们都是开源软件。下面是对ELK日志收集系统操作手册的详细介绍: 一、ELK简介 Elasticsearch是开源分布式搜索引擎,提供搜集...

    filebeat-6.2.2-linux-x86_64.tar.gz下载

    在ELK堆栈中,Filebeat收集的日志数据会被发送到Logstash(如果使用了Logstash),然后由Logstash进一步处理和过滤,最后存储到Elasticsearch。Kibana可以从Elasticsearch中获取数据,创建各种图表和仪表板,以便...

    elasticsearch6.4.2集群安装配置笔记V1.2.docx

    4. 插件安装:根据需求安装相应的Elasticsearch插件,如Kibana(可视化工具)、Logstash(数据收集和处理)等。 5. 集群验证:使用curl命令或者Kibana界面检查集群状态,确保所有节点都已加入集群并正常工作。 6. ...

    kibana-6.rar

    ElasticSearch6.4.2 windows版本 ElasticSearch6.4.2 windows版本 ElasticSearch6.4.2 windows版本 解压即可运行

    elasticsearch6.4windows版本

    总的来说,Elasticsearch 6.4在Windows下的应用为企业提供了高效的数据管理和检索解决方案,尤其在日志分析、监控系统和业务搜索等场景下有着广泛的应用。正确安装和配置Elasticsearch,可以充分利用其强大的功能,...

    Elasticsearch 安装文件及可视化配置文件

    2. 同样,确保你的系统满足Kibana的运行环境,比如需要与Elasticsearch版本兼容。 3. 打开`config/kibana.yml`配置文件,设置Elasticsearch的连接地址,通常为`http://localhost:9200`。 4. 启动Kibana,运行`bin/...

    x-pack-elasticsearch-5.0.1.zip

    Elasticsearch作为一款强大的开源搜索引擎,因其高效、可扩展以及易于使用的特性,在大数据分析和日志管理领域广泛应用。而X-Pack则是Elasticsearch的功能拓展包,为Elasticsearch提供了更全面的安全性、监控、警报...

    Elasticsearch 技术解析与实战.zip

    前言 第1章 Elasticsearch入门 1 1.1 Elasticsearch是什么 1 1.1.1 Elasticsearch的历史 2 1.1.2 相关产品 3 1.2 全文搜索 3 1.2.1 Lucene介绍 4 1.2.2 Lucene倒排索引 4 1.3 基础知识 6 1.3.1 Elasticsearch术语及...

    ELK6.4安装包.txt

    elk 三大组件安装包。centos7 安装版,非常方便包含了三个安装文件,一次找齐了。非常方便包含了三个安装文件,一次找齐了

Global site tag (gtag.js) - Google Analytics