首页 > 其他分享 >logstash1 - kafka - logstash2 - elasticsearch - kibana - 运维神器

logstash1 - kafka - logstash2 - elasticsearch - kibana - 运维神器

时间:2023-06-21 15:36:53浏览次数:37  
标签:10.0 logstash2 运维 logstash1 0.134 9092 kafka type id

0.拓扑图

logstash1 - kafka - logstash2 - elasticsearch - kibana - 运维神器_bootstrap


官网: http://kafka.apache.org/documentation.html#introduction

kafka原理

  https://www.jianshu.com/p/e64d57d467ec?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

1.logstash的配置

[root@VM_0_4_centos config]# cat wxqyh.yml|egrep -v '^$|^#'
input {
     file {
          type => "4personal20001"
          path => "/mnt/data/logs/personal_20001/log4j.log"
          start_position => "beginning"
          sincedb_path => "/dev/null"
          codec => multiline {
          pattern => "^%{TIMESTAMP_ISO8601}"
          negate => true
          what => "previous"
    }
}
     file {
          type => "4personal20002"
          path => "/mnt/data/logs/personal_20002/log4j.log"
          start_position => "beginning"
          sincedb_path => "/dev/null"
          codec => multiline {
          pattern => "^%{TIMESTAMP_ISO8601}"
          negate => true
          what => "previous"
    }
}
}
filter { 
 
grok   { 
     match => { 
               "message" => "^%{TIMESTAMP_ISO8601}\[%{WORD:level} %{GREEDYDATA:ajpcon}\| %{GREEDYDATA:data}" 
              } 
              match => { 
               "message" => "^%{TIMESTAMP_ISO8601}\[ %{WORD:level} %{GREEDYDATA:ajpcon}\| %{GREEDYDATA:data}" 
              } 
              remove_field  => "message" 
       } 
       }
output {    
    if [type] == "4personal20001" {
    kafka {
           max_request_size => 10485761
           bootstrap_servers => "10.0.0.134:9092"
           topic_id => "topic4personal1"
           compression_type => "snappy"
          }   
}
    if [type] == "4personal20002" {
    kafka {
           max_request_size => 10485761
           bootstrap_servers => "10.0.0.134:9092"
           topic_id => "topic4personal2"
           compression_type => "snappy"
          }   
}
}

2.kafka的配置

[root@VM_0_134_centos config]# cat server.properties|egrep -v '^$|^#'
broker.id=0
listeners=PLAINTEXT://10.0.0.134:9092
advertised.listeners=PLAINTEXT://10.0.0.134:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
message.max.bytes=20000000
replica.fetch.max.bytes=20485760
log.dirs=/mnt/data/monitor01/kafka_2.11-1.1.0/data
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0

3.logstash2的配置

[root@VM_0_134_centos config]# cat haode.yml|egrep -v '^$|^#'
input {
  kafka {
     type => "topic12wxqyh8"
     codec => "plain"
     topics => ["topic12wxqyh8"]
     client_id => "es1"
     group_id => "es1"
     bootstrap_servers => "10.0.0.134:9092"
  }
 
  kafka {
     type => "topic12wxqyh9"
     codec => "plain"
     topics => ["topic12wxqyh9"]
     client_id => "es2"
     group_id => "es2"
     bootstrap_servers => "10.0.0.134:9092"
  }
  kafka {
     type => "topic24wxqyh6"
     codec => "plain"
     topics => ["topic24wxqyh6"]
     client_id => "es3"
     group_id => "es3"
     bootstrap_servers => "10.0.0.134:9092"
  }
 
  kafka {
     type => "topic24wxqyh7"
     codec => "plain"
     topics => ["topic24wxqyh7"]
     client_id => "es4"
     group_id => "es4"
     bootstrap_servers => "10.0.0.134:9092"
  }
 
  kafka {
     type => "topic4personal1"
     codec => "plain"
     topics => ["topic4personal1"]
     client_id => "es5"
     group_id => "es5"
     bootstrap_servers => "10.0.0.134:9092"
  }
  kafka {
     type => "topic4personal2"
     codec => "plain"
     topics => ["topic4personal2"]
     client_id => "es6"
     group_id => "es6"
     bootstrap_servers => "10.0.0.134:9092"
  }
 
}
 
output {
  if [type] == "topic12wxqyh8" {
     elasticsearch {
       index => "topic12wxqyh8"
       hosts => ["10.0.0.7:9200"]
     }
  }
   
  if [type] == "topic12wxqyh9" {
     elasticsearch {
        index => "topic12wxqyh9"
        hosts => ["10.0.0.7:9200"]
     }
  }
  if [type] == "topic24wxqyh6" {
     elasticsearch {
       index => "topic24wxqyh6"
       hosts => ["10.0.0.7:9200"]
     }
  }
  if [type] == "topic24wxqyh7" {
     elasticsearch {
       index => "topic24wxqyh7"
       hosts => ["10.0.0.7:9200"]
     }
  }
  if [type] == "topic4personal1" {
     elasticsearch {
       index => "topic4personal1"
       hosts => ["10.0.0.7:9200"]
     }
  }
  if [type] == "topic4personal2" {
     elasticsearch {
       index => "topic4personal2"
       hosts => ["10.0.0.7:9200"]
     }
  }
}

