安装elasticsearch

下载:http://www.elastic.co/downloads/elasticsearch

下载后解压

修改配置文件,xxx是自定义目录

  1. vi elasticsearch.yml
  1. cluster.name: my-application
  2. node.name: node-
  3. path.data: /xxx/data/elastic/data
  4. path.logs: /xxx/data/elastic/logs
  5. network.host: 10.202.203.29

在bin目录下执行./elasticsearch ,会报错,提示不能使用root用户启动

所以新增一个用户,用户名密码都是elastic

  1. groupadd elastic
  2. useradd elastic -g elastic -p elastic

修改相应目录的权限

  1. chown -R elastic:elastic elasticsearch-6.2.

注意上面的数据和日志目录也需要修改权限 -R参数表示递归处理

切换到新用户

  1. su elastic

重新执行启动命令,会报如下错误

上面的错误修改

  1. vim /etc/security/limits.conf

切换回root用户修改配置

  1. sysctl -w vm.max_map_count=

查看结果

  1. sysctl -a|grep vm.max_map_count

重新切换到elastic用户启动服务

表示成功启动,打开浏览器:

停止服务

  1. $ jps | grep Elasticsearch
  2. 14542 Elasticsearch
  1. $ kill -SIGTERM 15516

如果es需要启用密码验证的话,需要做如下配置

可以通过xpack api 查看

此时的许可证是无效的,安全是不会开启的

需要先启用一个30天的许可证

根据提示添加参数

设置内置账户密码

再次查看,需要加上登录选项

此时再看,安全已经启用了

安装logstash

下载:http://www.elastic.co/cn/downloads/logstash

解压到bin目录执行

  1. ./logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'

这里等待用户输入,输入后返回数据

安装kibana

下载:http://www.elastic.co/cn/downloads/kibana

解压后修改conf目录下的配置,注意这里elastic的地址不要用localhost

  1. server.host: "10.202.203.29"
  2. server.name: "kibana-1"
  3. elasticsearch.url: "http://10.202.203.29:9200"
  4. elasticsearch.username: "elastic"
  5. elasticsearch.password: "elastic"

使用如下命令启动

  1. nohup ./kibana >> ../logs/kibana.log &

如果报一下提示

使用下面命令

  1. nohup ./kibana >> ../logs/kibana.log >& &

nohup表示后台启动,如果要关闭先找到进程号

  1. netstat -lnp|grep

使用下面命令关闭

  1. kill -

打开浏览器5601端口

kafka与logstash整合

logstash收集日志到kafka

在kafka-manager中创建一个新主题kafka-elk-log

在logstash根目录下新建一个etc目录

在etc目录中新建一个logstash_input_kafka文件,在文件中配置从控制台接收输入,并将收集到的信息输出到kafka,内容如下

  1. input{
  2. # 从控制台接收输入
  3. stdin{}
  4. }
  5. output{
  6. kafka{
  7. # 消息写入的主题
  8. topic_id=>"kafka-elk-log"
  9. # 连接kafka集群配置
  10. bootstrap_servers=>"10.202.203.29:9092"
  11. # 批量写入配置
  12. batch_size=>
  13. # logstash导入数据编码方式
  14. codec=>"plain"
  15. }
  16. stdout{
  17. # 设置控制台打印数据表现形式
  18. codec=>rubydebug
  19. }
  20. }

切换到bin目录执行

  1. ./logstash -f ../etc/logstash_input_kafka

输入一行消息

使用下面命令验证

  1. 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文件

  1. input{
  2. kafka{
  3. # 消费者
  4. group_id=>"kafka_elk_group"
  5. # 消费者标识
  6. client_id=>logstash
  7. # 消费的主题
  8. topics=>"kafka-elk-log"
  9. # 连接kafka集群配置
  10. bootstrap_servers=>"10.202.203.29:9092"
  11. # 消费起始位置
  12. auto_offset_reset=>"earliest"
  13. # 消费者线程数
  14. consumer_threads=>
  15. # logstash导入数据编码方式
  16. codec=>"plain"
  17. }
  18. }
  19. output{
  20. elasticsearch{
  21. # elasticsearch集群地址,多个地址以逗号分隔
  22. hosts=>["10.202.203.29:9200"]
  23. # 创建索引
  24. index=>"kafka-elk-log-%{+YYYY.MM.dd}"
  25. # 指定数据导入elasticsearch格式
  26. codec=>"plain"
  27. }
  28. }

