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 ...
随机推荐
- FortiGate路由模式--静态地址线路上网配置
1.需求:外网接口使用专线,由运营商分配指定的静态地址,内网为192.168.1.0/24网段,实现基本上网功能. 运营商分配ip地址:202.1.1.10,网关地址:202.1.1.9, DNS:2 ...
- tp3.2单函数总结
A($name,$layer='',$level=0) // 实例化多层控制器 格式:[资源://][模块/]控制器 B($name, $tag='',&$params=NUL ...
- 腾讯云主机的公网无法访问,putty和FileZilla连接不上
1.解决方法一(之前百度都是这种安全组忘了添加) 2.解决方案二(ps:我是用centos的,然后不知道为什么访问不了,端口也是全部开的) service network restart 重置网络命令 ...
- IIS上配置单页面404
问题 因为我们的应用是单页客户端应用,当用户在浏览器直接访问http://www.xxx.com/user时,刷新页面的时候,会返回404错误. 问题原因 服务端URL匹配不到相应的路由资源 解决方案 ...
- entity framework core 生成 postgresql 数据库实体
.net core 2.0 使用db first 方式生成 表 和context PM 控制台运行命令出错 Scaffold-DbContext "Host=localhost;Databa ...
- Quartz.NET快速入门指南
最近,在工作中遇到了 Quartz.net 这个组件,为了更好的理解项目代码的来龙去脉,于是决定好好的研究一下这个东西.确实是好东西,既然是好东西,我就拿出来分享一下.万丈高楼平地起,我们也从入门开始 ...
- MySQL开发——【联合查询、多表连接、子查询】
联合查询 所谓的联合查询就是将满足条件的结果进行拼接在同一张表中. 基本语法: select */字段 from 数据表1 union [all | distinct] select */字段 fro ...
- day 6 元组、字典、字符串
本节内容 : 1,元组 2,字典 3,字符串作业 produce = [('mac', 9000), ('bicycle', 800), ('computer', 8000), ('book', 50 ...
- mysql自动删除90天前数据
#coding:utf-8import MySQLdb #方法1直接在Navicat中添加计划任务#DELETE FROM message2 where SEND_TIME < UNIX_TIM ...
- Python之路(第二十九篇) 面向对象进阶:内置方法补充、异常处理
一.__new__方法 __init__()是初始化方法,__new__()方法是构造方法,创建一个新的对象 实例化对象的时候,调用__init__()初始化之前,先调用了__new__()方法 __ ...