4.kafka的问题:

4.1zookeeper--选主,提供访问入口

4.2 Kafka的原理

生产者将数据发送到Broker代理,Broker代理有多个话题topic,消费者从Broker获取数据。

logstash1 - kafka - logstash2 - elasticsearch - kibana - 运维神器_bootstrap_02

 

参考: https://zhuanlan.zhihu.com/p/97030680

5.partion--相当于es的shard

logstash1 - kafka - logstash2 - elasticsearch - kibana - 运维神器_bootstrap_03

 

用一个例子来演示会更加清晰



标签:10.0,logstash2,运维,logstash1,0.134,9092,kafka,type,id
From: https://blog.51cto.com/u_13747193/6528812

相关文章

  • kingbase-运维管理
    1、会话管理查看当前连接会话信息selectdatname,pid,usename,client_addr,backend_start,state,queryfromsys_stat_activity;中止会话,并断开和服务端的连接selectsys_terminate_backend(42953);取消会话执行的SQL语句selectsys_cancel_backend(43134);......
  • 曾经运维生涯中的几个“最”
    建荣写过一篇《维护之夜,说点故事和经验》,讲了一些维护工作中碰到的事情,虽然我的本职工作不是DBA,但是已经从事了十多年的应用运维工作,应用同样需要各种维护,包括上线投产、应急处置、迁移、演练等,只是维护的对象不仅仅是数据库,而是应用为核心展开的,在这个过程中,碰到了很多让我印象深......
  • Python自动化运维
    2-27在命令行窗口中启动的Python解释器中实现在Python自带的IDLE中实现print("Helloworld")编码规范每个import语句只导入一个模块,尽量避免一次导入多个模块不要在行尾添加分号“:”,也不要用分号将两条命令放在同一行建议每行不超过80个字符使用必要的空行可以增加代码的可读性运算......
  • 运维命令
    1、查看服务器正在运行的服务systemctllist-units--type=service--state=running2、查看服务器配置的开机自启服务systemctllist-unit-files--type=service--state=enabled......
  • 数据库运维实操优质文章分享(含Oracle、MySQL等) | 2023年5月刊
    本文为大家整理了墨天轮数据社区2023年5月发布的优质技术文章,主题涵盖Oracle、MySQL、PostgreSQL等数据库的安装配置、故障处理、性能优化等日常实践操作,以及常用脚本、注意事项等总结记录,分享给大家:Oracle优质技术文章概念梳理&安装配置Oracle的rwp之旅Oracle之HashJoinOr......
  • django 实现linux运维管理平台
    概述使用django实现一个linux运维管理平台,可以实现注册登录,机器管理,服务器批量操作,服务器性能监控。详细一、准备工作1、需要准备什么环境我是在自己的云服务上编写和运行的,centos7.2的环境,python是系统自带的python2.7.5,django安装的1.8.5版本的。数据库使用的mysql......
  • MySQL数据库运维实录--通过MySQL Shell Dump/Load 实现数据库对象的逻辑备份与恢复
    [mysql@node01~]$mysqlshMySQLJS>\connectroot@node01:3306MySQLnode01:3306sslJS>util.dumpInstance('/home/mysql/backup')[mysql@node01~]$scp-rbackup/*node02:/home/mysql/backup/util.dumpInstance的关键特性1,多线程备份。并发线程数由thr......
  • 运维工程师如何发现最新的开源项目,用于实际工作中
    如果你是一名运维儿,你可能想要发现一些新的开源项目,用于工作,比如dockerk8s等。在这篇博客中,我将分享一些方法和资源,帮助你找到适合你的开源项目,并参与到开源社区中。首先,我们要了解什么是开源项目,以及为什么要参与到开源项目中。开源项目是指源代码可以公开查看、使用、修改和分......
  • 运维巡检常用命令
    Linux系统需要定期巡检,以检查服务器软硬件使用情况,确保可以及时发现问题、解决问题,降低损失。常用的巡检命令如下:uname-a查看内核/操作系统/CPU信息head-n1/etc/issue查看操作系统版cat/proc/cpuinfo查看CPU信息hostname查看计算机名lspci-tv列出所有PCI设备lsu......
  • PLC数据采集在农业机械智慧运维中的作用
    随着智慧农业的持续推进,农机自动化已经成为推进农业规模化、智能化生产的重要动能,可以高效地解决生产中的各种问题,实现各生产要素的优化配置。PLC应用在农业机械中能够实现自动操作,极大地降低了农业生产的劳动强度,提高了农业生产的效率,助力农业的信息化、精细化管理。 通过PLC数据......