更新时间:2024-11-29 GMT+08:00

Elasticsearch对接Beats(Metricbeat)

操作场景

Metricbeat可以定期收集操作系统和服务器的运行指标(CPU、内存、硬盘、IO读写速度、进程等等),Metricbeat可以将收集到的指标和数据发送到指定的输出,比如Elasticsearch,最终达成监视服务器的目标。

  • Elasticsearch使用Basic认证对接Metricbeat安全性较低,存在风险,建议使用客户端工具esClient.sh对密码进行加密。
  • 不支持arm版本对接。

前提条件

已下载并安装Metricbeat。

  1. 下载7.10.2版本Metricbeat安装包。
    1. 下载Metricbeat安装包“metricbeat-oss-7.10.2-linux-x86_64.tar.gz”,并上传至待安装节点,例如“/opt”目录下。

      开源社区下载地址:https://www.elastic.co/cn/downloads/past-releases/metricbeat-oss-7-10-2

    2. 解压安装包,并进入对应解压目录。

      cd /opt

      tar -xvf metricbeat-oss-7.10.2-linux-x86_64.tar.gz

      cd metricbeat-7.10.2-linux-x86_64/

  2. 下载6.6.2版本Metricbeat安装包。
    1. 下载Metricbeat安装包“metricbeat-oss-6.6.2-linux-x86_64.tar.gz”,并上传至待安装节点,例如“/opt”目录下。

      开源社区下载地址:https://www.elastic.co/cn/downloads/past-releases/metricbeat-oss-6-6-2

    2. 解压安装包,并进入对应解压目录。

      cd /opt

      tar -xvf metricbeat-oss-6.6.2-linux-x86_64.tar.gz

      cd metricbeat-6.6.2-linux-x86_64/

操作步骤

  1. 配置“metricbeat.yml”文件,如下示例:

    metricbeat.config.modules:
      # Glob pattern for configuration loading
      path: ${path.config}/modules.d/*.yml
     
      # Set to true to enable config reloading
      reload.enabled: false
     
    setup.template.settings:
      index.number_of_shards: 3                //设置索引的主分片个数
      index.number_of_replicas: 1               //设置索引的副本分片个数  
      index.codec: best_compression
      #_source.enabled: false
     
    # 允许自动生成index模板
    setup.template.enabled: true
    # 生成index模板时字段配置文件
    setup.template.fields: fields.yml
    # 生成index模板的名称
    setup.template.name: metricbeat_template
    # 生成index模板匹配的index格式
    setup.template.pattern: metricbeat*
     
    output.elasticsearch:
      # Array of hosts to connect to.
      hosts: ["IP:Httpport"]
      index: metricbeat                           //设置索引名
     
      # Optional protocol and basic auth credentials.
      protocol: "https"
      username: "usename"
      password: "password"                       //使用加密后的密码
      ssl.verification_mode: none                //设置Merticbeat不验证Elasticsearch服务端证书

    关键配置参数说明:

    • hosts:需要连接的HTTP IP和PORT。
    • index:索引名。
    • protocol:安全模式下https。
    • username:具有Elasticsearch指定操作权限的用户,Elasticsearch用户权限设置请参考Elasticsearch鉴权模式
    • password:通过客户端工具esClient.sh加密后的用户密码。
    • ssl.verification_mode:配置为none,Metricbeat不校验Elasticsearch服务端证书。
    • 普通模式下,无需配置protocol、username、password、ssl.verification_mode。
    • 在配置参数password时,通过esClient.sh encrypt对密码加密后进行配置。

  2. 执行如下命令,启动Metricbeat。

    • 使用7.10.2版本Metricbeat执行以下命令。

      cd /opt/metricbeat-7.10.2-linux-x86_64/

      ./metricbeat -e -c metricbeat.yml

    • 使用6.6.2版本Metricbeat执行以下命令。

      cd /opt/metricbeat-6.6.2-linux-x86_64/

      ./metricbeat -e -c metricbeat.yml

  3. 查询验证写入的Elasticsearch索引数据。

    curl -XGET --tlsv1.2 --negotiate -k -u : "https://ip:httpport/metricbeat/_search?pretty"