{
  "version": "https://jsonfeed.org/version/1", 
  "title": "\u65e5\u5fd7\u5904\u7406", 
  "description": "", 
  "home_page_url": "https://www.v2ex.com/go/log", 
  "feed_url": "https://www.v2ex.com/feed/log.json", 
  "icon": "https://cdn.v2ex.com/navatar/9e3c/fc48/798_large.png?m=1404646198", 
  "favicon": "https://cdn.v2ex.com/navatar/9e3c/fc48/798_normal.png?m=1404646198", 
  "items": [
    {
      "author": {
        "url": "https://www.v2ex.com/member/importmeta", 
        "name": "importmeta", 
        "avatar": "https://cdn.v2ex.com/avatar/2018/6513/562972_large.png?m=1764517099"
      }, 
      "url": "https://www.v2ex.com/t/1087982", 
      "title": "\u751f\u4ea7\u73af\u5883\u600e\u4e48\u6253\u65e5\u5fd7\u624d\u80fd\u6ee1\u8db3\u56fd\u5bb6\u6cd5\u89c4\u8981\u6c42", 
      "id": "https://www.v2ex.com/t/1087982", 
      "date_published": "2024-11-09T05:23:34+00:00", 
      "content_html": "<p>\u6709\u670b\u53cb\u4e86\u89e3\u8fc7\u5417?</p>\n<p>\u770b\u4e86\u770b\u56fd\u5bb6\u6cd5\u89c4\u8bf4, \u8981\u6c42\u65e5\u5fd7\u81f3\u5c11\u8981\u5b58\u50a8 6 \u4e2a\u6708, \u516c\u7f51\u5b89\u5907\u9875\u9762\u4e0a\u4e5f\u8981\u8bf4\u7559\u5b58\u65e5\u5fd7\u4e4b\u7c7b\u7684\u4e1c\u897f.</p>\n<p>\u6211\u73b0\u5728\u6709\u4e2a Nginx \u53cd\u5411\u4ee3\u7406, \u540e\u7aef\u670d\u52a1.</p>\n<p>\u90a3\u6211\u8981\u628a Nginx \u7684\u65e5\u5fd7, \u540e\u7aef\u8bf7\u6c42 Request \u548c Response, \u5168\u6253\u5370\u51fa\u6765\u4fdd\u5b58 6 \u4e2a\u6708\u5417?</p>\n<p>\u90a3\u6211\u8fd9\u5c0f\u670d\u52a1\u5668\u6839\u672c\u5b58\u4e0d\u4e86\u8fd9\u4e48\u591a\u554a.</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/pol", 
        "name": "pol", 
        "avatar": "https://cdn.v2ex.com/gravatar/0d4f712558090208cd0386048b1bb766?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1081261", 
      "title": "elk \u8fd9\u5957\u65e5\u5fd7 \u6700\u8fd1\u62a5\u9519 \u65e0\u6548\u7d22\u5f15\u8981\u5c0f\u5199\uff0c\u6c42\u6307\u5bfc", 
      "id": "https://www.v2ex.com/t/1081261", 
      "date_published": "2024-10-17T09:26:21+00:00", 
      "content_html": "<pre><code class=\"language-json\">[2024-10-17T16:43:21,934][ERROR][logstash.outputs.elasticsearch][audit][9b837e55c8099cbb5d15de6e33ff7d57678ffc02f082744561c30f21c7610c3c] Could not index event to Elasticsearch. {:status=&gt;400, :action=&gt;[\"index\", {:_id=&gt;nil, :_index=&gt;\"asr-test-%{[appName]}-%{[serverName]}.log-2024.10.17\", :routing=&gt;nil}, {\"@timestamp\"=&gt;2024-10-17T08:43:21.696Z, \"logstash_destination\"=&gt;\"10ip \u6253\u7801 90:9889\", \"host\"=&gt;\"1ip \u6253\u7801 97\", \"logger_name\"=&gt;\"cn.com.safeware.common.logback.GlobalTraceLogIdSetting\", \"thread_name\"=&gt;\"http-nio-9040-exec-159\", \"type\"=&gt;\"logback\", \"env\"=&gt;\"test\", \"level_value\"=&gt;20000, \"traceId\"=&gt;\"369b8faa9ae54e9ea79c241236670b97\", \"level\"=&gt;\"INFO\", \"app_name\"=&gt;\"erp\", \"server_name\"=&gt;\"api-web\", \"port\"=&gt;33726, \"@version\"=&gt;\"1\", \"message\"=&gt;\"\u8bf7\u6c42\u65b9\u5f0f : POST\"}], :response=&gt;{\"index\"=&gt;{\"_index\"=&gt;\"asr-test-%{[appName]}-%{[serverName]}.log-2024.10.17\", \"_type\"=&gt;\"_doc\", \"_id\"=&gt;nil, \"status\"=&gt;400, \"error\"=&gt;{\"type\"=&gt;\"invalid_index_name_exception\", \"reason\"=&gt;\"Invalid index name [asr-test-%{[appName]}-%{[serverName]}.log-2024.10.17], must be lowercase\", \"index_uuid\"=&gt;\"_na_\", \"index\"=&gt;\"asr-test-%{[appName]}-%{[serverName]}.log-2024.10.17\"}}}}\n\n\n</code></pre>\n<p>\u4e0a\u9762\u662f\u62a5\u9519\u65e5\u5fd7\uff0c\u63a5\u4e0b\u6765\u770b\u6211 logstash \u7684\u914d\u7f6e</p>\n<pre><code class=\"language-json\"> cat logstash-audit.conf\ninput {\n  beats {\n    port =&gt; 5044\n  }\n\n  tcp {  \n    port =&gt; 9889\n    codec =&gt; json\n  }\n}\n\nfilter {\n    if [stack_trace] {\n      mutate {\n            update =&gt; { \"message\" =&gt; \"%{[message]}%{[stack_trace]}\" }\n        }\n    }\n}\n\noutput {\n  if \"erp\" in [tags] {\n     elasticsearch {\n        hosts =&gt; [ \"17ip \u6253\u7801 900\" ]\n        index =&gt; \"erp-log%{+YYYY.MM.dd}\"\n     }\n  }\nelse if \"node167\" in [tags] {\n         elasticsearch {\n                hosts =&gt; [ \"17ip \u6253\u7801 90\" ]\n                index =&gt; \"ecow-log%{+YYYY.MM.dd}\"\n     }\n  }\nelse if \"app\" in [tags] {\n     elasticsearch {\n                hosts =&gt; [ \"1ip \u6253\u7801 9200\" ]\n                index =&gt; \"app-log%{+YYYY.MM.dd}\"\n     }\n  }\nelse if \"app_name\" == \"seata-server\" {\n    elasticsearch {\n      hosts =&gt; [\"http://1ip \u6253\u7801 9200\"]\n      index =&gt; \"pro-seata-server.log-%{+YYYY.MM.dd}\"\n    }\n }\nelse {\n    elasticsearch {\n      hosts =&gt; [\"http://17ip \u6253\u7801 9200\"]\n      index =&gt; \"asr-%{[env]}-%{[appName]}-%{[serverName]}.log-%{+YYYY.MM.dd}\" \n    }\n }\n}\n</code></pre>\n<p>\u62a5\u9519\u5f71\u54cd\u7684\u5e94\u8be5\u662f\u8fd9\u884c\u914d\u7f6e</p>\n<pre><code class=\"language-json\">else {\n    elasticsearch {\n      hosts =&gt; [\"http://17ip \u6253\u7801 9200\"]\n      index =&gt; \"asr-%{[env]}-%{[appName]}-%{[serverName]}.log-%{+YYYY.MM.dd}\" \n    }\n</code></pre>\n<p>\u53ef\u4ee5\u770b\u5230\u6211\u8fd9\u91cc\u4f7f\u7528\u4e86\u4e09\u4e2a\u53d8\u91cf\uff0c\u8fd9\u91cc\u6211\u4fdd\u8bc1\u8fd9 3 \u4e2a\u53d8\u91cf\u62ff\u5230\u7684\u503c\u4e00\u5b9a\u662f\u5168\u5c0f\u5199\n\u8bf7\u95ee\u8fd9\u91cc\u662f\u4ec0\u4e48\u95ee\u9898\uff0c\u6709\u6ca1\u6709\u77e5\u9053\u7684\uff0c\u6216\u8005\u63d0\u4f9b\u4e0b\u601d\u8def</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/FlyingBackscratc", 
        "name": "FlyingBackscratc", 
        "avatar": "https://cdn.v2ex.com/avatar/2f07/59a3/579421_large.png?m=1651021090"
      }, 
      "url": "https://www.v2ex.com/t/1015709", 
      "date_modified": "2024-02-16T12:15:57+00:00", 
      "content_html": "<p>\u73b0\u5728\u4e00\u822c\u65e5\u5fd7\u7684\u7cfb\u7edf\u7c97\u7565\u5206\u4e3a debug \u3001info \u3001warning \u3001error \u51e0\u4e2a\u7b49\u7ea7\uff0c\u5206\u522b\u63d0\u4f9b\u8be6\u7ec6\u65e5\u5fd7\u3001\u5fc5\u8981\u4fe1\u606f\u3001\u8b66\u544a\u548c\u9519\u8bef\u4fe1\u606f\u3002</p>\n<p>\u4f46\u662f\u6211\u4e2a\u4eba\u5f00\u53d1\u4f53\u9a8c\u4e0a\u611f\u89c9 debug \u8fd9\u4e00\u4e2a\u7b49\u7ea7\u4e0d\u592a\u591f\u7528\uff0c\u6211\u89c9\u5f97\u5e94\u8be5\u65b0\u589e\u4e00\u4e2a develop \u7b49\u7ea7\u3002\u56e0\u4e3a\u6211\u5728\u5f00\u53d1\u9636\u6bb5\u6709\u4e00\u4e2a\u9636\u6bb5\u662f\u8981\u5bfb\u6c42\u4e86\u89e3\u6574\u4e2a\u5e94\u7528\u5728\u6240\u6709\u5fc5\u8981\u548c\u975e\u5fc5\u8981\u8282\u70b9\u4e0a\u7684\u8fd0\u4f5c\u7ec6\u8282\uff0c\u8fd9\u6bd4 debug \u7ea7\u522b\u7684\u9700\u6c42\u6db5\u76d6\u66f4\u52a0\u5e7f\uff0c\u56e0\u4e3a\u540e\u8005\u66f4\u7740\u91cd\u4e8e\u5206\u6790\u548c\u76d1\u63a7\u7a0b\u5e8f\u662f\u5426\u5de5\u4f5c\u6b63\u5e38\uff0c\u800c\u4e0d\u6ce8\u91cd\u8fd0\u884c\u7ec6\u8282\uff0c\u4f46\u5f00\u53d1\u4eba\u5458\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u9700\u8981\u5927\u91cf\u8c03\u8bd5\uff0c\u7a0b\u5e8f\u672c\u8eab\u4e5f\u6ca1\u88ab\u786e\u5b9a\u4e0b\u6765\uff0c\u81ea\u7136\u9700\u8981\u66f4\u591a\u4fe1\u606f\u53cd\u590d\u5c1d\u8bd5\u3002</p>\n<p>\u73b0\u5728\u9047\u5230\u4e00\u4e2a\u95ee\u9898\u662f\uff0c\u4e00\u822c\u5728\u5e94\u7528\u90e8\u7f72\u521d\u671f\uff0c\u4e5f\u4e0d\u662f\u76f4\u63a5\u8c03\u5230 info \u7ea7\u522b\u65e5\u5fd7\u8fd0\u884c\u7684\uff0c\u800c\u662f\u4ecd\u7136\u4e60\u60ef\u7528 debug \u65e5\u5fd7\u8dd1\u4e00\u6bb5\u65f6\u95f4\uff0c\u89c2\u5bdf\u662f\u5426\u8fd0\u884c\u6b63\u5e38\u3002\u4f46\u662f\u5982\u679c\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u5927\u91cf\u4f7f\u7528 debug \u6253\u70b9\u7684\u8bdd\uff0c\u4fe1\u606f\u6709\u70b9\u8fc7\u4e8e\u591a\u4e86\uff0c\u4e0d\u591a\u6253\u70b9\u7684\u8bdd\u5f00\u53d1\u4f53\u9a8c\u53c8\u76f8\u5f53\u4e8e\u9ed8\u5199\uff0c\u638c\u63a7\u611f\u5f88\u5dee\u3002</p>\n", 
      "date_published": "2024-02-15T05:16:29+00:00", 
      "title": "\u65e5\u5fd7\u7b49\u7ea7\u4f53\u7cfb\u91cc\u662f\u4e0d\u662f\u5e94\u8be5\u65b0\u589e\u4e00\u4e2a\u5f00\u53d1\u7ea7\uff1f", 
      "id": "https://www.v2ex.com/t/1015709"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/zzzzyg", 
        "name": "zzzzyg", 
        "avatar": "https://cdn.v2ex.com/gravatar/c8e658593998a08821aba8555267205b?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1007900", 
      "date_modified": "2024-01-14T03:58:32+00:00", 
      "content_html": "", 
      "date_published": "2024-01-11T10:13:59+00:00", 
      "title": "\u8fd0\u884c\u5f88\u4e45\u7684 springboot \u9879\u76ee info \u65e5\u5fd7\u6587\u4ef6\u4e0d\u66f4\u65b0\u4e86 warn \u65e5\u5fd7\u6587\u4ef6 error \u65e5\u5fd7\u6587\u4ef6\u4e00\u76f4\u5728\u66f4\u65b0==\u3002 \u65e5\u5fd7\u6587\u4ef6\u90fd\u5728\u4e00\u4e2a\u6587\u4ef6\u5939\uff0c\u6c42\u5927\u795e\u7ed9\u4e2a\u601d\u8def\uff01", 
      "id": "https://www.v2ex.com/t/1007900"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Ritter", 
        "name": "Ritter", 
        "avatar": "https://cdn.v2ex.com/avatar/4c3c/6bb2/372961_large.png?m=1747034244"
      }, 
      "url": "https://www.v2ex.com/t/920852", 
      "title": "Loki \u7684 filename \u6807\u7b7e\u4e3a\u4ec0\u4e48\u8fc7\u4e86 24 \u5c0f\u65f6\u5c31\u4e22\u5931\u4e86", 
      "id": "https://www.v2ex.com/t/920852", 
      "date_published": "2023-03-03T07:30:36+00:00", 
      "content_html": "<p>\u5e94\u7528\u5185\u65e5\u5fd7\u505a\u4e86\u6309\u5929\u7684\u8f6e\u8f6c\uff0c\u5b58\u50a8\u65f6\u95f4\u662f 7 \u5929\uff0c\u901a\u8fc7\u8fb9\u8f66\u5bb9\u5668 promtail \u6302\u8f7d\u5171\u4eab\u5377 push \u5230 Loki<br/>\nLoki \u7684\u8bdd\u4e5f\u6302\u8f7d\u4e86\u6301\u4e45\u5377\uff0c\u5e76\u4e14\u8bbe\u7f6e\u4e86 15 \u5929\u5b58\u50a8\u548c\u6700\u5927\u56de\u770b\u5468\u671f\uff0c\u521a\u90e8\u7f72\u5b8c\u7b2c\u4e00\u5929 push \u4e86\u6240\u6709\u7684\u65e5\u5fd7\u5305\u62ec\u8f6e\u8f6c\u65e5\u5fd7\uff0c\u5728 grafana \u4e5f\u80fd\u770b\u5230 filename \u6807\u7b7e\u5305\u542b\u4e86\u6240\u6709\u6587\u4ef6\uff0c\u4f46\u662f\u7b2c\u4e8c\u5929\u67e5\u770b\u7684\u65f6\u5019 filename \u6807\u7b7e\u53ea\u6709\u8f6e\u8f6c\u65e5\u5fd7\u4e86\uff0c\u4e3e\u4e2a\u7b80\u5355\u7684\u4f8b\u5b50\u5c31\u662f\uff1a<br/>\nday1:<br/>\nfilename =&gt; app.log app.log.2023-03-01 app.log.2023-03-02<br/>\nday2:<br/>\nfilename =&gt; app.log<br/>\napp.log \u4e3a\u8f6e\u8f6c\u6587\u4ef6\uff0c\u65e5\u5fd7\u8f6e\u8f6c\u6a21\u5f0f\u4e3a rename-create \u6a21\u5f0f\uff0c\u770b Loki \u6587\u6863\u4e5f\u662f\u63a8\u8350\u4f7f\u7528\u8fd9\u79cd\u6a21\u5f0f<br/>\n\u4ee5\u4e0b\u4e3a Loki \u7684\u914d\u7f6e\u6587\u4ef6  </p>\n<pre><code>auth_enabled: false\nserver:\n  http_listen_port: 3100\ncommon:\n  path_prefix: /data/loki\nchunk_store_config:\n  max_look_back_period: 360h\ncompactor:\n  shared_store: filesystem\n  working_directory: /data/loki/boltdb-shipper-compactor\ningester:\n  chunk_block_size: 262144\n  chunk_idle_period: 3m\n  chunk_retain_period: 1m\n  lifecycler:\n    ring:\n      kvstore:\n        store: inmemory\n      replication_factor: 1\n  max_transfer_retries: 0\nlimits_config:\n  enforce_metric_name: false\n  reject_old_samples: true\n  reject_old_samples_max_age: 168h\nschema_config:\n  configs:\n  - from: \"2023-01-01\"\n    index:\n      period: 24h\n      prefix: index_\n    chunks:\n      period: 24h\n      prefix: chunk_\n    object_store: filesystem\n    schema: v11\n    store: boltdb-shipper\nstorage_config:\n  boltdb_shipper:\n    active_index_directory: /data/loki/boltdb-shipper-active\n    cache_location: /data/loki/boltdb-shipper-cache\n    cache_ttl: 24h\n    shared_store: filesystem\n  filesystem:\n    directory: /data/loki/chunks\ntable_manager:\n  retention_deletes_enabled: true\n  retention_period: 360h\n</code></pre>\n<p>\u6211\u4f30\u8ba1\u662f schema_config \u5185 index \u7684 period \u8bbe\u7f6e\u51fa\u7684\u95ee\u9898\uff0c\u6211\u7406\u89e3\u8fd9\u4e2a\u8bbe\u7f6e\u7684\u610f\u601d\u662f\u5728 24h \u540e\u91cd\u5efa\u7d22\u5f15\uff0c\u4f46\u662f\u4e0d\u660e\u767d Loki \u91cd\u5efa\u7d22\u5f15\u7684\u89c4\u5219\u662f\u4ec0\u4e48\uff0c\u4e3a\u4ec0\u4e48\u53ea\u6709 filename \u7684 label \u4e22\u5931\u4e86\uff0c\u6709\u5927\u4f6c\u89e3\u7b54\u4e00\u4e0b\u5417</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/vczyh", 
        "name": "vczyh", 
        "avatar": "https://cdn.v2ex.com/avatar/3e9f/06fd/469815_large.png?m=1745658512"
      }, 
      "url": "https://www.v2ex.com/t/880594", 
      "title": "\u60f3\u628a\u591a\u53f0\u673a\u5668\u7684\u65e5\u5fd7\u7edf\u4e00\u7ba1\u7406\uff0c\u7528 ELK \u8fd8\u662f EFK\uff1f", 
      "id": "https://www.v2ex.com/t/880594", 
      "date_published": "2022-09-16T07:29:53+00:00", 
      "content_html": "<p>\u5bf9\u6027\u80fd\u6ca1\u8981\u6c42\uff0c\u53ea\u662f\u5f00\u53d1\u4f7f\u7528\uff0c\u4e0d\u60f3\u8fdb\u591a\u53f0\u673a\u5668\u770b\u65e5\u5fd7\uff0c\u5982\u679c\u53ef\u4ee5\u505a\u5f97\u66f4\u7b80\u5355\u70b9\u5c31\u66f4\u597d\u4e86\uff0c\u8bf7\u95ee\u6709\u4ec0\u4e48\u5efa\u8bae\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/guguji", 
        "name": "guguji", 
        "avatar": "https://cdn.v2ex.com/gravatar/eb04568b71caa57e84903551b2b09c04?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/877869", 
      "title": "\u6027\u80fd\u8c03\u4f18\u2014\u2014\u5c0f\u5c0f\u7684 log \u5927\u5927\u7684\u5751", 
      "id": "https://www.v2ex.com/t/877869", 
      "date_published": "2022-09-05T09:25:43+00:00", 
      "content_html": "<p>\u201c\u53ea\u6709\u88ab\u7ebf\u4e0a\u670d\u52a1\u95ee\u9898\u6bd2\u6253\u8fc7\u7684\u4eba\u624d\u660e\u767d\u65e5\u5fd7\u6709\u591a\u91cd\u8981\uff01\u201d\n\u6211\u5148\u8bf4\u7ed3\u8bba\uff0c\u8c01\u8d5e\u6210\uff0c\u8c01\u53cd\u5bf9\uff1f\u5982\u679c\u4f60\u6df1\u6709\u540c\u611f\uff0c\u90a3\u606d\u559c\u4f60\u662f\u4e2a\u793e\u4f1a\u4eba\u4e86\uff1a\uff09</p>\n<p>\u65e5\u5fd7\u5bf9\u7a0b\u5e8f\u7684\u91cd\u8981\u6027\u4e0d\u8a00\u800c\u55bb\uff0c\u8f7b\u5de7\u3001\u7b80\u5355\u3001\u65e0\u9700\u8d39\u8111\uff0c\u7a0b\u5e8f\u4ee3\u7801\u4e2d\u968f\u5904\u53ef\u89c1\uff0c\u5e2e\u52a9\u6211\u4eec\u6392\u67e5\u5b9a\u4f4d\u4e00\u4e2a\u6709\u4e00\u4e2a\u95ee\u9898\u95ee\u9898\u3002\u4f46\u770b\u4f3c\u4e0d\u8d77\u773c\u7684\u65e5\u5fd7\uff0c\u5374\u9690\u85cf\u7740\u5404\u5f0f\u5404\u6837\u7684\u201c\u5751\u201d\uff0c\u5982\u679c\u4f7f\u7528\u4e0d\u5f53\uff0c\u4e0d\u4ec5\u4e0d\u80fd\u5e2e\u52a9\u6211\u4eec\uff0c\u53cd\u800c\u4f1a\u6210\u4e3a\u670d\u52a1\u201c\u6740\u624b\u201d\u3002\n\u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u751f\u4ea7\u73af\u5883\u65e5\u5fd7\u4f7f\u7528\u4e0d\u5f53\u5bfc\u81f4\u7684\u201c\u5751\u201d\u53ca\u907f\u5751\u6307\u5317\uff0c\u9ad8\u5e76\u53d1\u7cfb\u7edf\u4e0b\u5c24\u4e3a\u660e\u663e\u3002\u540c\u65f6\u63d0\u4f9b\u4e00\u5957\u5b9e\u73b0\u65b9\u6848\u80fd\u8ba9\u7a0b\u5e8f\u4e0e\u65e5\u5fd7\u201c\u548c\u8c10\u5171\u5904\u201d\u3002</p>\n<p>\u6b22\u8fce\u8bbf\u95ee\u6211\u7684\u539f\u521b\u6587\u7ae0\uff1a<a href=\"https://jifuwei.github.io/yuque/%E6%80%A7%E8%83%BD%E8%B0%83%E4%BC%98%E2%80%94%E2%80%94%E5%B0%8F%E5%B0%8F%E7%9A%84log%E5%A4%A7%E5%A4%A7%E7%9A%84%E5%9D%91.html\" rel=\"nofollow\">\u6027\u80fd\u8c03\u4f18\u2014\u2014\u5c0f\u5c0f\u7684 log \u5927\u5927\u7684\u5751</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/zhangshaohan", 
        "name": "zhangshaohan", 
        "avatar": "https://cdn.v2ex.com/avatar/66d5/eebe/424937_large.png?m=1758694576"
      }, 
      "url": "https://www.v2ex.com/t/805187", 
      "title": "\u6709\u6ca1\u6709\u5927\u4f6c\u7528\u8fc7 Loki \u505a\u65e5\u5fd7\u6536\u96c6\u5462\uff1f", 
      "id": "https://www.v2ex.com/t/805187", 
      "date_published": "2021-09-29T08:11:45+00:00", 
      "content_html": "<p>\u76ee\u524d\u4e0a\u7ebf\u4e86\u8f7b\u91cf\u7ea7\u7684\u65e5\u5fd7\u6536\u96c6\u7cfb\u7edf Loki\uff0c\u4e0d\u77e5\u9053\u5b83\u6709\u6ca1\u6709\u4ec0\u4e48\u5751\u5462\uff1f\u6536\u96c6\u7684\u65e5\u5fd7\u4f1a\u4fdd\u5b58\u5230\u78c1\u76d8\u4e48\uff1f\u4f1a\u4e0d\u4f1a\u5bfc\u81f4\u78c1\u76d8\u5360\u7528\u7a7a\u95f4\u8fc7\u5927\u5462\uff1f\u7f51\u4e0a\u627e\u4e86\u4e00\u4e0b\u5206\u6790\u5176\u539f\u7406\u7684\u6587\u7ae0\u5f88\u5c11\uff0c\u6c42\u5927\u4f6c\u89e3\u7b54</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/zhangshaohan", 
        "name": "zhangshaohan", 
        "avatar": "https://cdn.v2ex.com/avatar/66d5/eebe/424937_large.png?m=1758694576"
      }, 
      "url": "https://www.v2ex.com/t/744613", 
      "title": "log4j2 \u5b98\u7f51\u4e0a\u6709\u6ca1\u6709 xml \u914d\u7f6e\u6587\u4ef6\u5982\u4f55\u7f16\u5199\u7684\u4ecb\u7ecd\u5462\uff1f", 
      "id": "https://www.v2ex.com/t/744613", 
      "date_published": "2021-01-13T08:53:36+00:00", 
      "content_html": "<p>\u627e\u4e86\u5f88\u4e45\u6ca1\u627e\u5230\uff0c\u6709\u6ca1\u6709\u5927\u4f6c\u77e5\u9053\u5728\u54ea\u5462\uff0c\u7f51\u4e0a\u67e5\u5230\u7684\u5173\u4e8e\u914d\u7f6e\u6587\u4ef6\u7f16\u5199\u7684\u6587\u7ae0\u90fd\u6bd4\u8f83\u4e71\uff0c\u5404\u79cd\u6284\u88ad\u7684</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Paual", 
        "name": "Paual", 
        "avatar": "https://cdn.v2ex.com/gravatar/da08cce1ef9366e36b77d3230e125e64?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/648361", 
      "title": "\u8bf7\u6559\u4e00\u4e0b\u670d\u52a1\u7aef\u65e5\u5fd7\u5b58\u653e\u548c\u5904\u7406\u65b9\u5411\u7684\u95ee\u9898\uff0c\u5e0c\u671b\u6709\u4e86\u89e3\u7684\u7ed9\u4e9b\u5efa\u8bae\u54c8\uff0c\u8c22\u8c22\u4e86", 
      "id": "https://www.v2ex.com/t/648361", 
      "date_published": "2020-02-28T07:39:28+00:00", 
      "content_html": "<p>\u60f3\u8bf7\u6559\u4e0b\u670d\u52a1\u7aef\u4e1a\u52a1\u65e5\u5fd7\u662f\u5982\u4f55\u5b58\u653e\u7684\uff1f\u6d4b\u8bd5\u73af\u5883\u7684\u8bdd\u662f\u5b58\u653e\u5728\u6587\u4ef6\u4e2d\u4e48\uff0c\u90a3\u4e48\u591a\u957f\u65f6\u95f4\u6e05\u7406\u4e00\u4e0b\uff0c\u901a\u8fc7\u4ec0\u4e48\u6837\u7684\u65b9\u5f0f\u6e05\u7406\u7684\u5462\uff1f\n\u8fd8\u6709\u7ebf\u4e0a\u7684\u65e5\u5fd7\u5b58\u653e\u548c\u67e5\u8be2\u662f\u7528 ELK \u4e48\uff0c\u8fd8\u662f\u7528\u7684\u54ea\u65b9\u9762\u7684\u54c8\uff0c\u7ebf\u4e0a\u51fa\u4e86\u95ee\u9898\u8d35\u516c\u53f8\u662f\u5982\u4f55\u66f4\u5feb\u7684\u5b9a\u4f4d\u5230\u95ee\u9898\u7684\u5462\uff0c\u60f3\u8bf7\u6559\u4e0b\u65e5\u5fd7\u5904\u7406\u65b9\u9762\u76f8\u5173\u7684\u4e1c\u897f\uff0c\u5e0c\u671b\u7ed9\u4e9b\u5efa\u8bae\uff0c\u8c22\u8c22\u3002</p>\n<p>\u76ee\u524d\u6211\u4eec\u516c\u53f8\u6d4b\u8bd5\u73af\u5883\u56e0\u4e3a\u767b\u9646\u4e0d\u4e86\u6d4b\u8bd5\u670d\u52a1\u5668\u6240\u4ee5\u6ca1\u6709\u529e\u6cd5\u67e5\u770b\u6587\u4ef6\uff0c\u7ebf\u4e0a\u7684\u8bdd\u662f\u4f7f\u7528\u7684\u5148\u653e\u5165\u5230 redis \u7684 list \u4e2d\uff0c\u7136\u540e\u4ece redis list \u4e2d\u53d6\u51fa\u7136\u540e\u653e\u5165\u5230 MySQL \u7684 json \u6587\u4ef6\u4e2d\uff0c\u6700\u540e\u67e5\u8be2\u65e5\u5fd7\u7684\u8bdd\u67e5\u8be2 MySQL \u7684 json\uff0c\u60f3\u95ee\u4e0b\u5927\u5bb6\u90fd\u662f\u600e\u4e48\u67e5\u8be2\u65e5\u5fd7\u7684\u5462\uff0c\u6709\u6ca1\u6709\u4ec0\u4e48\u597d\u7684\u6700\u4f73\u5b9e\u8df5\u5462\ud83e\udd14</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/dong3580", 
        "name": "dong3580", 
        "avatar": "https://cdn.v2ex.com/avatar/2851/3c6e/21210_large.png?m=1398306094"
      }, 
      "url": "https://www.v2ex.com/t/127243", 
      "title": "\u5173\u4e8e\u65e5\u5fd7\u5904\u7406\u7684\u4e00\u4e2a\u5b9e\u4f8b\u95ee\u9898\u8bf7\u6559", 
      "id": "https://www.v2ex.com/t/127243", 
      "date_published": "2014-08-11T07:59:49+00:00", 
      "content_html": "\u505a\u4e00\u4e2a\u5c0f\u4e1c\u897f\uff0c\u9047\u5230\u65e5\u5fd7\u5904\u7406\u7684\u95ee\u9898\uff0c\u73b0\u5728\u6211\u6709\u4e24\u79cd\u65b9\u6cd5\uff1a<br /><br />\u65b9\u6cd51.\u5728\u6570\u636e\u5e93\u91cc\u9762\u521b\u5efa\u4e00\u4e2a\u89e6\u53d1\u5668\uff0c\u6570\u636e\u5e93\u53d1\u751f \"\u589e\u5220\u6539\u67e5\"\u65f6\u89e6\u53d1\u64cd\u4f5c\uff0c\u63d2\u5165\u65e5\u5fd7\u8868;<br /><br />\u65b9\u6cd52.\u5728\u7a0b\u5e8f\u91cc\u9762\u903b\u8f91\u5224\u65ad\uff0c\u666e\u901a\u65e5\u5fd7\u76f4\u63a5\u63d2\u5165\u65e5\u5fd7\u8868\uff0c\u9047\u5230\u9519\u8bef\u6355\u83b7\u5f02\u5e38\u53d1\u9001\u90ae\u4ef6\uff0c\u65b0\u5efa\u8fd9\u6837\u4e00\u4e2a\u5b9e\u4f53\u7c7b\u5b57\u6bb5\u5982\u4e0b\uff1a<br /><br />[code]<br />    public class LogModels<br />    {<br />        public Int64 Id { get; set; }//\u6807\u8bc6<br />        public Int64 UserId { get; set; }//\u767b\u5f55userid<br />        public string Ip { get; set; }//\u767b\u5f55ip<br />        public string Browser { get; set; }//\u4f7f\u7528\u6d4f\u89c8\u5668user-agent//Request.Browser.Browser;<br />        public int LogType { get; set; }//\u65e5\u5fd7\u79cd\u7c7b/*1\u767b\u5f55\u65e5\u5fd7,2\u521b\u5efa\uff0c3\u66f4\u65b0,4\u5220\u9664\uff0c5\u67e5\u8be2(\u9650\u5236\u67e5\u8be2\u6b21\u6570\uff0c\u7f13\u5b58)6\uff0c\u9519\u8bef\u65e5\u5fd7*/<br />        public string ProductId { get; set; }//\u6765\u6e90\u7cfb\u7edf\u6a21\u5757<br />        public string ProductUrl { get; set; }//\u5b9e\u9645\u94fe\u63a5<br />        public string ProductFile { get; set; }//\u65b9\u6cd5\u6240\u5728\u6e90\u6587\u4ef6<br />        public string ProductFunction { get; set; }//\u6765\u6e90\u65b9\u6cd5\u540d<br />        public string LogValue { get; set; }//\u6267\u884c\u64cd\u4f5c\u7684\u5185\u5bb9<br />        public string LogContent { get; set; }//\u5982\u662f\u9519\u8bef\u65e5\u5fd7\uff0c\u6b64\u5904\u4e3a\u6355\u83b7\u7684\u9519\u8bef\u539f\u56e0<br />        public DateTime CreateDate { get; set; }//\u521b\u5efa\u65f6\u95f4<br />        public Int64 CreateId { get; set; }//\u521b\u5efa\u4ebaid<br />        public DateTime UpdateDate { get; set; }//\u4fee\u6539\u65f6\u95f4<br />        public Int64 UpdateId { get; set; }//\u4fee\u6539\u4ebaid<br />    }<br />[/code]<br />\u6bcf\u4e00\u4e2a\u65b9\u6cd5\uff0c\u201c\u589e\u5220\u6539\u67e5\u201d\u5747\u8c03\u7528\u6267\u884c\u3002<br /><br />1\u3001\u524d\u8005\u597d\u5904\u662f\u65b9\u4fbf\uff0c\u4f46\u662f\u65e5\u5fd7\u4e0d\u5177\u4f53\uff0c\u9519\u8bef\u65e5\u5fd7\u9700\u8fd8\u8981\u5728\u4ee3\u7801\u4e2d\u5199\u5224\u65ad\u63d2\u5165\u65e5\u5fd7\u8868;<br />2\u3001\u540e\u8005\u65e5\u5fd7\u975e\u5e38\u8be6\u7ec6\uff0c\u800c\u4e14\u53ef\u4ee5\u540e\u671f\u62d3\u5c55\u4e3a\u4e00\u4e9b\u5c0f\u5de5\u5177\uff0c\u4f46\u662f\u4f30\u8ba1\u8fd9\u6837\u7684\u8bdd\u65e5\u5fd7\u91cf\u4f1a\u201c\u5f88\u5927\u201d\uff1b<br />3\u3001\u53e6\u5916\u518d\u6709\u4e2a\u65b9\u6848\uff1a\u65b0\u5efa\u4e24\u5f20\u8868\uff0c\u4e00\u4e2a\u666e\u901a\u65e5\u5fd7\u8868\uff0c\u4e00\u4e2a\u9519\u8bef\u65e5\u5fd7\u8868\u3002 \u666e\u901a\u65e5\u5fd7\u8868\u8bb0\u5f55\u589e\u5220\u6539\u67e5\u64cd\u4f5c\uff0c\u7528\u65b9\u6cd5\u4e8c\uff0c\u63d2\u5165\u65e5\u5fd7\u8868;\u6355\u83b7\u5230\u7a0b\u5e8f\u9519\u8bef\u65f6\uff0c\u63d2\u5165\u9519\u8bef\u65e5\u5fd7\u8868\u5e76\u53d1\u9001\u90ae\u4ef6\uff1b<br /><br />\u8bf7\u6559\u4e00\u4e0b\u5927\u5bb6\u6709\u4ec0\u4e48\u597d\u7684\u5efa\u8bae\uff1f"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Livid", 
        "name": "Livid", 
        "avatar": "https://cdn.v2ex.com/avatar/c4ca/4238/1_large.png?m=1776858751"
      }, 
      "url": "https://www.v2ex.com/t/120651", 
      "title": "\u65e5\u5fd7\u96c6\u4e2d\u7ba1\u7406\u5de5\u5177\uff08\u7c7b\u4f3c Loggly \u548c Splunk \u8fd9\u6837\u7684\uff09\u76ee\u524d\u56fd\u5185\u6709\u54ea\u5bb6\u505a\u5f97\u6bd4\u8f83\u597d\u7684\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/120651", 
      "date_published": "2014-07-02T10:58:25+00:00", 
      "content_html": ""
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Livid", 
        "name": "Livid", 
        "avatar": "https://cdn.v2ex.com/avatar/c4ca/4238/1_large.png?m=1776858751"
      }, 
      "url": "https://www.v2ex.com/t/120647", 
      "date_modified": "2014-07-02T11:00:45+00:00", 
      "content_html": "\u76ee\u524d\u627e\u5230\u7684\u662f\u8fd9\u4e9b\uff1a<br /><br /><a target=\"_blank\" href=\"http://www.loggly.com/\" rel=\"nofollow\">http://www.loggly.com/</a><br /><a target=\"_blank\" href=\"http://www.papertrailapp.com/\" rel=\"nofollow\">http://www.papertrailapp.com/</a><br /><br />\u4f46\u662f Loggly \u597d\u50cf\u6709\u70b9\u95ee\u9898\uff0c\u6ca1\u6cd5\u6536\u5230\u6211\u4ece Nginx syslog \u4f20\u8fc7\u53bb\u7684\u6570\u636e\uff0cPapertrailapp \u5012\u662f\u80fd\u7528\u3002<br /><br />\u8fd8\u6709\u4ec0\u4e48\u5176\u4ed6\u53ef\u4ee5\u652f\u6301 syslog \u7684\u65e5\u5fd7\u96c6\u4e2d\u7ba1\u7406\u7684 SaaS \u4e48\uff1f", 
      "date_published": "2014-07-02T10:21:08+00:00", 
      "title": "\u76ee\u524d\u6709\u54ea\u4e9b\u652f\u6301 syslog \u63a5\u53e3\u7684\u4e91\u4e0a\u7684\u65e5\u5fd7\u96c6\u4e2d\u7ba1\u7406\u5de5\u5177\uff1f", 
      "id": "https://www.v2ex.com/t/120647"
    }
  ]
}