ELK(elasticsearch+logstash+filebeat+kibana+kafka)环境搭建

https://blog.51cto.com/11924224/2158203

https://www.clxz.top/2019/03/30/1124/

https://blog.csdn.net/weixin_38098312/article/details/80181415

https://blog.csdn.net/weixin_41047933/article/details/82699823

官网下载

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

环境:三台centos7.6,jdk1.8

192.168.72.128 ---- kafka,es,filebeat,logstash,kibana

192.168.72.129 ---- kafka,es,filebeat

192.168.72.130 ---- kafka,es,filebeat

创建elk用户:useradd elk

修改权限:chown -R elk:elk /opt/elk

# 开放端口

firewall-cmd --add-port=2181/tcp --permanent  #zookeeper

firewall-cmd --add-port=2888/tcp --permanent  #zookeeper

firewall-cmd --add-port=3888/tcp --permanent  #zookeeper

firewall-cmd --add-port=9092/tcp --permanent  #kafka

firewall-cmd --add-port=9200/tcp --permanent  #elasticsearch

firewall-cmd --add-port=9300/tcp --permanent  #elasticsearch

firewall-cmd --add-port=5601/tcp --permanent  #kibana# 重新加载防火墙规则firewall-cmd --reload

# 修改文件限制

echo "* soft nofile 65536" >> /etc/security/limits.conf

echo "* hard nofile 65536" >> /etc/security/limits.conf

echo "* soft nproc 2048" >> /etc/security/limits.conf

echo "* hard nproc 4096" >> /etc/security/limits.conf

echo "* soft memlock unlimited" >> /etc/security/limits.conf

echo "* hard memlock unlimited" >> /etc/security/limits.conf

# 调整进程数

vi /etc/security/limits.d/20-nproc.conf

# 调整成以下配置

*          soft    nproc    4096

*          hard  nproc    4096

root      soft    nproc    unlimited

# 调整虚拟内存&最大并发连接

vi /etc/sysctl.conf

# 增加的内容

vm.max_map_count=655360

fs.file-max=655360

# 保存后,输入命令使其生效:sysctl -p

安装kafka集群

安装Filebeat

tar zxvf filebeat-7.3.0-linux-x86_64.tar.gz

mv filebeat-7.3.0-linux-x86_64 filebeat

cd filebeat

mv filebeat.yml filebeat.yml.bak

vi filebeat.yml

filebeat.inputs:

- type: log

  enabled: true

  paths:

