安装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

可以看到

 点击System进去
 

kafka+elk的更多相关文章

  1. .NET下日志系统的搭建——log4net+kafka+elk

    .NET下日志系统的搭建--log4net+kafka+elk 前言     我们公司的程序日志之前都是采用log4net记录文件日志的方式(有关log4net的简单使用可以看我另一篇博客),但是随着 ...

  2. 基于Kafka+ELK搭建海量日志平台

    早在传统的单体应用时代,查看日志大都通过SSH客户端登服务器去看,使用较多的命令就是 less 或者 tail.如果服务部署了好几台,就要分别登录到这几台机器上看,等到了分布式和微服务架构流行时代,一 ...

  3. Zookeeper、Kafka集群与Filebeat+Kafka+ELK架构

    Zookeeper.Kafka集群与Filebeat+Kafka+ELK架构 目录 Zookeeper.Kafka集群与Filebeat+Kafka+ELK架构 一.Zookeeper 1. Zook ...

  4. SpringBoot+kafka+ELK分布式日志收集

    一.背景 随着业务复杂度的提升以及微服务的兴起,传统单一项目会被按照业务规则进行垂直拆分,另外为了防止单点故障我们也会将重要的服务模块进行集群部署,通过负载均衡进行服务的调用.那么随着节点的增多,各个 ...

  5. 日志收集ELK+kafka相关博客

    SpringBoot+kafka+ELK分布式日志收集 使用 logstash + kafka + elasticsearch 实现日志监控 Kibana 安装 与 汉化 windows系统安装运行f ...

  6. A session of Log Collect, Retrieval and Analysis using ELK Stack

    Motivation 运维过程中对问题的定位往往需要跟踪和定位日志.分布式和弹性计算的引入,使得日志的定位和分析变得越发复杂. 本次实践主要的目的是考察现有成熟的日志收集.检索和分析方案:Kafka+ ...

  7. elk单台环境搭建

    一.简介1.核心组成ELK由Elasticsearch.Logstash和Kibana三部分组件组成:Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分 ...

  8. Docker极简部署Kafka+Zookeeper+ElasticStack

    之前写ELK部分时有朋友问有没有能一键部署的Kafka+ELK,写本文主要是填这个坑,基本上配置已经集中在一两个文件中了,理论上此配置支持ElasticStack 7.x所有版本 本文所有配置与代码均 ...

  9. Kafka知识总结及面试题

    目录 概念 Kafka基础概念 命令行 Kafka 数据存储设计 kafka在zookeeper中存储结构 生产者 生产者设计 消费者 消费者设计 面试题 kafka设计 请说明什么是Apache K ...

随机推荐

  1. 关于弹性布局的 flex-grow的用法和flex-shrink的用法

    1.首先 flex-grow设置在子项目上 2.flex-grow默认值为0,如果为值1的时候就会撑满 3.flex-grow还可以给其中的一个子元素单独设置,设置为2,其它的则为1或者2都可以,具体 ...

  2. 电子商务系统+java+web+完整项目+包含源码和数据库Java实用源码

    鸿鹄云商大型企业分布式互联网电子商务平台,推出PC+微信+APP+云服务的云商平台系统,其中包括B2B.B2C.C2C.O2O.新零售.直播电商等子平台. 分布式.微服务.云架构电子商务平台 java ...

  3. [uboot] (第一章)uboot流程——概述

    http://blog.csdn.net/ooonebook/article/details/52939100 [uboot] uboot流程系列: [project X] tiny210(s5pv2 ...

  4. C#Dictionary源码

     Dictionary Dictionary与hashtable的区别:dictionary支持泛型. 通常处理哈希冲突的方法有:开放地址法,再哈希法,链地址法,建立一个公共栈区等. 在哈希表上进行查 ...

  5. Linux 网卡Bond模式

    网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡. 有7种模式: mod 0/mod 1/mod 2/mod 3/mod 4/mod 5 mod=0 ,即:(ba ...

  6. 1001. A+B Format 字符串

    题目及答案链接 https://www.liuchuo.net/archives/1888 c++ 有关 字符串 和各种类型的转换 #include <string> string a; ...

  7. 序列化与Json

    序列化: 将数据结构或对象转换成二进制串的过程. 反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程. 首先我们通过复制文件举例,这里面就包含序列化与反序列化的过程: public ...

  8. css3简单旋转

    <!DOCTYPE html><html><head> <meta charset="utf-8"> <title>&l ...

  9. 前端vue框架 路由的安装及使用

    安装: 1.cmd下输入: npm install vue-router --save //安装路由 2.npm run dev //重新启动 使用: 1.在mian.js下引入路由 import V ...

  10. Visual Studio 代码片段

    管理界面 打开 工具 >> 代码片段管理器 界面 使用步骤 选择对应语言. 选择一个片段的文件夹. 打开该文件夹的位置. 复制任意一个片段. 对复制出来的片段进行修改.(具体修改内容见例子 ...