kafka+elk
安装elasticsearch
下载:http://www.elastic.co/downloads/elasticsearch
下载后解压
修改配置文件,xxx是自定义目录
- vi elasticsearch.yml
- cluster.name: my-application
- node.name: node-
- path.data: /xxx/data/elastic/data
- path.logs: /xxx/data/elastic/logs
- network.host: 10.202.203.29
在bin目录下执行./elasticsearch ,会报错,提示不能使用root用户启动
所以新增一个用户,用户名密码都是elastic
- groupadd elastic
- useradd elastic -g elastic -p elastic
修改相应目录的权限
- chown -R elastic:elastic elasticsearch-6.2.
注意上面的数据和日志目录也需要修改权限 -R参数表示递归处理
切换到新用户
- su elastic
重新执行启动命令,会报如下错误
上面的错误修改
- vim /etc/security/limits.conf
切换回root用户修改配置
- sysctl -w vm.max_map_count=
查看结果
- sysctl -a|grep vm.max_map_count
重新切换到elastic用户启动服务
表示成功启动,打开浏览器:
停止服务
- $ jps | grep Elasticsearch
- 14542 Elasticsearch
- $ kill -SIGTERM 15516
如果es需要启用密码验证的话,需要做如下配置
可以通过xpack api 查看
此时的许可证是无效的,安全是不会开启的
需要先启用一个30天的许可证
根据提示添加参数
设置内置账户密码
再次查看,需要加上登录选项
此时再看,安全已经启用了
安装logstash
下载:http://www.elastic.co/cn/downloads/logstash
解压到bin目录执行
- ./logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
这里等待用户输入,输入后返回数据
安装kibana
下载:http://www.elastic.co/cn/downloads/kibana
解压后修改conf目录下的配置,注意这里elastic的地址不要用localhost
- server.host: "10.202.203.29"
- server.name: "kibana-1"
- elasticsearch.url: "http://10.202.203.29:9200"
- elasticsearch.username: "elastic"
- elasticsearch.password: "elastic"
使用如下命令启动
- nohup ./kibana >> ../logs/kibana.log &
如果报一下提示
使用下面命令
- nohup ./kibana >> ../logs/kibana.log >& &
nohup表示后台启动,如果要关闭先找到进程号
- netstat -lnp|grep
使用下面命令关闭
- kill -
打开浏览器5601端口
kafka与logstash整合
logstash收集日志到kafka
在kafka-manager中创建一个新主题kafka-elk-log
在logstash根目录下新建一个etc目录
在etc目录中新建一个logstash_input_kafka文件,在文件中配置从控制台接收输入,并将收集到的信息输出到kafka,内容如下
- input{
- # 从控制台接收输入
- stdin{}
- }
- output{
- kafka{
- # 消息写入的主题
- topic_id=>"kafka-elk-log"
- # 连接kafka集群配置
- bootstrap_servers=>"10.202.203.29:9092"
- # 批量写入配置
- batch_size=>
- # logstash导入数据编码方式
- codec=>"plain"
- }
- stdout{
- # 设置控制台打印数据表现形式
- codec=>rubydebug
- }
- }
切换到bin目录执行
- ./logstash -f ../etc/logstash_input_kafka
输入一行消息
使用下面命令验证
- kafka-run-class.sh kafka.tools.DumpLogSegments --files /neworiental/logs/kafka-logs/kafka-elk-log-/.log --print-data-log
logstash从kafka消费日志
在logstash/etc目录下新增一个logstash_out_es文件
- input{
- kafka{
- # 消费者
- group_id=>"kafka_elk_group"
- # 消费者标识
- client_id=>logstash
- # 消费的主题
- topics=>"kafka-elk-log"
- # 连接kafka集群配置
- bootstrap_servers=>"10.202.203.29:9092"
- # 消费起始位置
- auto_offset_reset=>"earliest"
- # 消费者线程数
- consumer_threads=>
- # logstash导入数据编码方式
- codec=>"plain"
- }
- }
- output{
- elasticsearch{
- # elasticsearch集群地址,多个地址以逗号分隔
- hosts=>["10.202.203.29:9200"]
- # 创建索引
- index=>"kafka-elk-log-%{+YYYY.MM.dd}"
- # 指定数据导入elasticsearch格式
- codec=>"plain"
- }
- }
在bin目录执行
- ./logstash -f ../etc/logstash_out_es
接下来打开kibana-management添加一个索引模式
接下来在Discover中选择刚才添加的索引模式,同时添加只显示message和timestamp
打开生产者程序,写入几条消息
点击kibana右上角的时间选择
选择刷新时间和Quick标签,可以实时看到日志信息
logstash从rabbitmq消费日志
- input{
- kafka{
- # rabbitmq地址
- host=>"10.202.80.196"
- # 端口
- port=>
- # vhost
- vhost=>"NIST"
- # 用户名
- user=>"bm"
- # 密码
- password=>"bm_p@ss"
- # queue
- queue=>"apicenter"
- # subscription_retry_interval_seconds
- subscription_retry_interval_seconds=>
- # key
- key=>"apicenter"
- }
- }
- output{
- elasticsearch{
- # elasticsearch集群地址,多个地址以逗号分隔
- hosts=>["10.202.203.29:9200"]
- # 创建索引
- index=>"rabbitmq-elk-log-%{+YYYY.MM.dd}"
- # 指定数据导入elasticsearch格式
- codec=>"plain"
- }
- }
Metricbeat
下载:http://www.elastic.co/downloads/beats/metricbeat
解压后编辑metricbeat.yml文件,设置elasticsearch
启动
- ./metricbeat -e -c metricbeat.yml
默认使用当前版本作为索引
在kibana中添加索引模式
在Discovery中查看数据
接下来设置dashboard,编辑配置文件
重新启动metricbeat,打开kibana,切换到Dashboard
可以看到

