博客
关于我
如何在Ubuntu 14.04上利用Topbeat与ELK收集基础设施指标
阅读量:240 次
发布时间:2019-03-01

本文共 2974 字,大约阅读时间需要 9 分钟。

系列教程:Topbeat与ELK堆栈集成指南

本教程属于系列五篇中的第二篇,旨在帮助您将服务器数据发送至Elasticsearch实例,并通过ELK堆栈(Elasticsearch、Logstash、Kibana)进行可视化分析。Topbeat作为Beats系列方案之一,专注于收集服务器数据,包括CPU、内存使用情况及处理活动信息。

先决条件

在开始操作前,您需要具备以下条件:

  • 已设立一套完整的ELK堆栈。如需详细操作步骤,请参考相关文档。
  • 拥有至少一台用于作为系统指标收集目标的Ubuntu 14.04服务器。
  • 在ELK服务器上加载Kibana仪表板

    如果您已经完成了ELK堆栈的设置,可以直接跳过此步骤。Kibana提供了多种示例仪表板和索引模型,帮助用户快速上手。尽管本教程中无需使用仪表板,但建议将其加载至ELK服务器,以利用其提供的Filebeat索引模型。

    下载并安装示例仪表板

  • 进入主目录:
    cd ~
  • 使用curl下载示例仪表板归档文件:
    curl -L -O
  • 安装unzip软件包:
    sudo apt-get -y install unzip
  • 解压归档文件:
    unzip beats-dashboards-*.zip
  • 执行加载命令:
    cd beats-dashboards-*
    ./load.sh
  • 此时,您已经成功加载了Elasticsearch中的目录模型,包括 [packetbeat-], [topbeat-], [filebeat-][winlogbeat-] 四个索引。

    在Elasticsearch中加载Topbeat索引模板

    为了利用Topbeat收集数据,需要加载相应的索引模板。

  • 下载Topbeat索引模板:
    curl -O
  • 使用curl加载模板到Elasticsearch:
    curl -XPUT ‘’ -d@topbeat.template.json
  • 现在,ELK服务器已具备接收Topbeat数据的能力。接下来,前往客户服务器配置Topbeat。

    设置Topbeat(添加客户服务器)

    在作为指标收集目标的Ubuntu或Debian服务器上执行以下步骤:

    复制SSL证书

  • 确保客户服务器已有ELK服务器的SSL证书:
    scp /etc/pki/tls/certs/logstash-forwarder.crt user@client_server_private_address:/tmp
  • 在客户服务器创建证书目录并复制证书:
    sudo mkdir -p /etc/pki/tls/certs
    sudo cp /tmp/logstash-forwarder.crt /etc/pki/tls/certs/
  • 安装Topbeat软件包

  • 打开Beats源列表文件:
    sudo vi /etc/apt/sources.list.d/beats.list
  • 确保文件中包含以下内容(如不存在,请添加):
    deb https://packages.elastic.co/beats/apt stable main
  • 更新软件包列表:
    sudo apt-get update
  • 安装Topbeat:
    sudo apt-get install topbeat
  • 配置Topbeat

  • 打开Topbeat配置文件:
    sudo vi /etc/topbeat/topbeat.yml
  • 确保输入部分和输出部分已正确配置:
    input:
    - configfile: /etc/topbeat/topbeat.yml
    output:
    - elasticsearch: host: "ELK_server_private_IP:5044"
  • 3.取消注释Logstash输出部分并修改主机地址:

    # logstash: 
    # hosts: ["localhost:5044"]
    hosts: ["ELK_server_private_IP:5044"]

    4.取消注释TLS配置并指定证书路径:

    # tls: 
    certificate_authorities: ["/etc/pki/tls/certs/logstash-forwarder.crt"]
    1. 保存并退出。
    2. 重启Topbeat服务

    3. 重启服务:
      sudo service topbeat restart
    4. 设置服务默认启动:
      sudo update-rc.d topbeat defaults 95 10
    5. 现在,Topbeat已开始向ELK服务器发送系统指标数据。重复此章节,确保所有监控对象正常运行。

      测试Topbeat安装

      在ELK服务器上执行以下命令验证数据接收情况:

      curl -XGET ‘*/_search?pretty’

      预期输出应显示Topbeat数据,如:

      {
      "_index": "topbeat-2016.02.01",
      "_type": "process",
      "_id": "AVKeLSdP4HKUFv4CjZ7K",
      "_score": 1.0,
      "_source": {
      "@timestamp": "2016-02-01T18:51:43.937Z",
      "beat": {
      "hostname": "topbeat-01",
      "name": "topbeat-01"
      },
      "count": 1,
      "proc": {
      "cpu": {
      "user": 0,
      "user_p": 0,
      "system": 50,
      "total": 50,
      "start_time": "12:54"
      },
      "mem": {
      "size": 0,
      "rss": 0,
      "rss_p": 0,
      "share": 0
      },
      "name": "jbd2/vda1-8",
      "pid": 125,
      "ppid": 2,
      "state": "sleeping"
      },
      "type": "process",
      "@version": "1",
      "host": "topbeat-01"
      },
      "type": "process",
      "@version": "1",
      "host": "topbeat-01"
      }

      如果数据未接收,需检查配置是否正确。

      接入Kibana

      在浏览器中访问ELK服务器的公共IP地址或FQDN,使用ELK凭证登录。前往Index Patterns菜单,选择 [topbeat]-YYY.MM.DD 索引查看数据。

      点击Dashboard后,选择Load Saved Dashboard图标,导航至Topbeat仪表板查看收集的指标。

      总结

      通过以上步骤,您已成功将系统指标数据发送至ELK堆栈,利用Kibana进行可视化分析。内容来源:Mitchell Anicas,翻译:diradw

    转载地址:http://lbdt.baihongyu.com/

    你可能感兴趣的文章
    MySQL不同字符集及排序规则详解:业务场景下的最佳选
    查看>>
    Mysql不同官方版本对比
    查看>>
    MySQL与Informix数据库中的同义表创建:深入解析与比较
    查看>>
    mysql与mem_细说 MySQL 之 MEM_ROOT
    查看>>
    MySQL与Oracle的数据迁移注意事项,另附转换工具链接
    查看>>
    mysql丢失更新问题
    查看>>
    MySQL两千万数据优化&迁移
    查看>>
    MySql中 delimiter 详解
    查看>>
    MYSQL中 find_in_set() 函数用法详解
    查看>>