在bin目录执行

  1. ./logstash -f ../etc/logstash_out_es

接下来打开kibana-management添加一个索引模式

接下来在Discover中选择刚才添加的索引模式,同时添加只显示message和timestamp

打开生产者程序,写入几条消息

点击kibana右上角的时间选择

选择刷新时间和Quick标签,可以实时看到日志信息

logstash从rabbitmq消费日志

  1. input{
  2. kafka{
  3. # rabbitmq地址
  4. host=>"10.202.80.196"
  5. # 端口
  6. port=>
  7. # vhost
  8. vhost=>"NIST"
  9. # 用户名
  10. user=>"bm"
  11. # 密码
  12. password=>"bm_p@ss"
  13. # queue
  14. queue=>"apicenter"
  15. # subscription_retry_interval_seconds
  16. subscription_retry_interval_seconds=>
  17. # key
  18. key=>"apicenter"
  19. }
  20. }
  21. output{
  22. elasticsearch{
  23. # elasticsearch集群地址,多个地址以逗号分隔
  24. hosts=>["10.202.203.29:9200"]
  25. # 创建索引
  26. index=>"rabbitmq-elk-log-%{+YYYY.MM.dd}"
  27. # 指定数据导入elasticsearch格式
  28. codec=>"plain"
  29. }
  30. }

Metricbeat

下载:http://www.elastic.co/downloads/beats/metricbeat

解压后编辑metricbeat.yml文件,设置elasticsearch

启动

  1. ./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. 互联网公司的面试官是如何360°无死角考察候选人的?[z]

    [z]https://juejin.im/post/5c0e47ebf265da614e2be9a7 一.写在前面 最近收到不少读者反馈,说自己在应聘一些中大型互联网公司的Java工程师岗位时遇到了不 ...

  2. java ssh执行shell脚本

    1.添加依赖 com.jcraft:jsch ch.ethz.ganymed:ganymed-ssh2:262 2.获取连接 conn = new Connection(ip, port); conn ...

  3. 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.下载合适的 ...

  4. 这里有一篇简单易懂的webSocket 快到碗里来~

    这篇文章是我在学习的时候看到的  刚开始还不是很理解  后来自己百度 又问了一些人  回过头在看这篇文章 真的挺好的 但是原创已经不知道是谁了  转载哦~~~ -------------------- ...

  5. AutoCAD开发5--批量修改dwg文件

    Dim files, path, filename path = ThisDrawing.Utility.GetString(True, "输入dwg文件所在路径:") 'dwg文 ...

  6. eclipse里maven项目An error occurred while filtering resources解决办法

    在使用eclipse构建maven项目时,突然出现错误提示:An error occurred while filtering resources,在项目中到处都找不到哪里有问题,最后在国外网站找到解 ...

  7. vue全局后置钩子afterEach

    beforeEach是路由跳转前执行的,afterEach是路由跳转后执行的. afterEach只有两个参数  afterEach((to,from)=>{}) 例子: router.afte ...

  8. 牛客练习赛42 C 反着计算贡献

    https://ac.nowcoder.com/acm/contest/393/C 题意 给你一个矩阵, 每次从每行挑选一个数,组成一个排列,排列的和为不重复数字之和,求所有排列的和(n,m<= ...

  9. Noxim配置运行

    Noxim - the NoC Simulator that is implemented by SystemC 第一步: C++ compiler installation 第二步: YAML in ...

  10. Tarjan算法(图论)(转)

    有点烦人的算法 贴个算法解析合辑先:https://blog.csdn.net/hurmishine/article/details/75248876