{"id":43717,"date":"2023-11-06T07:00:33","date_gmt":"2023-11-24T14:38:16","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e9%98%85%e8%af%bbminikube%e7%9a%84efk%e6%8f%92%e4%bb%b6%e4%b8%adfluentd%e7%9a%84%e9%85%8d%e7%bd%ae\/"},"modified":"2024-05-04T07:46:25","modified_gmt":"2024-05-03T23:46:25","slug":"%e9%98%85%e8%af%bbminikube%e7%9a%84efk%e6%8f%92%e4%bb%b6%e4%b8%adfluentd%e7%9a%84%e9%85%8d%e7%bd%ae","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e9%98%85%e8%af%bbminikube%e7%9a%84efk%e6%8f%92%e4%bb%b6%e4%b8%adfluentd%e7%9a%84%e9%85%8d%e7%bd%ae\/","title":{"rendered":"\u9605\u8bfbMinikube\u7684EFK\u63d2\u4ef6\u4e2dFluentd\u7684\u914d\u7f6e"},"content":{"rendered":"<h1>\u9996\u5148<\/h1>\n<p>\u56e0\u4e3a\u5bf9Fluentd\u7684\u8bbe\u7f6e\u4e0d\u592a\u4e86\u89e3\uff0c\u6240\u4ee5\u73b0\u5728\u624d\u5f00\u59cb\u5165\u95e8\u3002\u6211\u9009\u62e9\u4e86Minikube\u7684EFK\u63d2\u4ef6\u4e2d\u4f7f\u7528\u7684Fluentd\u914d\u7f6e\u6587\u4ef6\u8fdb\u884c\u6837\u4f8b\u3002<\/p>\n<p>\u6211\u8ba4\u4e3a\u6709\u53e6\u4e00\u4e2a\u8ba8\u8bba\u70b9\uff0c\u5373\u8981\u4f7f\u7528\u54ea\u4e2a\u7248\u672c\u7684Fluentd\uff0c\u56e0\u4e3aFluentd\u7684\u7248\u672c\u662f0.12\uff0c\u6240\u4ee5\u6bd4\u8f83\u65e7\u3002<\/p>\n<h1>\u83b7\u53d6\u8bbe\u7f6e\u6587\u4ef6<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Minikube<\/ul>\n<\/li>\n<\/ul>\n<p>v1.9.2<\/p>\n<p>Kubernetes<\/p>\n<p>v1.18.0<\/p>\n<p>\u5982\u679c\u5728\u542f\u52a8Minikube\u65f6\u8981\u542f\u7528EFK Addon\u3002<\/p>\n<pre class=\"post-pre\"><code>minikube start <span class=\"nt\">--addons<\/span><span class=\"o\">=<\/span>efk\r\n<\/code><\/pre>\n<p>\u5982\u679c\u8981\u6dfb\u52a0\u5230\u5df2\u542f\u52a8\u7684Minikube\u4e2d\u7684\u8bdd<\/p>\n<pre class=\"post-pre\"><code>minikube addons <span class=\"nb\">enable <\/span>efk\r\n<\/code><\/pre>\n<p>\u5f53EFK Stack\u542f\u52a8\u540e\uff0c\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u83b7\u53d6\u914d\u7f6e\u6587\u4ef6\u5373\u53ef\u3002<\/p>\n<pre class=\"post-pre\"><code>kubectl get configmap fluentd-es-config -n kube-system -o yaml\r\n<\/code><\/pre>\n<h1>\u6d4f\u89c8\u8bbe\u5b9a\u6587\u4ef6\u3002 .)<\/h1>\n<p>ConfigMap\u4e2d\u5305\u542b\u4e865\u4e2a\u6587\u4ef6\u3002<br \/>\n\u8ba9\u6211\u4eec\u4f9d\u6b21\u67e5\u770b\u4e00\u4e0b\u3002<\/p>\n<h2>\u5bb9\u5668\u7684\u8f93\u5165\u914d\u7f6e\u6587\u4ef6\u3002\uff08\u5bb9\u5668\u7684\u8f93\u5165\u914d\u7f6e\u6587\u4ef6\uff09<\/h2>\n<pre class=\"post-pre\"><code><span class=\"c\"># Container Runtime Interface\u3067\u30ed\u30b0\u51fa\u529b\u306e\u5f62\u306f\u30eb\u30fc\u30eb\u5316\u3055\u308c\u3066\u3044\u308b\u6a21\u69d8\r\n# multi_format\u306e\u30d1\u30bf\u30fc\u30f3\u306f\u3053\u308c\u3092\u793a\u3057\u3066\u3044\u308b\u306e\u304b\u3082\u3002\r\n# CRI Log Example:\r\n# 2016-02-17T00:04:05.931087621Z stdout [info:2016-02-16T16:04:05.930-08:00] Some log text here\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"c\"># tail Plugin(https:\/\/docs.fluentd.org\/v\/0.12\/input\/tail)\r\n<\/span>  <span class=\"c\"># tail -F\u30b3\u30de\u30f3\u30c9\u306e\u3088\u3046\u306a\u30a4\u30e1\u30fc\u30b8\r\n<\/span>  <span class=\"n\">type<\/span> <span class=\"n\">tail<\/span>\r\n\r\n  <span class=\"c\"># \u8aad\u307f\u8fbc\u3080\u5bfe\u8c61\u306e\u30d5\u30a1\u30a4\u30eb\r\n<\/span>  <span class=\"c\"># \/var\/log\/containers\u306fkubelet\u304csymlink\u304a\u3044\u3066\u308b\u5834\u6240\uff08\u3060\u3068\u601d\u3046\uff09\r\n<\/span>  <span class=\"n\">path<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">containers<\/span>\/*.<span class=\"n\">log<\/span>\r\n\r\n  <span class=\"c\"># fluentd\u304c\u3069\u3053\u307e\u3067\u8aad\u3093\u3060\u304b\u3092\u8a18\u9332\u3057\u3066\u304a\u304f\u305f\u3081\u306e\u30d5\u30a1\u30a4\u30eb\r\n<\/span>  <span class=\"n\">pos_file<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">es<\/span>-<span class=\"n\">containers<\/span>.<span class=\"n\">log<\/span>.<span class=\"n\">pos<\/span>\r\n\r\n  <span class=\"c\"># \u6642\u523b\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\r\n<\/span>  <span class=\"n\">time_format<\/span> %<span class=\"n\">Y<\/span>-%<span class=\"n\">m<\/span>-%<span class=\"n\">dT<\/span>%<span class=\"n\">H<\/span>:%<span class=\"n\">M<\/span>:%<span class=\"n\">S<\/span>.%<span class=\"n\">NZ<\/span>\r\n\r\n  <span class=\"c\"># Routing\u306e\u305f\u3081\u306e\u30bf\u30b0\u8a2d\u5b9a\r\n<\/span>  <span class=\"c\"># \u300c*\u300d\u3092\u3064\u3051\u308b\u3068\u3001\u30d5\u30a1\u30a4\u30eb\u540d\u30d9\u30fc\u30b9\u3067\u30bf\u30b0\u751f\u6210\u3059\u308b\r\n<\/span>  <span class=\"c\"># path \/path\/to\/file\u306a\u3089\u3001'kubernetes.path.to.file'\u306e\u3088\u3046\u306a\u611f\u3058\r\n<\/span>  <span class=\"n\">tag<\/span> <span class=\"n\">kubernetes<\/span>.*\r\n\r\n  <span class=\"c\"># \u30d5\u30a1\u30a4\u30eb\u306e\u5148\u982d\u304b\u3089\u8aad\u3080\u304b\u3069\u3046\u304b\u306e\u8a2d\u5b9a\r\n<\/span>  <span class=\"n\">read_from_head<\/span> <span class=\"n\">true<\/span>\r\n\r\n  <span class=\"c\"># Multi format parser plugin\u306e\u8a2d\u5b9a\r\n<\/span>  <span class=\"c\"># http:\/\/repeatedly.github.io\/ja\/2014\/07\/release-fluent-plugin-multi-format-parser\/\r\n<\/span>  <span class=\"c\"># &lt;pattern&gt;\u3092\u4e0a\u304b\u3089\u9806\u756a\u306b\u8a66\u3057\u3066\u3001\u30d1\u30fc\u30b9\u51fa\u6765\u305f\u3089\u305d\u306e\u7d50\u679c\u3092\u8fd4\u3059\uff08\u3089\u3057\u3044\uff09\r\n<\/span>  <span class=\"n\">format<\/span> <span class=\"n\">multi_format<\/span>\r\n  &lt;<span class=\"n\">pattern<\/span>&gt;\r\n    <span class=\"n\">format<\/span> <span class=\"n\">json<\/span>\r\n    <span class=\"n\">time_key<\/span> <span class=\"n\">time<\/span>\r\n    <span class=\"n\">time_format<\/span> %<span class=\"n\">Y<\/span>-%<span class=\"n\">m<\/span>-%<span class=\"n\">dT<\/span>%<span class=\"n\">H<\/span>:%<span class=\"n\">M<\/span>:%<span class=\"n\">S<\/span>.%<span class=\"n\">NZ<\/span>\r\n  &lt;\/<span class=\"n\">pattern<\/span>&gt;\r\n  &lt;<span class=\"n\">pattern<\/span>&gt;\r\n    <span class=\"n\">format<\/span> \/^(?&lt;<span class=\"n\">time<\/span>&gt;.+)\\<span class=\"n\">b<\/span>(?&lt;<span class=\"n\">stream<\/span>&gt;<span class=\"n\">stdout<\/span>|<span class=\"n\">stderr<\/span>)\\<span class=\"n\">b<\/span>(?&lt;<span class=\"n\">log<\/span>&gt;.*)$\/\r\n    <span class=\"n\">time_format<\/span> %<span class=\"n\">Y<\/span>-%<span class=\"n\">m<\/span>-%<span class=\"n\">dT<\/span>%<span class=\"n\">H<\/span>:%<span class=\"n\">M<\/span>:%<span class=\"n\">S<\/span>.%<span class=\"n\">N<\/span>%:<span class=\"n\">z<\/span>\r\n  &lt;\/<span class=\"n\">pattern<\/span>&gt;\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n<\/code><\/pre>\n<p>\u4e3b\u8981\u662f\u5173\u4e8e\u5bb9\u5668\u5468\u56f4\u7684\u65e5\u5fd7\u8bbe\u7f6e\u3002<br \/>\n\u53ef\u80fd\u4f1a\u6700\u5e38\u4f7f\u7528\u5230\u7684\u5730\u65b9\u3002<\/p>\n<p>\u591a\u683c\u5f0f\u89e3\u6790\u5668\u4e2d\u7684JSON\u90e8\u5206\u662f\u5426\u4f1a\u88ab\u4f7f\u7528\u5462\uff1f<br \/>\n\u5982\u679cCRI\u7684\u65e5\u5fd7\u5e03\u5c40\u5728\u5f00\u5934\u4ee5\u6ce8\u91ca\u7684\u5f62\u5f0f\u5b58\u5728\uff0c\u5219\u57fa\u672c\u4e0a\u4f1a\u5e94\u7528\u4e0b\u9762\u7684\u6a21\u5f0f\u3002<\/p>\n<h2>\u524d\u8fdb\u3001\u8f93\u5165\u3001\u8bbe\u7f6e<\/h2>\n<pre class=\"post-pre\"><code><span class=\"c\"># Takes the messages sent over TCP\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"c\"># forward Plugin [https:\/\/docs.fluentd.org\/v\/0.12\/input\/forward]\r\n<\/span>  <span class=\"c\"># \u3053\u306ePlugin\u3067TCP\u30bd\u30b1\u30c3\u30c8\u304b\u3089\u53d7\u3051\u4ed8\u3051\u308b\r\n<\/span>  <span class=\"c\"># Default Port : 24224\r\n<\/span>  <span class=\"c\"># Default Bind Adress : 0.0.0.0\r\n<\/span>  <span class=\"n\">type<\/span> <span class=\"n\">forward<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n<\/code><\/pre>\n<p>\u53ea\u9700\u8981\u4e00\u79cd\u9009\u9879, \u539f\u6587\uff1a\u201c\u4eceTCP\u5957\u63a5\u5b57\u63a5\u6536\u6d88\u606f\u7684\u8bbe\u7f6e\u3002 \u6839\u636e\u6587\u6863, \u8fd9\u4f3c\u4e4e\u662f\u7528\u4e8eFluentd\u5230Fluentd\u7684\u4ea4\u4e92\u901a\u4fe1, \u4f46\u662f\u6211\u4e0d\u592a\u60f3\u5f97\u5230\u5df2\u7ecf\u5728DaemonSet\u4e2d\u8fd0\u884c\u7684Fluentd\u4e2d\u5b58\u5728\u8fd9\u79cd\u7528\u4f8b\u3002\u201d<\/p>\n<p>TCP\u5957\u63a5\u5b57\u63a5\u53d7\u6d88\u606f\u7684\u914d\u7f6e\u8bbe\u7f6e\u3002\u6839\u636e\u6587\u6863\uff0c\u4f3c\u4e4e\u662f\u7528\u4e8eFluentd\u4e0eFluentd\u4e4b\u95f4\u7684\u901a\u4fe1\u4ea4\u4e92\uff0c\u4f46\u6211\u4e0d\u592a\u786e\u5b9a\u5728DaemonSet\u4e2d\u8fd0\u884c\u7684Fluentd\u662f\u5426\u5b58\u5728\u8fd9\u6837\u7684\u7528\u4f8b\u3002<\/p>\n<h2>\u76d1\u63a7\u914d\u7f6e\u6587\u4ef6<\/h2>\n<pre class=\"post-pre\"><code><span class=\"c\"># fluent-plugin-prometheus [https:\/\/github.com\/fluent\/fluent-plugin-prometheus]\r\n# Prometheus Exporter Plugin\r\n# input plugin that exports metrics\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"c\"># Prometheus\u3068\u9023\u643a\u3059\u308b\u305f\u3081\u306e\u8a2d\u5b9a\r\n<\/span>  <span class=\"c\"># \u4ed6\u306ePrometheus Plugin\u306e\u60c5\u5831\u3092\u3053\u3053\u306b\u66f8\u304b\u308c\u305f\u8a2d\u5b9a\u3067\u516c\u958b\u3059\u308b\r\n<\/span>  <span class=\"c\"># Default Port : 24231\r\n<\/span>  <span class=\"c\"># Default Bind Adress : 0.0.0.0\r\n<\/span>  <span class=\"c\"># Default Path : \/metrics\r\n<\/span>  @<span class=\"n\">type<\/span> <span class=\"n\">prometheus<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"c\"># monitor_agent Plugin [https:\/\/docs.fluentd.org\/input\/monitor_agent]\r\n<\/span>  <span class=\"c\"># Fluentd\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u516c\u958b\u3059\u308b\u305f\u3081\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\r\n<\/span>  <span class=\"c\"># Default Port : 24220\r\n<\/span>  <span class=\"c\"># Default Bind Address : 0.0.0.0\r\n<\/span>  @<span class=\"n\">type<\/span> <span class=\"n\">monitor_agent<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n<span class=\"c\"># monitor_agent Plugin\u3092\u5165\u529b\u3068\u3057\u3066prometheus\u5f62\u5f0f\u306b\u3059\u308bPlugin\uff1f\r\n# input plugin that collects metrics from MonitorAgent\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  @<span class=\"n\">type<\/span> <span class=\"n\">prometheus_monitor<\/span>\r\n  &lt;<span class=\"n\">labels<\/span>&gt;\r\n    <span class=\"n\">host<\/span> ${<span class=\"n\">hostname<\/span>}\r\n  &lt;\/<span class=\"n\">labels<\/span>&gt;\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n<span class=\"c\"># output Plugin\u306b\u7279\u5316\u3057\u305f\u30e1\u30c8\u30ea\u30af\u30b9\u53ce\u96c6\u306e\u8a2d\u5b9a\r\n# num_errors\u3001retry_wait\u306a\u3069\u306eprometheus_monitor\u306b\u542b\u307e\u308c\u306a\u3044\u3088\u3046\u306a\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u53ce\u96c6\u3059\u308b\r\n# input plugin that collects metrics for output plugin\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  @<span class=\"n\">type<\/span> <span class=\"n\">prometheus_output_monitor<\/span>\r\n  &lt;<span class=\"n\">labels<\/span>&gt;\r\n    <span class=\"n\">host<\/span> ${<span class=\"n\">hostname<\/span>}\r\n  &lt;\/<span class=\"n\">labels<\/span>&gt;\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n<span class=\"c\"># tail Plugin\u306e\u5185\u90e8\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u53ce\u96c6\u3059\u308b\u305f\u3081\u306e\u8a2d\u5b9a\u3002\r\n# tail Plugin\u304c\u6b63\u3057\u304f\u52d5\u3044\u3066\u3044\u308b\u304b\u306a\u3069\u306e\u60c5\u5831\u304c\u53ce\u96c6\u3055\u308c\u308b\u6a21\u69d8\u3002\r\n# input plugin that collects metrics for in_tail plugin\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  @<span class=\"n\">type<\/span> <span class=\"n\">prometheus_tail_monitor<\/span>\r\n  &lt;<span class=\"n\">labels<\/span>&gt;\r\n    <span class=\"n\">host<\/span> ${<span class=\"n\">hostname<\/span>}\r\n  &lt;\/<span class=\"n\">labels<\/span>&gt;\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n<\/code><\/pre>\n<p>\u6536\u96c6\u5173\u4e8eMetrics\u548cPrometheus\u76f8\u5173\u914d\u7f6e\u7684\u4fe1\u606f\uff0c\u4ee5\u9a8c\u8bc1\u63d2\u4ef6\u672c\u8eab\u662f\u5426\u6b63\u5e38\u5de5\u4f5c\u3002<\/p>\n<h2>\u8f93\u51fa.\u516c.).<\/h2>\n<pre class=\"post-pre\"><code><span class=\"c\"># kubernetes_metadata Plugin\u306e\u8a2d\u5b9a\r\n# \u3053\u306ePlugin\u306b\u3088\u3063\u3066Namespace\u3084annotation\u3068\u3044\u3063\u305fmetadata\u304c\u4ed8\u4e0e\u3055\u308c\u308b\r\n# Enriches records with Kubernetes metadata\r\n<\/span>&lt;<span class=\"n\">filter<\/span> <span class=\"n\">kubernetes<\/span>.**&gt;\r\n  <span class=\"n\">type<\/span> <span class=\"n\">kubernetes_metadata<\/span>\r\n&lt;\/<span class=\"n\">filter<\/span>&gt;\r\n\r\n<span class=\"c\"># 'match **'\u306a\u306e\u3067\u3001Container\u306e\u30ed\u30b0\u3082systemd\u306e\u30ed\u30b0\u3082\u3059\u3079\u3066ElasticSearch\u306b\u9001\u3089\u308c\u308b\r\n<\/span>&lt;<span class=\"n\">match<\/span> **&gt;\r\n  <span class=\"c\"># Elasticserach Plugin [https:\/\/github.com\/uken\/fluent-plugin-elasticsearch]\r\n<\/span>  <span class=\"c\"># Elasticsearch\u306b\u9001\u308b\u305f\u3081\u306e\u8a2d\u5b9a\r\n<\/span>  <span class=\"n\">type<\/span> <span class=\"n\">elasticsearch<\/span>\r\n\r\n  <span class=\"c\"># \u3053\u306ePlugin\uff08Elasticsearch\uff09\u306e\u30ed\u30b0\u30ec\u30d9\u30eb\u306e\u8a2d\u5b9a\r\n<\/span>  <span class=\"n\">log_level<\/span> <span class=\"n\">info<\/span>\r\n\r\n  <span class=\"c\"># tag\u3092\u30ec\u30b3\u30fc\u30c9\u306b\u542b\u3081\u308b\u304b\u3069\u3046\u304b\r\n<\/span>  <span class=\"n\">include_tag_key<\/span> <span class=\"n\">true<\/span>\r\n\r\n  <span class=\"c\"># Elasticsearch\u306e\u30db\u30b9\u30c8\u540d\r\n<\/span>  <span class=\"n\">host<\/span> <span class=\"n\">elasticsearch<\/span>-<span class=\"n\">logging<\/span>\r\n\r\n  <span class=\"c\"># Elasticsearch\u306ePort\u756a\u53f7\r\n<\/span>  <span class=\"n\">port<\/span> <span class=\"m\">9200<\/span>\r\n\r\n  <span class=\"c\"># Elasticsearch\u306b\u9001\u308b\u969b\u306eindex\u540d\u3092logstash format\u306b\u3059\u308b\u304b\u3069\u3046\u304b\r\n<\/span>  <span class=\"c\"># 'ture'\u306e\u5834\u5408\u306f'logstash-%Y,%m,%d'\u3067\u9001\u3089\u308c\u308b\r\n<\/span>  <span class=\"c\"># index\u540d\u3092\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3057\u305f\u3044\u3068\u304d\u306f\u3001index_name\u3092\u4f7f\u3048\u3070\u826f\u3055\u305d\u3046\r\n<\/span>  <span class=\"c\"># \uff08OpenShift 4.x\u306eCluster Logging\u3067index\u540d\u304c'.project'\u307f\u305f\u3044\u306b\u306a\u3063\u3066\u3044\u305f\u306e\u306f\u3053\u3053\u3089\u8fba\u306e\u8a2d\u5b9a\u306a\u306e\u304b\u3082\uff09\r\n<\/span>  <span class=\"n\">logstash_format<\/span> <span class=\"n\">true<\/span>\r\n\r\n  <span class=\"c\"># Buffer\u306e\u8a2d\u5b9a [https:\/\/docs.fluentd.org\/v\/0.12\/buffer]\r\n<\/span>  <span class=\"c\"># \u53c2\u8003[https:\/\/qiita.com\/tatsu-yam\/items\/bd7006e483f3b3c64309]\r\n<\/span>  <span class=\"c\"># \u4e0a\u8a18\u30b5\u30a4\u30c8\u306e\u56f3\u304c\u308f\u304b\u308a\u3084\u3059\u3044\u3002\r\n<\/span>  <span class=\"c\"># Set the chunk limits.\r\n<\/span>  <span class=\"n\">buffer_chunk_limit<\/span> <span class=\"m\">2<\/span><span class=\"n\">M<\/span>\r\n  <span class=\"n\">buffer_queue_limit<\/span> <span class=\"m\">8<\/span>\r\n  <span class=\"n\">flush_interval<\/span> <span class=\"m\">5<\/span><span class=\"n\">s<\/span>\r\n\r\n  <span class=\"c\"># \u30ea\u30c8\u30e9\u30a4\u306e\u611f\u899a\u306f\u6307\u6570\u95a2\u6570\u7684\u306b\u5897\u3048\u308b\u3088\u3046\u306a\u4ed5\u7d44\u307f\u306b\u306a\u3063\u3066\u3044\u308b\u304c\u3001\u305d\u308c\u306e\u4e0a\u9650\u3092\u6c7a\u3081\u308b\u8a2d\u5b9a\r\n<\/span>  <span class=\"c\"># \uff08'5 minutes between retries'\u3068\u3042\u308b\u304c\u300130\u79d2\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u3002\u672c\u5f53\u306f300\u79d2\u3067\u306f\uff1f\uff09\r\n<\/span>  <span class=\"c\"># Never wait longer than 5 minutes between retries.\r\n<\/span>  <span class=\"n\">max_retry_wait<\/span> <span class=\"m\">30<\/span>\r\n\r\n  <span class=\"c\"># \u305a\u3063\u3068\u30ea\u30c8\u30e9\u30a4\u3057\u7d9a\u3051\u308b\r\n<\/span>  <span class=\"c\"># \u30ec\u30b3\u30fc\u30c9\u304c\u30b5\u30fc\u30d0\u5074\u306b\u5897\u3048\u3066\u3044\u304f\u306e\u3067\u3001\u305d\u306e\u8003\u616e\u306f\u5225\u9014\u5fc5\u8981\r\n<\/span>  <span class=\"c\"># Disable the limit on the number of retries (retry forever).\r\n<\/span>  <span class=\"n\">disable_retry_limit<\/span>\r\n\r\n  <span class=\"c\"># Queue\u306b\u5165\u3063\u305fchunk\u3092\u51e6\u7406\u3059\u308b\u3068\u304d\u306e\u30b9\u30ec\u30c3\u30c9\u6570\r\n<\/span>  <span class=\"c\"># Use multiple threads for processing.\r\n<\/span>  <span class=\"n\">num_threads<\/span> <span class=\"m\">2<\/span>\r\n&lt;\/<span class=\"n\">match<\/span>&gt;\r\n<\/code><\/pre>\n<p>\u8f93\u51fa\u5230Elasticsearch\u7684\u8bbe\u7f6e\u3002\u7531\u4e8e\u5305\u542b\u4e86\u7f13\u51b2\u7b49\u8bbe\u7f6e\uff0c\u56e0\u6b64\u8c03\u4f18\u7684\u90e8\u5206\u4f3c\u4e4e\u76f8\u5f53\u56f0\u96be\u3002<\/p>\n<h2>\u7cfb\u7edf\u7684\u8f93\u5165\u914d\u7f6e<\/h2>\n<p>\u4e3b\u8981\u662f\u9488\u5bf9\u76f4\u63a5\u5728Node\u4e0a\u8fd0\u884c\u7684\u8fdb\u7a0b\u8fdb\u884c\u5904\u7406\u3002<br \/>\n\u5c3d\u7ba1\u4ee5\u4e0b\u914d\u7f6e\u5df2\u7ecf\u8bbe\u7f6e\u597d\uff0c\u4f46\u662f\u5728\u4f7f\u7528VirtualVox\u548cMinikube\u4e4b\u540e\uff0c\u6709\u65f6\u4e5f\u4f1a\u51fa\u73b0\u4e00\u4e9b\u672a\u8f93\u51fa\u7684\u65e5\u5fd7\u3002<br \/>\n\u867d\u7136\u5b58\u5728etcd\/kube-apiserver\u7b49\u914d\u7f6e\uff0c\u4f46\u662f\u8fd9\u4e9b\u7ec4\u4ef6\u4f5c\u4e3aPod\u542f\u52a8\uff0c\u6240\u4ee5\u6211\u8ba4\u4e3a\u5b83\u4eec\u53ef\u80fd\u662f\u901a\u8fc7\u5728containers.input.conf\u4e2d\u8bb0\u5f55\u7684\u65b9\u6cd5\u8fdb\u884c\u6536\u96c6\u7684\u3002\uff08\u4ee5\u524d\u53ef\u80fd\u662f\u76f4\u63a5\u5728Minikube VM\u4e0a\u8fd0\u884c\u7684\uff1f\uff09<\/p>\n<pre class=\"post-pre\"><code><span class=\"c\"># Example:\r\n# 2015-12-21 23:17:22,066 [salt.state       ][INFO    ] Completed state [net.ipv4.ip_forward] at time 23:17:22.066081\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"n\">type<\/span> <span class=\"n\">tail<\/span>\r\n  <span class=\"n\">format<\/span> \/^(?&lt;<span class=\"n\">time<\/span>&gt;[^ ]* [^ ,]*)[^\\[]*\\[[^\\]]*\\]\\[(?&lt;<span class=\"n\">severity<\/span>&gt;[^ \\]]*) *\\] (?&lt;<span class=\"n\">message<\/span>&gt;.*)$\/\r\n  <span class=\"n\">time_format<\/span> %<span class=\"n\">Y<\/span>-%<span class=\"n\">m<\/span>-%<span class=\"n\">d<\/span> %<span class=\"n\">H<\/span>:%<span class=\"n\">M<\/span>:%<span class=\"n\">S<\/span>\r\n  <span class=\"c\"># salt minion\u3063\u3066\u306a\u3093\u3060\u308d\u3046\u3068\u601d\u3063\u3066\u8abf\u3079\u305f\u3089\u4e0b\u8a18\u3068\u306e\u3053\u3068\r\n<\/span>  <span class=\"c\"># [https:\/\/unofficial-kubernetes.readthedocs.io\/en\/latest\/admin\/salt\/]\r\n<\/span>  <span class=\"n\">path<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">salt<\/span>\/<span class=\"n\">minion<\/span>\r\n  <span class=\"n\">pos_file<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">es<\/span>-<span class=\"n\">salt<\/span>.<span class=\"n\">pos<\/span>\r\n  <span class=\"n\">tag<\/span> <span class=\"n\">salt<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n<span class=\"c\"># Example:\r\n# Dec 21 23:17:22 gke-foo-1-1-4b5cbd14-node-4eoj startupscript: Finished running startup script \/var\/run\/google.startup.script\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"n\">type<\/span> <span class=\"n\">tail<\/span>\r\n  <span class=\"n\">format<\/span> <span class=\"n\">syslog<\/span>\r\n  <span class=\"n\">path<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">startupscript<\/span>.<span class=\"n\">log<\/span>\r\n  <span class=\"n\">pos_file<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">es<\/span>-<span class=\"n\">startupscript<\/span>.<span class=\"n\">log<\/span>.<span class=\"n\">pos<\/span>\r\n  <span class=\"n\">tag<\/span> <span class=\"n\">startupscript<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n<span class=\"c\"># Examples:\r\n# time=\"2016-02-04T06:51:03.053580605Z\" level=info msg=\"GET \/containers\/json\"\r\n# time=\"2016-02-04T07:53:57.505612354Z\" level=error msg=\"HTTP Error\" err=\"No such image: -f\" statusCode=404\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"n\">type<\/span> <span class=\"n\">tail<\/span>\r\n  <span class=\"n\">format<\/span> \/^<span class=\"n\">time<\/span>=<span class=\"s2\">\"(?&lt;time&gt;[^)]*)\"<\/span> <span class=\"n\">level<\/span>=(?&lt;<span class=\"n\">severity<\/span>&gt;[^ ]*) <span class=\"n\">msg<\/span>=<span class=\"s2\">\"(?&lt;message&gt;[^\"<\/span>]*)<span class=\"s2\">\"( err=\"<\/span>(?&lt;<span class=\"n\">error<\/span>&gt;[^<span class=\"s2\">\"]*)\"<\/span>)?( <span class=\"n\">statusCode<\/span>=($&lt;<span class=\"n\">status_code<\/span>&gt;\\<span class=\"n\">d<\/span>+))?\/\r\n  <span class=\"c\"># Docker\u30d7\u30ed\u30bb\u30b9\u306e\u30ed\u30b0\u53ce\u96c6\r\n<\/span>  <span class=\"c\"># \u4ed6\u306e\u30e9\u30f3\u30bf\u30a4\u30e0\u306b\u3057\u305f\u5834\u5408\u306f\u3001\u3053\u306e\u3042\u305f\u308a\u306e\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3082\u5fc5\u8981\u306b\u306a\u308b\u3068\u601d\u3046\r\n<\/span>  <span class=\"n\">path<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">docker<\/span>.<span class=\"n\">log<\/span>\r\n  <span class=\"n\">pos_file<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">es<\/span>-<span class=\"n\">docker<\/span>.<span class=\"n\">log<\/span>.<span class=\"n\">pos<\/span>\r\n  <span class=\"n\">tag<\/span> <span class=\"n\">docker<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n<span class=\"c\"># Example:\r\n# 2016\/02\/04 06:52:38 filePurge: successfully removed file \/var\/etcd\/data\/member\/wal\/00000000000006d0-00000000010a23d1.wal\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"n\">type<\/span> <span class=\"n\">tail<\/span>\r\n  <span class=\"c\"># Not parsing this, because it doesn't have anything particularly useful to\r\n<\/span>  <span class=\"c\"># parse out of it (like severities).\r\n<\/span>  <span class=\"n\">format<\/span> <span class=\"n\">none<\/span>\r\n  <span class=\"n\">path<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">etcd<\/span>.<span class=\"n\">log<\/span>\r\n  <span class=\"n\">pos_file<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">es<\/span>-<span class=\"n\">etcd<\/span>.<span class=\"n\">log<\/span>.<span class=\"n\">pos<\/span>\r\n  <span class=\"n\">tag<\/span> <span class=\"n\">etcd<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n<span class=\"c\"># Multi-line parsing is required for all the kube logs because very large log\r\n# statements, such as those that include entire object bodies, get split into\r\n# multiple lines by glog.\r\n<\/span>\r\n<span class=\"c\"># Example:\r\n# I0204 07:32:30.020537    3368 server.go:1048] POST \/stats\/container\/: (13.972191ms) 200 [[Go-http-client\/1.1] 10.244.1.3:40537]\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"n\">type<\/span> <span class=\"n\">tail<\/span>\r\n  <span class=\"c\"># \u8907\u6570\u884c\u3092\u8aad\u3080\u305f\u3081\u306eformat\u8a2d\u5b9a\r\n<\/span>  <span class=\"c\"># \uff08Java\u306e\u30b9\u30bf\u30c3\u30af\u3068\u30ec\u30fc\u30b9\u3068\u304b\u3082\u3053\u308c\u3092\u3046\u307e\u304f\u4f7f\u3048\u3070\u3067\u304d\u308b\u306e\u3060\u308d\u3046\u304b\uff09\r\n<\/span>  <span class=\"n\">format<\/span> <span class=\"n\">multiline<\/span>\r\n  <span class=\"n\">multiline_flush_interval<\/span> <span class=\"m\">5<\/span><span class=\"n\">s<\/span>\r\n  <span class=\"n\">format_firstline<\/span> \/^\\<span class=\"n\">w<\/span>\\<span class=\"n\">d<\/span>{<span class=\"m\">4<\/span>}\/\r\n  <span class=\"n\">format1<\/span> \/^(?&lt;<span class=\"n\">severity<\/span>&gt;\\<span class=\"n\">w<\/span>)(?&lt;<span class=\"n\">time<\/span>&gt;\\<span class=\"n\">d<\/span>{<span class=\"m\">4<\/span>} [^\\<span class=\"n\">s<\/span>]*)\\<span class=\"n\">s<\/span>+(?&lt;<span class=\"n\">pid<\/span>&gt;\\<span class=\"n\">d<\/span>+)\\<span class=\"n\">s<\/span>+(?&lt;<span class=\"n\">source<\/span>&gt;[^ \\]]+)\\] (?&lt;<span class=\"n\">message<\/span>&gt;.*)\/\r\n  <span class=\"n\">time_format<\/span> %<span class=\"n\">m<\/span>%<span class=\"n\">d<\/span> %<span class=\"n\">H<\/span>:%<span class=\"n\">M<\/span>:%<span class=\"n\">S<\/span>.%<span class=\"n\">N<\/span>\r\n  <span class=\"n\">path<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">kubelet<\/span>.<span class=\"n\">log<\/span>\r\n  <span class=\"n\">pos_file<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">es<\/span>-<span class=\"n\">kubelet<\/span>.<span class=\"n\">log<\/span>.<span class=\"n\">pos<\/span>\r\n  <span class=\"n\">tag<\/span> <span class=\"n\">kubelet<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n<span class=\"c\"># Example:\r\n# I1118 21:26:53.975789       6 proxier.go:1096] Port \"nodePort for kube-system\/default-http-backend:http\" (:31429\/tcp) was open before and is still needed\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"n\">type<\/span> <span class=\"n\">tail<\/span>\r\n  <span class=\"n\">format<\/span> <span class=\"n\">multiline<\/span>\r\n  <span class=\"n\">multiline_flush_interval<\/span> <span class=\"m\">5<\/span><span class=\"n\">s<\/span>\r\n  <span class=\"n\">format_firstline<\/span> \/^\\<span class=\"n\">w<\/span>\\<span class=\"n\">d<\/span>{<span class=\"m\">4<\/span>}\/\r\n  <span class=\"n\">format1<\/span> \/^(?&lt;<span class=\"n\">severity<\/span>&gt;\\<span class=\"n\">w<\/span>)(?&lt;<span class=\"n\">time<\/span>&gt;\\<span class=\"n\">d<\/span>{<span class=\"m\">4<\/span>} [^\\<span class=\"n\">s<\/span>]*)\\<span class=\"n\">s<\/span>+(?&lt;<span class=\"n\">pid<\/span>&gt;\\<span class=\"n\">d<\/span>+)\\<span class=\"n\">s<\/span>+(?&lt;<span class=\"n\">source<\/span>&gt;[^ \\]]+)\\] (?&lt;<span class=\"n\">message<\/span>&gt;.*)\/\r\n  <span class=\"n\">time_format<\/span> %<span class=\"n\">m<\/span>%<span class=\"n\">d<\/span> %<span class=\"n\">H<\/span>:%<span class=\"n\">M<\/span>:%<span class=\"n\">S<\/span>.%<span class=\"n\">N<\/span>\r\n  <span class=\"n\">path<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">kube<\/span>-<span class=\"n\">proxy<\/span>.<span class=\"n\">log<\/span>\r\n  <span class=\"n\">pos_file<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">es<\/span>-<span class=\"n\">kube<\/span>-<span class=\"n\">proxy<\/span>.<span class=\"n\">log<\/span>.<span class=\"n\">pos<\/span>\r\n  <span class=\"n\">tag<\/span> <span class=\"n\">kube<\/span>-<span class=\"n\">proxy<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n<span class=\"c\"># Example:\r\n# I0204 07:00:19.604280       5 handlers.go:131] GET \/api\/v1\/nodes: (1.624207ms) 200 [[kube-controller-manager\/v1.1.3 (linux\/amd64) kubernetes\/6a81b50] 127.0.0.1:38266]\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"n\">type<\/span> <span class=\"n\">tail<\/span>\r\n  <span class=\"n\">format<\/span> <span class=\"n\">multiline<\/span>\r\n  <span class=\"n\">multiline_flush_interval<\/span> <span class=\"m\">5<\/span><span class=\"n\">s<\/span>\r\n  <span class=\"n\">format_firstline<\/span> \/^\\<span class=\"n\">w<\/span>\\<span class=\"n\">d<\/span>{<span class=\"m\">4<\/span>}\/\r\n  <span class=\"n\">format1<\/span> \/^(?&lt;<span class=\"n\">severity<\/span>&gt;\\<span class=\"n\">w<\/span>)(?&lt;<span class=\"n\">time<\/span>&gt;\\<span class=\"n\">d<\/span>{<span class=\"m\">4<\/span>} [^\\<span class=\"n\">s<\/span>]*)\\<span class=\"n\">s<\/span>+(?&lt;<span class=\"n\">pid<\/span>&gt;\\<span class=\"n\">d<\/span>+)\\<span class=\"n\">s<\/span>+(?&lt;<span class=\"n\">source<\/span>&gt;[^ \\]]+)\\] (?&lt;<span class=\"n\">message<\/span>&gt;.*)\/\r\n  <span class=\"n\">time_format<\/span> %<span class=\"n\">m<\/span>%<span class=\"n\">d<\/span> %<span class=\"n\">H<\/span>:%<span class=\"n\">M<\/span>:%<span class=\"n\">S<\/span>.%<span class=\"n\">N<\/span>\r\n  <span class=\"n\">path<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">kube<\/span>-<span class=\"n\">apiserver<\/span>.<span class=\"n\">log<\/span>\r\n  <span class=\"n\">pos_file<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">es<\/span>-<span class=\"n\">kube<\/span>-<span class=\"n\">apiserver<\/span>.<span class=\"n\">log<\/span>.<span class=\"n\">pos<\/span>\r\n  <span class=\"n\">tag<\/span> <span class=\"n\">kube<\/span>-<span class=\"n\">apiserver<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n<span class=\"c\"># Example:\r\n# I0204 06:55:31.872680       5 servicecontroller.go:277] LB already exists and doesn't need update for service kube-system\/kube-ui\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"n\">type<\/span> <span class=\"n\">tail<\/span>\r\n  <span class=\"n\">format<\/span> <span class=\"n\">multiline<\/span>\r\n  <span class=\"n\">multiline_flush_interval<\/span> <span class=\"m\">5<\/span><span class=\"n\">s<\/span>\r\n  <span class=\"n\">format_firstline<\/span> \/^\\<span class=\"n\">w<\/span>\\<span class=\"n\">d<\/span>{<span class=\"m\">4<\/span>}\/\r\n  <span class=\"n\">format1<\/span> \/^(?&lt;<span class=\"n\">severity<\/span>&gt;\\<span class=\"n\">w<\/span>)(?&lt;<span class=\"n\">time<\/span>&gt;\\<span class=\"n\">d<\/span>{<span class=\"m\">4<\/span>} [^\\<span class=\"n\">s<\/span>]*)\\<span class=\"n\">s<\/span>+(?&lt;<span class=\"n\">pid<\/span>&gt;\\<span class=\"n\">d<\/span>+)\\<span class=\"n\">s<\/span>+(?&lt;<span class=\"n\">source<\/span>&gt;[^ \\]]+)\\] (?&lt;<span class=\"n\">message<\/span>&gt;.*)\/\r\n  <span class=\"n\">time_format<\/span> %<span class=\"n\">m<\/span>%<span class=\"n\">d<\/span> %<span class=\"n\">H<\/span>:%<span class=\"n\">M<\/span>:%<span class=\"n\">S<\/span>.%<span class=\"n\">N<\/span>\r\n  <span class=\"n\">path<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">kube<\/span>-<span class=\"n\">controller<\/span>-<span class=\"n\">manager<\/span>.<span class=\"n\">log<\/span>\r\n  <span class=\"n\">pos_file<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">es<\/span>-<span class=\"n\">kube<\/span>-<span class=\"n\">controller<\/span>-<span class=\"n\">manager<\/span>.<span class=\"n\">log<\/span>.<span class=\"n\">pos<\/span>\r\n  <span class=\"n\">tag<\/span> <span class=\"n\">kube<\/span>-<span class=\"n\">controller<\/span>-<span class=\"n\">manager<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n<span class=\"c\"># Example:\r\n# W0204 06:49:18.239674       7 reflector.go:245] pkg\/scheduler\/factory\/factory.go:193: watch of *api.Service ended with: 401: The event in requested index is outdated and cleared (the requested history has been cleared [2578313\/2577886]) [2579312]\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"n\">type<\/span> <span class=\"n\">tail<\/span>\r\n  <span class=\"n\">format<\/span> <span class=\"n\">multiline<\/span>\r\n  <span class=\"n\">multiline_flush_interval<\/span> <span class=\"m\">5<\/span><span class=\"n\">s<\/span>\r\n  <span class=\"n\">format_firstline<\/span> \/^\\<span class=\"n\">w<\/span>\\<span class=\"n\">d<\/span>{<span class=\"m\">4<\/span>}\/\r\n  <span class=\"n\">format1<\/span> \/^(?&lt;<span class=\"n\">severity<\/span>&gt;\\<span class=\"n\">w<\/span>)(?&lt;<span class=\"n\">time<\/span>&gt;\\<span class=\"n\">d<\/span>{<span class=\"m\">4<\/span>} [^\\<span class=\"n\">s<\/span>]*)\\<span class=\"n\">s<\/span>+(?&lt;<span class=\"n\">pid<\/span>&gt;\\<span class=\"n\">d<\/span>+)\\<span class=\"n\">s<\/span>+(?&lt;<span class=\"n\">source<\/span>&gt;[^ \\]]+)\\] (?&lt;<span class=\"n\">message<\/span>&gt;.*)\/\r\n  <span class=\"n\">time_format<\/span> %<span class=\"n\">m<\/span>%<span class=\"n\">d<\/span> %<span class=\"n\">H<\/span>:%<span class=\"n\">M<\/span>:%<span class=\"n\">S<\/span>.%<span class=\"n\">N<\/span>\r\n  <span class=\"n\">path<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">kube<\/span>-<span class=\"n\">scheduler<\/span>.<span class=\"n\">log<\/span>\r\n  <span class=\"n\">pos_file<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">es<\/span>-<span class=\"n\">kube<\/span>-<span class=\"n\">scheduler<\/span>.<span class=\"n\">log<\/span>.<span class=\"n\">pos<\/span>\r\n  <span class=\"n\">tag<\/span> <span class=\"n\">kube<\/span>-<span class=\"n\">scheduler<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n<span class=\"c\"># Example:\r\n# I1104 10:36:20.242766       5 rescheduler.go:73] Running Rescheduler\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"n\">type<\/span> <span class=\"n\">tail<\/span>\r\n  <span class=\"n\">format<\/span> <span class=\"n\">multiline<\/span>\r\n  <span class=\"n\">multiline_flush_interval<\/span> <span class=\"m\">5<\/span><span class=\"n\">s<\/span>\r\n  <span class=\"n\">format_firstline<\/span> \/^\\<span class=\"n\">w<\/span>\\<span class=\"n\">d<\/span>{<span class=\"m\">4<\/span>}\/\r\n  <span class=\"n\">format1<\/span> \/^(?&lt;<span class=\"n\">severity<\/span>&gt;\\<span class=\"n\">w<\/span>)(?&lt;<span class=\"n\">time<\/span>&gt;\\<span class=\"n\">d<\/span>{<span class=\"m\">4<\/span>} [^\\<span class=\"n\">s<\/span>]*)\\<span class=\"n\">s<\/span>+(?&lt;<span class=\"n\">pid<\/span>&gt;\\<span class=\"n\">d<\/span>+)\\<span class=\"n\">s<\/span>+(?&lt;<span class=\"n\">source<\/span>&gt;[^ \\]]+)\\] (?&lt;<span class=\"n\">message<\/span>&gt;.*)\/\r\n  <span class=\"n\">time_format<\/span> %<span class=\"n\">m<\/span>%<span class=\"n\">d<\/span> %<span class=\"n\">H<\/span>:%<span class=\"n\">M<\/span>:%<span class=\"n\">S<\/span>.%<span class=\"n\">N<\/span>\r\n  <span class=\"n\">path<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">rescheduler<\/span>.<span class=\"n\">log<\/span>\r\n  <span class=\"n\">pos_file<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">es<\/span>-<span class=\"n\">rescheduler<\/span>.<span class=\"n\">log<\/span>.<span class=\"n\">pos<\/span>\r\n  <span class=\"n\">tag<\/span> <span class=\"n\">rescheduler<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n<span class=\"c\"># Example:\r\n# I0603 15:31:05.793605       6 cluster_manager.go:230] Reading config from path \/etc\/gce.conf\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"n\">type<\/span> <span class=\"n\">tail<\/span>\r\n  <span class=\"n\">format<\/span> <span class=\"n\">multiline<\/span>\r\n  <span class=\"n\">multiline_flush_interval<\/span> <span class=\"m\">5<\/span><span class=\"n\">s<\/span>\r\n  <span class=\"n\">format_firstline<\/span> \/^\\<span class=\"n\">w<\/span>\\<span class=\"n\">d<\/span>{<span class=\"m\">4<\/span>}\/\r\n  <span class=\"n\">format1<\/span> \/^(?&lt;<span class=\"n\">severity<\/span>&gt;\\<span class=\"n\">w<\/span>)(?&lt;<span class=\"n\">time<\/span>&gt;\\<span class=\"n\">d<\/span>{<span class=\"m\">4<\/span>} [^\\<span class=\"n\">s<\/span>]*)\\<span class=\"n\">s<\/span>+(?&lt;<span class=\"n\">pid<\/span>&gt;\\<span class=\"n\">d<\/span>+)\\<span class=\"n\">s<\/span>+(?&lt;<span class=\"n\">source<\/span>&gt;[^ \\]]+)\\] (?&lt;<span class=\"n\">message<\/span>&gt;.*)\/\r\n  <span class=\"n\">time_format<\/span> %<span class=\"n\">m<\/span>%<span class=\"n\">d<\/span> %<span class=\"n\">H<\/span>:%<span class=\"n\">M<\/span>:%<span class=\"n\">S<\/span>.%<span class=\"n\">N<\/span>\r\n  <span class=\"n\">path<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">glbc<\/span>.<span class=\"n\">log<\/span>\r\n  <span class=\"n\">pos_file<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">es<\/span>-<span class=\"n\">glbc<\/span>.<span class=\"n\">log<\/span>.<span class=\"n\">pos<\/span>\r\n  <span class=\"n\">tag<\/span> <span class=\"n\">glbc<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n<span class=\"c\"># Example:\r\n# I0603 15:31:05.793605       6 cluster_manager.go:230] Reading config from path \/etc\/gce.conf\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"n\">type<\/span> <span class=\"n\">tail<\/span>\r\n  <span class=\"n\">format<\/span> <span class=\"n\">multiline<\/span>\r\n  <span class=\"n\">multiline_flush_interval<\/span> <span class=\"m\">5<\/span><span class=\"n\">s<\/span>\r\n  <span class=\"n\">format_firstline<\/span> \/^\\<span class=\"n\">w<\/span>\\<span class=\"n\">d<\/span>{<span class=\"m\">4<\/span>}\/\r\n  <span class=\"n\">format1<\/span> \/^(?&lt;<span class=\"n\">severity<\/span>&gt;\\<span class=\"n\">w<\/span>)(?&lt;<span class=\"n\">time<\/span>&gt;\\<span class=\"n\">d<\/span>{<span class=\"m\">4<\/span>} [^\\<span class=\"n\">s<\/span>]*)\\<span class=\"n\">s<\/span>+(?&lt;<span class=\"n\">pid<\/span>&gt;\\<span class=\"n\">d<\/span>+)\\<span class=\"n\">s<\/span>+(?&lt;<span class=\"n\">source<\/span>&gt;[^ \\]]+)\\] (?&lt;<span class=\"n\">message<\/span>&gt;.*)\/\r\n  <span class=\"n\">time_format<\/span> %<span class=\"n\">m<\/span>%<span class=\"n\">d<\/span> %<span class=\"n\">H<\/span>:%<span class=\"n\">M<\/span>:%<span class=\"n\">S<\/span>.%<span class=\"n\">N<\/span>\r\n  <span class=\"n\">path<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">cluster<\/span>-<span class=\"n\">autoscaler<\/span>.<span class=\"n\">log<\/span>\r\n  <span class=\"n\">pos_file<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">es<\/span>-<span class=\"n\">cluster<\/span>-<span class=\"n\">autoscaler<\/span>.<span class=\"n\">log<\/span>.<span class=\"n\">pos<\/span>\r\n  <span class=\"n\">tag<\/span> <span class=\"n\">cluster<\/span>-<span class=\"n\">autoscaler<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n<span class=\"c\"># Logs from systemd-journal for interesting services.\r\n<\/span>&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"n\">type<\/span> <span class=\"n\">systemd<\/span>\r\n  <span class=\"n\">filters<\/span> [{ <span class=\"s2\">\"_SYSTEMD_UNIT\"<\/span>: <span class=\"s2\">\"docker.service\"<\/span> }]\r\n  <span class=\"n\">pos_file<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">gcp<\/span>-<span class=\"n\">journald<\/span>-<span class=\"n\">docker<\/span>.<span class=\"n\">pos<\/span>\r\n  <span class=\"n\">read_from_head<\/span> <span class=\"n\">true<\/span>\r\n  <span class=\"n\">tag<\/span> <span class=\"n\">docker<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"n\">type<\/span> <span class=\"n\">systemd<\/span>\r\n  <span class=\"n\">filters<\/span> [{ <span class=\"s2\">\"_SYSTEMD_UNIT\"<\/span>: <span class=\"s2\">\"kubelet.service\"<\/span> }]\r\n  <span class=\"n\">pos_file<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">gcp<\/span>-<span class=\"n\">journald<\/span>-<span class=\"n\">kubelet<\/span>.<span class=\"n\">pos<\/span>\r\n  <span class=\"n\">read_from_head<\/span> <span class=\"n\">true<\/span>\r\n  <span class=\"n\">tag<\/span> <span class=\"n\">kubelet<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n\r\n&lt;<span class=\"n\">source<\/span>&gt;\r\n  <span class=\"n\">type<\/span> <span class=\"n\">systemd<\/span>\r\n  <span class=\"n\">filters<\/span> [{ <span class=\"s2\">\"_SYSTEMD_UNIT\"<\/span>: <span class=\"s2\">\"node-problem-detector.service\"<\/span> }]\r\n  <span class=\"n\">pos_file<\/span> \/<span class=\"n\">var<\/span>\/<span class=\"n\">log<\/span>\/<span class=\"n\">gcp<\/span>-<span class=\"n\">journald<\/span>-<span class=\"n\">node<\/span>-<span class=\"n\">problem<\/span>-<span class=\"n\">detector<\/span>.<span class=\"n\">pos<\/span>\r\n  <span class=\"n\">read_from_head<\/span> <span class=\"n\">true<\/span>\r\n  <span class=\"n\">tag<\/span> <span class=\"n\">node<\/span>-<span class=\"n\">problem<\/span>-<span class=\"n\">detector<\/span>\r\n&lt;\/<span class=\"n\">source<\/span>&gt;\r\n<\/code><\/pre>\n<h1>\u67e5\u770bMinikube\u865a\u62df\u673a\u4e0a\u7684\u6587\u4ef6<\/h1>\n<p>\u4ee5SSH\u767b\u5f55\u5230Minikube\u3002<\/p>\n<pre class=\"post-pre\"><code>minikube ssh\r\n<\/code><\/pre>\n<p>\u7528\u4e2d\u6587\u5bf9\u4ee5\u4e0b\u8fdb\u884c\u91ca\u4e49\uff1a\u4ec5\u9700\u63d0\u4f9b\u4e00\u79cd\u9009\u9879\uff1a<br \/>\n\u6267\u884cls\u547d\u4ee4\u67e5\u770b\/var\/log\u76ee\u5f55\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nb\">ls<\/span> \/var\/log\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"c\"># ls -lah<\/span>\r\ntotal 68K\r\ndrwxr-xr-x  5 root root 4.0K Apr 30 00:54 <span class=\"nb\">.<\/span>\r\ndrwxr-xr-x  8 root root  220 Apr 30 00:53 ..\r\ndrwxr-xr-x  2 root root 4.0K Apr 30 00:57 containers\r\n<span class=\"nt\">-rw-r--r--<\/span>  1 root root   66 Apr 30 00:54 es-cluster-autoscaler.log.pos\r\n<span class=\"nt\">-rw-r--r--<\/span>  1 root root 2.3K Apr 30 05:18 es-containers.log.pos\r\n<span class=\"nt\">-rw-r--r--<\/span>  1 root root   54 Apr 30 00:54 es-docker.log.pos\r\n<span class=\"nt\">-rw-r--r--<\/span>  1 root root   52 Apr 30 00:54 es-etcd.log.pos\r\n<span class=\"nt\">-rw-r--r--<\/span>  1 root root   52 Apr 30 00:54 es-glbc.log.pos\r\n<span class=\"nt\">-rw-r--r--<\/span>  1 root root   62 Apr 30 00:54 es-kube-apiserver.log.pos\r\n<span class=\"nt\">-rw-r--r--<\/span>  1 root root   71 Apr 30 00:54 es-kube-controller-manager.log.pos\r\n<span class=\"nt\">-rw-r--r--<\/span>  1 root root   58 Apr 30 00:54 es-kube-proxy.log.pos\r\n<span class=\"nt\">-rw-r--r--<\/span>  1 root root   62 Apr 30 00:54 es-kube-scheduler.log.pos\r\n<span class=\"nt\">-rw-r--r--<\/span>  1 root root   55 Apr 30 00:54 es-kubelet.log.pos\r\n<span class=\"nt\">-rw-r--r--<\/span>  1 root root   59 Apr 30 00:54 es-rescheduler.log.pos\r\n<span class=\"nt\">-rw-r--r--<\/span>  1 root root   55 Apr 30 00:54 es-salt.pos\r\n<span class=\"nt\">-rw-r--r--<\/span>  1 root root   61 Apr 30 00:54 es-startupscript.log.pos\r\ndrwxr-xr-x  2 root root 4.0K Apr 30 00:54 journal\r\ndrwxr-xr-x 14 root root 4.0K Apr 30 00:54 pods\r\n<\/code><\/pre>\n<p>\u6211\u6765\u67e5\u770b\u4e00\u4e0b container \u7684 pos \u6587\u4ef6\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"c\"># cat es-containers.log.pos <\/span>\r\n\/var\/log\/containers\/kube-controller-manager-minikube_kube-system_kube-controller-manager-4c516d8904f8d1547a0eb53d0df41a7b9fe23107c788b480917177a825721319.log   0000000000009e26    000000000030146e\r\n\/var\/log\/containers\/kube-scheduler-minikube_kube-system_kube-scheduler-aeb620916a9c3bf033630117079c3006a3b366627d556ebe9506d9171aa648e6.log 00000000000029ca    000000000030147c\r\n\/var\/log\/containers\/elasticsearch-logging-vwlnb_kube-system_elasticsearch-logging-init-3bce1ce56e7934ccfc32d191f6f50d8d501e5b840b2c90aa4be9617ef65539e2.log 0000000000000060    0000000000301a0d\r\n\/var\/log\/containers\/kube-proxy-drvh2_kube-system_kube-proxy-b62062f70d3c52811ef48d42f4dc182a7f29435a9056a7a74c2e8350a2207176.log    00000000000009b7    00000000003015a1\r\n\/var\/log\/containers\/storage-provisioner_kube-system_storage-provisioner-782f2f9cbb8854c3498500e692e9a8a3bc56be372755c7793e54fbb82b1548c9.log    0000000000000000    00000000003017bb\r\n\/var\/log\/containers\/coredns-66bff467f8-wt895_kube-system_coredns-5e94b1744c07551ba380b1eaa18ef8eac4eef26b1a107d47cb492d061a767abf.log   000000000000019b    0000000000301701\r\n\/var\/log\/containers\/fluentd-es-xtbgx_kube-system_fluentd-es-56736d7605bf66f7be3a53df7161216b0e10e53c81a6938002c89a03c18f0803.log    00000000000061c9    0000000000302a82\r\n\/var\/log\/containers\/coredns-66bff467f8-gvbzn_kube-system_coredns-c0871bebf2aba728022e1b5119c5ab02b403b2f7cc04ece5eca1a3695fd073b8.log   000000000000019d    00000000003016fd\r\n\/var\/log\/containers\/metrics-server-7bc6d75975-5fqnn_kube-system_metrics-server-7d48ad432cc0f44ecb57f232dcec872ef8de8dcb43b2bd65b8eeb7a4dccd11dd.log 00000000000006ea    00000000003017e5\r\n\/var\/log\/containers\/kube-apiserver-minikube_kube-system_kube-apiserver-90652df19c311437d42108173e98ba8b59ac640b8a9cb2ac006e5e8d18cfeb63.log 000000000002a8d3    0000000000301470\r\n\/var\/log\/containers\/etcd-minikube_kube-system_etcd-e5851c319e3978903d13c78183f3025834cbfd1fd9335ba666534ffa0252ebec.log 000000000001ca5d    0000000000301478\r\n\/var\/log\/containers\/kibana-logging-btxjv_kube-system_kibana-logging-bd4a55879a656c0308d12b418b0dee10492eeacefd1b8c49f710f9d4ca3c79ee.log    0000000000002889    0000000000302ac6\r\n\/var\/log\/containers\/elasticsearch-logging-vwlnb_kube-system_elasticsearch-logging-aa3dc4d6e8b7af54ad95b5fe5e06203345edd91ef57e504dedd66c6c634d3508.log  000000000000341f00000000000018cce\r\n<\/code><\/pre>\n<p>\u6bcf\u4e2a\u5bb9\u5668\u90fd\u9010\u884c\u8bb0\u5f55\u3002<\/p>\n<h1>\u81ea\u5df1\u7684\u611f\u53d7<\/h1>\n<p>\u6211\u770b\u4e86\u4e00\u4e0b\u4ee5Minikube\u7684EFK\u5806\u6808\u4e3a\u57fa\u7840\u7684Fluentd\u914d\u7f6e\u793a\u4f8b\uff0c\u5927\u81f4\u638c\u63e1\u4e86\u914d\u7f6e\u7684\u6d41\u7a0b\u3002<br \/>\n\u6211\u6709\u8fc7\u63a5\u89e6OpenShift 4.x\u7684\u96c6\u7fa4\u65e5\u5fd7\u8bb0\u5f55\uff0c\u90a3\u91cc\u9762\u914d\u5907\u4e86\u591a\u79df\u6237\u673a\u5236\uff0c\u6240\u4ee5\u6bcf\u4e2a\u9879\u76ee\uff08\u76f8\u5f53\u4e8eKubernetes\u7684\u547d\u540d\u7a7a\u95f4\uff09\u90fd\u5206\u914d\u4e86Elasticsearch\u7684\u7d22\u5f15\uff0c\u8fd8\u5c06OpenShift\u7684\u7528\u6237\u548cElasticsearch\u7684\u6d4f\u89c8\u6743\u9650\u96c6\u6210\u5728\u4e00\u8d77\uff0c\u975e\u5e38\u5389\u5bb3\u3002<\/p>\n<p>\u8fd9\u4e2a\u9886\u57df\u7684\u8bbe\u5b9a\u6709\u5f88\u591a\u4e0d\u540c\u7684\u652f\u6301\u65b9\u5f0f\uff0c\u6240\u4ee5\u51b3\u5b9a\u662f\u5426\u8fdb\u884c\u4fee\u6539\u662f\u5f88\u56f0\u96be\u7684\u3002<\/p>\n<h2>&#8220;\u8fd8\u9700\u5b8c\u6210\u7684\u4efb\u52a1&#8221;<\/h2>\n<p>\u5982\u679c\u8981\u6df1\u5165\u7814\u7a76\uff0c\u4ee5\u4e0b\u5217\u51fa\u7684\u4f3c\u4e4e\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u9009\u62e9\u3002<br \/>\n\u627e\u65f6\u95f4\u6765\u505a\u3002<\/p>\n<h3>0.x\u7cfb\u548c1.x\u7cfb\u7684\u5dee\u5f02<\/h3>\n<p>GKE\u770b\u8d77\u6765\u6b63\u5728\u4f7f\u75280.x\u7cfb\u5217\u3002<br \/>\n\u7531\u4e8e\u66f4\u63a8\u8350\u4f7f\u75281\u7cfb\u5217\uff0c\u5efa\u8bae\u4e86\u89e3\u5b83\u4eec\u4e4b\u95f4\u7684\u533a\u522b\u3002<\/p>\n<h3>\u67e5\u770bGKE\u7684fluentd\u914d\u7f6e\u3002<\/h3>\n<p>GKE \u5e94\u8be5\u5df2\u7ecf\u8bbe\u7f6e\u4e86 Stackdriver Plugin \u7b49\u3002<br \/>\n\u8fdb\u884c\u6bd4\u8f83\u3002<\/p>\n<h3>\u7f13\u51b2\u533a\u76f8\u5173<\/h3>\n<p>\u7531\u4e8e\u7ecf\u5e38\u542c\u5230\u300cFluentd\u6709\u53ef\u80fd\u4e22\u5931\u65e5\u5fd7\uff01\u300d\u7684\u8bf4\u6cd5\uff0c\u56e0\u6b64\u6211\u60f3\u6309\u987a\u5e8f\u6b63\u786e\u5730\u89e3\u91ca\u5173\u4e8e\u53ef\u80fd\u53d1\u751f\u4e22\u5931\u7684\u60c5\u51b5\u4ee5\u53ca\u5bf9\u5e94\u7684\u89e3\u51b3\u65b9\u6cd5\u3002<\/p>\n<p>\u8bf7\u53c2\u8003\u4ee5\u4e0b\u8d44\u6599\uff1a<br \/>\n1. [http:\/\/blog.livedoor.jp\/sonots\/archives\/44690980.html:embed:cite]<br \/>\n2. [https:\/\/chroju.github.io\/blog\/2018\/08\/13\/fluent_1_0_no_logs_would_be_missing\/:embed:cite]<\/p>\n<h3>\u5173\u4e8e kubernetes_metadata Plugin \u7684\u5468\u8fb9\u4e8b\u9879<\/h3>\n<p>\u4eba\u5011\u5e38\u554f\uff1a\u300c\u5728\u61c9\u7528\u7a0b\u5e8f\u7684\u65e5\u8a8c\u4e2d\u52a0\u5165Pod\u540d\u7a31\u4e4b\u985e\u7684\u4fe1\u606f\u6703\u597d\u55ce\uff1f\u300d<br \/>\n\u6211\u5011\u9700\u8981\u4e86\u89e3\u53ef\u4ee5\u7372\u53d6\u54ea\u4e9bMetadata\u4ee5\u53ca\u9700\u8981\u4e86\u89e3\u54ea\u4e9b\u884c\u70ba\u3002<br \/>\n\u7531\u65bc\u5728\u9032\u884c\u7bc0\u6d41\u7b49\u901f\u5ea6\u8abf\u6574\u6642\uff0c\u53ef\u80fd\u6703\u7121\u6cd5\u7372\u53d6Metadata\uff0c\u4e26\u88ab\u8996\u70ba\u300cOrphaned\u300d\uff08\u5b64\u7acb\u7684\uff09\u8a18\u9304\uff0c\u6240\u4ee5\u6211\u5011\u4e5f\u9700\u8981\u6ce8\u610f\u9019\u4e9b\u65b9\u9762\u3002<\/p>\n<p>\u8bf7\u539f\u751f\u5730\u4f7f\u7528\u4e2d\u56fd\u6587\u5bf9\u4ee5\u4e0b\u5185\u5bb9\u8fdb\u884c\u6539\u8ff0\uff0c\u4ec5\u9700\u8981\u4e00\u4e2a\u9009\u9879\uff1a<br \/>\n[https:\/\/docs.openshift.com\/container-platform\/4.2\/logging\/config\/cluster-logging-collector.html#cluster-logging-collector-throttling_cluster-logging-collector:embed:cite]<\/p>\n<p>\u8bf7\u89e3\u6790OpenShift\u5bb9\u5668\u5e73\u53f04.2\u65e5\u5fd7\u914d\u7f6e\u4e2d\u7684\u96c6\u7fa4\u65e5\u5fd7\u6536\u96c6\u5668\uff0c\u5176\u4e2d\u6709\u5173\u4e8e\u96c6\u7fa4\u65e5\u5fd7\u6536\u96c6\u5668\u9650\u6d41\u7684\u5185\u5bb9\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148 \u56e0\u4e3a\u5bf9Fluentd\u7684\u8bbe\u7f6e\u4e0d\u592a\u4e86\u89e3\uff0c\u6240\u4ee5\u73b0\u5728\u624d\u5f00\u59cb\u5165\u95e8\u3002\u6211\u9009\u62e9\u4e86Minikube\u7684EFK\u63d2\u4ef6\u4e2d\u4f7f\u7528\u7684Fl [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-43717","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u9605\u8bfbMinikube\u7684EFK\u63d2\u4ef6\u4e2dFluentd\u7684\u914d\u7f6e - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u9605\u8bfbminikube\u7684efk\u63d2\u4ef6\u4e2dfluentd\u7684\u914d\u7f6e\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u9605\u8bfbMinikube\u7684EFK\u63d2\u4ef6\u4e2dFluentd\u7684\u914d\u7f6e\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148 \u56e0\u4e3a\u5bf9Fluentd\u7684\u8bbe\u7f6e\u4e0d\u592a\u4e86\u89e3\uff0c\u6240\u4ee5\u73b0\u5728\u624d\u5f00\u59cb\u5165\u95e8\u3002\u6211\u9009\u62e9\u4e86Minikube\u7684EFK\u63d2\u4ef6\u4e2d\u4f7f\u7528\u7684Fl [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u9605\u8bfbminikube\u7684efk\u63d2\u4ef6\u4e2dfluentd\u7684\u914d\u7f6e\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-24T14:38:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-03T23:46:25+00:00\" \/>\n<meta name=\"author\" content=\"\u79d1, \u96c5\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u79d1, \u96c5\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e9%98%85%e8%af%bbminikube%e7%9a%84efk%e6%8f%92%e4%bb%b6%e4%b8%adfluentd%e7%9a%84%e9%85%8d%e7%bd%ae\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e9%98%85%e8%af%bbminikube%e7%9a%84efk%e6%8f%92%e4%bb%b6%e4%b8%adfluentd%e7%9a%84%e9%85%8d%e7%bd%ae\/\",\"name\":\"\u9605\u8bfbMinikube\u7684EFK\u63d2\u4ef6\u4e2dFluentd\u7684\u914d\u7f6e - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-11-24T14:38:16+00:00\",\"dateModified\":\"2024-05-03T23:46:25+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e9%98%85%e8%af%bbminikube%e7%9a%84efk%e6%8f%92%e4%bb%b6%e4%b8%adfluentd%e7%9a%84%e9%85%8d%e7%bd%ae\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e9%98%85%e8%af%bbminikube%e7%9a%84efk%e6%8f%92%e4%bb%b6%e4%b8%adfluentd%e7%9a%84%e9%85%8d%e7%bd%ae\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e9%98%85%e8%af%bbminikube%e7%9a%84efk%e6%8f%92%e4%bb%b6%e4%b8%adfluentd%e7%9a%84%e9%85%8d%e7%bd%ae\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u9605\u8bfbMinikube\u7684EFK\u63d2\u4ef6\u4e2dFluentd\u7684\u914d\u7f6e\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a\",\"name\":\"\u79d1, \u96c5\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g\",\"caption\":\"\u79d1, \u96c5\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/keya\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e9%98%85%e8%af%bbminikube%e7%9a%84efk%e6%8f%92%e4%bb%b6%e4%b8%adfluentd%e7%9a%84%e9%85%8d%e7%bd%ae\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u9605\u8bfbMinikube\u7684EFK\u63d2\u4ef6\u4e2dFluentd\u7684\u914d\u7f6e - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u9605\u8bfbminikube\u7684efk\u63d2\u4ef6\u4e2dfluentd\u7684\u914d\u7f6e\/","og_locale":"zh_CN","og_type":"article","og_title":"\u9605\u8bfbMinikube\u7684EFK\u63d2\u4ef6\u4e2dFluentd\u7684\u914d\u7f6e","og_description":"\u9996\u5148 \u56e0\u4e3a\u5bf9Fluentd\u7684\u8bbe\u7f6e\u4e0d\u592a\u4e86\u89e3\uff0c\u6240\u4ee5\u73b0\u5728\u624d\u5f00\u59cb\u5165\u95e8\u3002\u6211\u9009\u62e9\u4e86Minikube\u7684EFK\u63d2\u4ef6\u4e2d\u4f7f\u7528\u7684Fl [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u9605\u8bfbminikube\u7684efk\u63d2\u4ef6\u4e2dfluentd\u7684\u914d\u7f6e\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-11-24T14:38:16+00:00","article_modified_time":"2024-05-03T23:46:25+00:00","author":"\u79d1, \u96c5","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u79d1, \u96c5","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"10 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e9%98%85%e8%af%bbminikube%e7%9a%84efk%e6%8f%92%e4%bb%b6%e4%b8%adfluentd%e7%9a%84%e9%85%8d%e7%bd%ae\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e9%98%85%e8%af%bbminikube%e7%9a%84efk%e6%8f%92%e4%bb%b6%e4%b8%adfluentd%e7%9a%84%e9%85%8d%e7%bd%ae\/","name":"\u9605\u8bfbMinikube\u7684EFK\u63d2\u4ef6\u4e2dFluentd\u7684\u914d\u7f6e - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-11-24T14:38:16+00:00","dateModified":"2024-05-03T23:46:25+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e9%98%85%e8%af%bbminikube%e7%9a%84efk%e6%8f%92%e4%bb%b6%e4%b8%adfluentd%e7%9a%84%e9%85%8d%e7%bd%ae\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e9%98%85%e8%af%bbminikube%e7%9a%84efk%e6%8f%92%e4%bb%b6%e4%b8%adfluentd%e7%9a%84%e9%85%8d%e7%bd%ae\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e9%98%85%e8%af%bbminikube%e7%9a%84efk%e6%8f%92%e4%bb%b6%e4%b8%adfluentd%e7%9a%84%e9%85%8d%e7%bd%ae\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u9605\u8bfbMinikube\u7684EFK\u63d2\u4ef6\u4e2dFluentd\u7684\u914d\u7f6e"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a","name":"\u79d1, \u96c5","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g","caption":"\u79d1, \u96c5"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/keya\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e9%98%85%e8%af%bbminikube%e7%9a%84efk%e6%8f%92%e4%bb%b6%e4%b8%adfluentd%e7%9a%84%e9%85%8d%e7%bd%ae\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=43717"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43717\/revisions"}],"predecessor-version":[{"id":97041,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43717\/revisions\/97041"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=43717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=43717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=43717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}