close

當我在用 Elasticsearch + Fluentd + Kibana 時

把 Nginx access_log 和 error_log 透過 Fluentd 匯入到 Elasticsearch 時

Elasticsearch 會自動把 log 套用在 Dynamic Mapping

優點是非常方便,不需要特別設定。

缺點是它把所有的欄位都設定為 String

這樣就無法取 Max Min Avg 的值

 

如果要改的話,就要設定 template,並把 template 套用在特定的 index 上。

設定如下

 

PUT /_template/uat-nginx-access
{
  "template": "uat-nginx-access-*", 
  "order":    1, 
  "settings": {
    "number_of_shards": 5,
    "number_of_replicas": 1
  },
    "mappings": {
      "access_log": { 
      "properties": { 
          "@log_name": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "@timestamp": {
            "type": "date"
          },
          "consume": {
            "type": "float",
            "fields": {
              "keyword": {
                "type": "keyword"
              }
            }
          },
          "host": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "message": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "method": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "msec": {
            "type": "float",
            "fields": {
              "keyword": {
                "type": "keyword"
              }
            }
          },
          "path": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "pid": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "protocol": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "remote": {
            "type": "ip",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "response_code": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "serial": {
            "type": "float",
            "fields": {
              "keyword": {
                "type": "keyword"
              }
            }
          },
          "server": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "size": {
            "type": "float",
            "fields": {
              "keyword": {
                "type": "keyword"
              }
            }
          },
          "time": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "user": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "version": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          }
        }
      }
    }
  }
}

arrow
arrow
    全站熱搜

    johnchen6927 發表在 痞客邦 留言(0) 人氣()