iT邦幫忙

0

ELK8.10 filebeat 設定。

  • 分享至 

  • xImage

大家好,最近在設定 ELK 8.10 filebeat 串流 php 與 nginx log.
由於我這台機器,同時有 nginx 與 php
而我又想要用 filebeat module
這樣就可以直接幫我弄出 nginx 的 dashboard

我預期我的 index 會長這樣
nginx
php-backend
nodejs-frontend

原本的 filebeat.yaml 配置

output.elasticsearch:
  hosts: ["localhost:9200"]
  protocol: "https"
  username: "elastic"
  password: "我是密碼"
  ssl.certificate_authorities: ["/etc/elasticsearch/certs/http_ca.crt"]
  ssl.verification_mode: "certificate"
      
# setup.template.name: ""
# setup.template.pattern: ""

這樣設定的話,datastream 會生出一個 filebeat-8.10 的項目。

當只有一個 nginx 要處理的話
如果我要改成 index nginx,我就必須要這樣寫

output.elasticsearch:
  hosts: ["localhost:9200"]
  protocol: "https"
  username: "elastic"
  password: "我是密碼"
  ssl.certificate_authorities: ["/etc/elasticsearch/certs/http_ca.crt"]
  ssl.verification_mode: "certificate"
  index: "nginx-%{+yyyy.dd.mm}" 

setup.template.name: "nginx"
setup.template.pattern: "nginx-*"

但是現在我有三個 index 要處理。
這是我的 filebeat.yaml

filebeat.inputs:
- type: filestream
  id: my-filestream-id
  enabled: true
  paths:
    - /var/log/nginx/*-8081.log    # 用來模擬 php 位置
  tags: ["php"]

output.elasticsearch:
  hosts: ["localhost:9200"]
  protocol: "https"
  username: "elastic"
  password: "我是密碼"
  ssl.certificate_authorities: ["/etc/elasticsearch/certs/http_ca.crt"]
  ssl.verification_mode: "certificate"
  indices:
  - index: "php-backend"
    when.contains:
      tags: "php"
      
# setup.template.name: ""
# setup.template.pattern: ""

差別在 template.name 的地方,
如果只有一個 nginx,我可以在 filebeat.yml 制定 index_template name
但是當我有三個的時候,我現在是手動進去 kibana 把 php-backend index template 設定完成,然後 filebeat 如上面所示,我才能看到 datasteam 有我要的效果。

但是我希望能夠用 filebeat.yml 就直接控制 index_template anme,
這樣目前我這樣子的 nginx index 是 filebeat 自己產生的
而 php-backend 是我手動進去 kibana 設定的。

感覺很不對稱。同樣的設定檔,但是卻不同的方式建立 index_template.
https://ithelp.ithome.com.tw/upload/images/20231004/20160038ecaZiTDwAU.png

(圖上的 filebeat 是文章的 nginx,只是我還沒改名稱)

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答