kafka+elk的更多相关文章
- .NET下日志系统的搭建——log4net+kafka+elk
.NET下日志系统的搭建--log4net+kafka+elk 前言 我们公司的程序日志之前都是采用log4net记录文件日志的方式(有关log4net的简单使用可以看我另一篇博客),但是随着 ...
- 基于Kafka+ELK搭建海量日志平台
早在传统的单体应用时代,查看日志大都通过SSH客户端登服务器去看,使用较多的命令就是 less 或者 tail.如果服务部署了好几台,就要分别登录到这几台机器上看,等到了分布式和微服务架构流行时代,一 ...
- Zookeeper、Kafka集群与Filebeat+Kafka+ELK架构
Zookeeper.Kafka集群与Filebeat+Kafka+ELK架构 目录 Zookeeper.Kafka集群与Filebeat+Kafka+ELK架构 一.Zookeeper 1. Zook ...
- SpringBoot+kafka+ELK分布式日志收集
一.背景 随着业务复杂度的提升以及微服务的兴起,传统单一项目会被按照业务规则进行垂直拆分,另外为了防止单点故障我们也会将重要的服务模块进行集群部署,通过负载均衡进行服务的调用.那么随着节点的增多,各个 ...
- 日志收集ELK+kafka相关博客
SpringBoot+kafka+ELK分布式日志收集 使用 logstash + kafka + elasticsearch 实现日志监控 Kibana 安装 与 汉化 windows系统安装运行f ...
- A session of Log Collect, Retrieval and Analysis using ELK Stack
Motivation 运维过程中对问题的定位往往需要跟踪和定位日志.分布式和弹性计算的引入,使得日志的定位和分析变得越发复杂. 本次实践主要的目的是考察现有成熟的日志收集.检索和分析方案:Kafka+ ...
- elk单台环境搭建
一.简介1.核心组成ELK由Elasticsearch.Logstash和Kibana三部分组件组成:Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分 ...
- Docker极简部署Kafka+Zookeeper+ElasticStack
之前写ELK部分时有朋友问有没有能一键部署的Kafka+ELK,写本文主要是填这个坑,基本上配置已经集中在一两个文件中了,理论上此配置支持ElasticStack 7.x所有版本 本文所有配置与代码均 ...
- Kafka知识总结及面试题
目录 概念 Kafka基础概念 命令行 Kafka 数据存储设计 kafka在zookeeper中存储结构 生产者 生产者设计 消费者 消费者设计 面试题 kafka设计 请说明什么是Apache K ...
随机推荐
- 互联网公司的面试官是如何360°无死角考察候选人的?[z]
[z]https://juejin.im/post/5c0e47ebf265da614e2be9a7 一.写在前面 最近收到不少读者反馈,说自己在应聘一些中大型互联网公司的Java工程师岗位时遇到了不 ...
- java ssh执行shell脚本
1.添加依赖 com.jcraft:jsch ch.ethz.ganymed:ganymed-ssh2:262 2.获取连接 conn = new Connection(ip, port); conn ...
- Windows7 VS2015 下编译 Python3.6.6
本机环境: 1.win7 64 旗舰版 2.Qt 5.11.2(MSVC 2015,32 bit) 3.到目前为止,python官方2018-10-20更新,Python 3.6.7: 1.下载合适的 ...
- 这里有一篇简单易懂的webSocket 快到碗里来~
这篇文章是我在学习的时候看到的 刚开始还不是很理解 后来自己百度 又问了一些人 回过头在看这篇文章 真的挺好的 但是原创已经不知道是谁了 转载哦~~~ -------------------- ...
- AutoCAD开发5--批量修改dwg文件
Dim files, path, filename path = ThisDrawing.Utility.GetString(True, "输入dwg文件所在路径:") 'dwg文 ...
- eclipse里maven项目An error occurred while filtering resources解决办法
在使用eclipse构建maven项目时,突然出现错误提示:An error occurred while filtering resources,在项目中到处都找不到哪里有问题,最后在国外网站找到解 ...
- vue全局后置钩子afterEach
beforeEach是路由跳转前执行的,afterEach是路由跳转后执行的. afterEach只有两个参数 afterEach((to,from)=>{}) 例子: router.afte ...
- 牛客练习赛42 C 反着计算贡献
https://ac.nowcoder.com/acm/contest/393/C 题意 给你一个矩阵, 每次从每行挑选一个数,组成一个排列,排列的和为不重复数字之和,求所有排列的和(n,m<= ...
- Noxim配置运行
Noxim - the NoC Simulator that is implemented by SystemC 第一步: C++ compiler installation 第二步: YAML in ...
- Tarjan算法(图论)(转)
有点烦人的算法 贴个算法解析合辑先:https://blog.csdn.net/hurmishine/article/details/75248876