四大组件Elasticsearch(核心)、logstash(处理)、filebeat(采集)、kibana(可视化)

下载均在https://www.elastic.co/cn/downloads/下tar包,配合fdm会快一点点

注意:“如若后续用到sentinl(开源监控警报插件,可webhook接钉钉等),ELK的组件版本应选择与sentinl版本一致,sentinl版本比ELK组件更新慢”

我的杯具:Plugin sentinl [7.6.1] is incompatible with Kibana [7.9.0]

零、环境

linux mint19

自带open jdk 11

一、配置

主目录创建itcast,然后分配权限,本机使用user0

chown user0:user0 -R /itcast

本机配置:tar包全解压至  /itcast/  修改以下配置文件(注意Tab距离以默认文件为主)

1、elasticsearch相关:

/itcast/(elasticsearch解压目录)/config/elasticsearch.yml

# 集群名称,默认是elasticsearchcluster.name: my-application# 节点名称node.name:node-1# 配置IP端口network.host:192.168.199.224http.port: 9200# 可以指定es的数据存储目录,默认存储在es_home/data目录下# path.data: /path/to/data# 可以指定es的日志存储目录,默认存储在es_home/logs目录下# path.logs: /path/to/logs# 子集群节点,用的上述设置的名称discovery.seed_hosts:[node-1]# !!通过配置这个参数来防止集群脑裂现象 (集群总节点数量/2)+1discovery.zen.minimum_master_nodes= ( master候选节点数量/2+1 )

2、logstash相关:

/itcast/(logstash解压目录)/logstash.conf (根据sample-config修改)

input { beats { port => 5044 }}filter { # 重要功能,对日志处理均在此步,按需自行搜索 mutate { split => {"message" => "|"} } mutate { add_field => {  "Date" => "%{[message][0]}"  # 坑点!!!新版本中%{}里字段如message需要加上中括号[]作为识别  "Level" => "%{[message][1]}"  "result" => "%{[message][2]}" } } mutate { convert => {  "Date" => "string"  "Leverl" => "string"  "result" => "string" } }}output { elasticsearch { hosts => ["http://192.168.199.224:9200"] index => "logstash-%{+YYYY.MM.dd}" }}

3、filebeat相关:

/itcast/(filebeat解压目录)/filebeat.yml

filebeat.inputs:  - type: log  enabled: true  paths:    #目标.........