安装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. TZOJ 1693 Silver Cow Party(最短路+思维)

    描述 One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going to attend the big ...

  2. http 连接 analysis service (ssas)

    当数据仓库搭建好后,我们就可以通过sqlserver的管理工具查看服务器上的数据集了.但是这样挺不方便的,如果要远程访问,那么就可以通过http来连接数据仓库.要配置数据仓库http连接非常的简单.如 ...

  3. 关于TP5.0搜索后分页

    使用$Model->where($where)->paginate($page,$count);的时候如果点击下一页会出现条件重置问题,经过测试可以使用Db::name('data') - ...

  4. Solidity的三种转账方式与比较

    转账的3种方式 123 address.transfer()address.send()address.call.value().gas()() 转账transfer 12345678910 func ...

  5. windows下mysql安装(zip包方式)

    1.安装地址 https://dev.mysql.com/downloads/mysql/ 2. 解压MySQL压缩包 发现并没有my-default.ini 配置文件主要的作用是设置编码字符集.安装 ...

  6. Android 获得本地IP地址、外网IP地址、本设备网络状态信息、本地Mac地址

    本地内网IP和外网IP的区别: 根据我的经验一台电脑需要两个ip才可以上网,一个是本地的内网ip 一个是外网的ip 本地的ip 一般是192.168.1.2这种样子  只要在不同的路由器上可以重复 外 ...

  7. python基础之Day12

    一.闭包函数 什么是闭包函数? 闭:函数是一个内部函数 包:指的是该函数包含对外部作用域(非全局作用域)名字的引用. 给函数传值的方式有两种: 1.使用参数直接给函数传值 2.包给函数 1 2 3 4 ...

  8. CentOS6.5在虚拟机中安装

    只有一点,先建虚拟机,再选择iso镜像安装,注意,安装路径不能有中文空格之类的. CentOS6.5 64位下载链接 链接:https://pan.baidu.com/s/1d6zp5LtKtkL8I ...

  9. Flink官方文档/介绍/教程/用例

    https://flink.apache.org/ 使用谷歌浏览器进入官网后,点击页面右键,使用谷歌翻译,翻译准确率很高: 常用部分:

  10. 利用redis制作消息队列

    redis在游戏服务器中的使用初探(一) 环境搭建redis在游戏服务器中的使用初探(二) 客户端开源库选择redis在游戏服务器中的使用初探(三) 信息存储redis在游戏服务器中的使用初探(四) ...