#    - /var/log/*.log

    - /opt/elk/log/*.log            #监听的日志文件

#processors:

  # 去除filebeat不需要显示的字段

#  - drop_fields:

#      fields: ["@metadata", "beat.version", "offset", "prospector.type", "source"]

filebeat.config.modules:

  path: ${path.config}/modules.d/*.yml

  reload.enabled: false

#setup.template.settings:

#  index.number_of_shards: 3

output.kafka:

  enabled: true

  hosts: ["192.168.77.128:9092","192.168.77.129:9092","192.168.77.130:9092"]    # kafka集群配置

  topic: "erp-web"  #kafka 订阅的主题

chmod g-w filebeat.yml  #取消其他用户的写权限

后台启动filebeat

nohup ./filebeat -e -c filebeat.yml &

安装Logstash

tar zxvf logstash-7.3.0.tar.gz

mv logstash-7.3.0 logstash

cd logstash

vi conf/erp-web.conf

input {

  kafka {

      bootstrap_servers => "192.168.77.128:9092,192.168.77.129:9092,192.168.77.130:9092"

      group_id => "erp-web"

      topics => ["erp-web"]

      consumer_threads => 4

      decorate_events => true

      codec => "json"

      type => "erp-web"

  }

}

filter {

  grok {

      patterns_dir => [ "/opt/elk/logstash/patterns" ]

      match => { "message" => "%{LOG_FAT}" }

      overwrite => [ "message" ]

  }

  date {

      match => ["logtime","ISO8601", "yyyy-MM-dd'T'HH:mm:ss.SSS" ]

      target => "@timestamp"

      timezone => "Asia/Shanghai"

  }

  mutate {

      remove_field => ["fields","prospector","@version"]

  }

}

output {

  if [type] == "erp-web" {

      elasticsearch {

        hosts => ["192.168.77.128:9200","192.168.77.129:9200","192.168.77.130:9200"]

        index => "erp-web-%{+YYYY-MM-dd}"

      }

      #stdout { codec => rubydebug }

  }

}

# 上面使用了自定义正则匹配的,添加下面的配置

vi patterns/applog

LOG_TIME %{YEAR}-%{MONTHNUM}-%{MONTHDAY} %{HOUR}:?%{MINUTE}(?::?%{SECOND})

SPACE \s*

LOG_THREAD [A-Za-z0-9\-\[\]\.\:]+

LOG_LEVEL ([Aa]lert|ALERT|[Tt]race|TRACE|[Dd]ebug|DEBUG|[Nn]otice|NOTICE|[Ii]nfo|INFO|[Ww]arn?(?:ing)?|WARN?(?:ING)?|[Ee]rr?(?:or)?|ERR?(?:OR)?|[Cc]rit?(?:ical)?|CRIT?(?:ICAL)?|[Ff]atal|FATAL|[Ss]evere|SEVERE|EMERG(?:ENCY)?|[Ee]merg(?:ency)?)

LOG_CLASS ([a-zA-Z0-9-]+\.)+[A-Za-z0-9\(\)]+

LOG_MSG .*

LOG_FAT %{TIMESTAMP_ISO8601:logtime}%{SPACE}%{LOG_THREAD:thread}%{SPACE}%{LOG_LEVEL:level}%{SPACE}%{LOG_CLASS:class}%{SPACE}-%{SPACE}%{LOG_MSG:message}

# 测试配置语法是否正确bin/logstash -f config/erp-web.conf -t# 指定配置文件启动nohup bin/logstash -f config/erp-web.conf &# 多配置文件启动:nohup bin/logstash -f config/ &

安装ElasticSearch

tar zxvf elasticsearch-7.3.0-linux-x86_64.tar.gz

mv elasticsearch-7.3.0 elasticsearch

cd elasticsearch/config

mv elasticsearch.yml elasticsearch.yml.bak

vi elasticsearch.yml  #三台机器分别修改标红部分

cluster.name: es-cluster  # 集群名称必须一致

node.name: node-128      # 节点名称不能相同

node.master: true

node.data: true

path.data: /opt/elk/elasticsearch/data

path.logs: /opt/elk/elasticsearch/log

network.host: 0.0.0.0  #是否可以公开访问,如果不配置此项则不可公网访问

network.publish_host: 192.108.77.128    # host需要修改成对应的内网IP

http.port: 9200

transport.tcp.port: 9300

discovery.seed_hosts: ["192.168.77.128:9300","192.168.77.129:9300","192.168.77.130:9300"]

cluster.initial_master_nodes: ["192.168.77.130"]  #指定初始master节点

http.cors.enabled: true

http.cors.allow-origin: "*"

#三台机器上分别启动

nohup bin/elasticsearch &

#后台启动es

bin/elasticsearch -d

安装Kibana

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

mv kibana-7.3.0-linux-x86_64 kibana

cd kibana/config

mv kibana.yml kibana.yml.bak

vi kibana.yml

server.port: 5601

server.host: 0.0.0.0    #配置0.0.0.0则公网可访问

elasticsearch.hosts: ["http://192.128.77.128:9200", "http://192.148.77.129:9200", "http://192.138.77.130:9200"]

# 启动

nohup bin/kibana &

# 停止kibana

ps -eaf | grep node    # 查看PID

kill -9 PID

查看elasticsearch上的所有索引

http://192.168.77.158:9200/_cat/indices?v

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342