{"id":800,"date":"2022-08-21T00:25:03","date_gmt":"2022-08-20T16:25:03","guid":{"rendered":"https:\/\/blog.espnlol.com\/?p=800"},"modified":"2024-02-01T16:01:29","modified_gmt":"2024-02-01T08:01:29","slug":"es%e4%bd%bf%e7%94%a8%e7%ac%94%e8%ae%b0","status":"publish","type":"post","link":"https:\/\/blog.espnlol.com\/?p=800","title":{"rendered":"es\u4f7f\u7528\u7b14\u8bb0"},"content":{"rendered":"\n<p>\u8bb0\u5f55es\u5e38\u7528\u547d\u4ee4<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#\u8bf7\u6c42es\u76844\u79cd\u65b9\u6cd5\ncurl -XPOST -u ${es_username}:${es_password} -H 'Content-Type: application\/json' http:\/\/$ip:9200\/$ -d ''\ncurl -XPUT -u ${es_username}:${es_password} -H 'Content-Type: application\/json' http:\/\/$ip:9200\/$ -d ''\ncurl -XGET -u ${es_username}:${es_password} -H 'Content-Type: application\/json' http:\/\/$ip:9200\/$\ncurl -XDELETE -u ${es_username}:${es_password} -H 'Content-Type: application\/json' http:\/\/$ip:9200\/$\n\n\n#\u8bbe\u7f6ees\u652f\u6301\u6279\u91cf\u5220\u9664\u7d22\u5f15\nPUT _cluster\/settings\n{\"persistent\": {\"action.destructive_requires_name\":\"false\"}}\n\n#\u6253\u5f00\u5173\u95ed\u957f\u671f\u4e0d\u7528\u7684\u7d22\u5f15\uff0c\u63d0\u9ad8\u6027\u80fd\nPOST xxxxx*\/_close\nPOST xxxxx*\/_open\n\n\n#\u6ce8\u518c\u4e00\u4e2a\u672c\u5730\u6587\u4ef6\u7cfb\u7edf\u6216nfs\u7684\u5feb\u7167\u4ed3\u5e93\n#\u5982\u679c\u662f\u96c6\u7fa4\u9700\u8981\u6240\u6709\u7684\u8282\u70b9\u90fd\u53ef\u4ee5\u8bbf\u95ee\u8fd9\u4e2a\u76ee\u5f55\ncurl -XPUT 'http:\/\/localhost:9200\/_snapshot\/my_backup' -H \"Content-Type: application\/json\"  -d \n'{\n    \"type\": \"fs\",\n    \"settings\": {\n        \"location\": \"\/data\/snap_data\",\n        \"chunk_size\": \"500mb\",\n        \"compress\": true\n    }\n}'\n\n#\u6ce8\u518c\u4e00\u4e2a\u57fa\u4e8e\u817e\u8baf\u4e91cos\u7684\u4ed3\u5e93\nPUT _snapshot\/cos_backup\n{\n    \"type\": \"cos\",\n    \"settings\": {\n        \"app_id\": \"xxxxxxxxx\",\n        \"access_key_id\": \"xxxxxxxxxxxxxxxxxxx\",\n        \"access_key_secret\": \"xxxxxxxxxxxxxxxxxx\",\n        \"bucket\": \"es-bakcup\",\n        \"region\": \"ap-xxx\",\n        \"compress\": true,\n        \"chunk_size\": \"500mb\",\n        \"base_path\": \"\/xxxx\"\n    }\n}\n\n#\u521b\u5efa\u5feb\u7167\u5907\u4efd\nPUT _snapshot\/my_xxx_xxxx_backup\/snapshot_20220816\n{\n    \"indices\": \"xxx*\"\n}\n\ncurl -XPUT -u ${es_username}:${es_password} http:\/\/$ip:9200\/_snapshot\/my_xxxx_xxxx_backup\/snapshot?wait_for_completion=true -d '{\n  \"indices\": \"xxxx*\"\n}\n\n#\u67e5\u770b\u6240\u6709\u5feb\u7167\nGET _snapshot\/my_backup\/_all\n\n#\u521b\u5efa\u5355\u72ec\u5927\u7d22\u5f15\u5feb\u7167\nPUT _snapshot\/my_xxx_xxxx_backup\/snapshot_20220816_bigindex\n{\n    \"indices\": \"xxxxxxx\"\n}\n\n#\u67e5\u770b\u6b63\u5728\u6062\u590d\u7684\u7d22\u5f15\nGET _cat\/recovery?v=true&amp;h=i,s,t,ty,st,rep,snap,f,fp,b,bp\n\n#\u5728CDZ\u4e2d\u6062\u590d\u5feb\u7167\nPOST _snapshot\/my_xxxx_xxxx_backup\/snapshot_20220817\/_restore \n{\n  \"indices\": \"xxxxxxx*,xxxxxxxx*,xxxxxx*\",\n  \"ignore_unavailable\": true\n}\n\n##\u5728CDZ\u4e2d\u6062\u590d\u5355\u72ec\u5927\u7d22\u5f15\u5feb\u7167\nPOST _snapshot\/my_xxxx_xxxx_backup\/snapshot_20220816\/_restore -d '\n{\n  \"indices\": \"xxxxxxxxxxx\",\n  \"ignore_unavailable\": true\n}'\n\n#\u589e\u52a0\u96c6\u7fa4node\u6700\u5927shards\nPUT \/_cluster\/settings\n{\n  \"persistent\" : {\n      \"cluster.max_shards_per_node\": \"2000\"\n  }\n}\n\n#\u67e5\u770b\u7cfb\u7edf\u4e2d\u5171\u6709\u54ea\u4e9btemplate\nGET _cat\/templates\n#\u67e5\u770b\u6240\u6709template\u8be6\u60c5\nGET _template\n#\u67e5\u770b\u5355\u4e2atemplate\u8be6\u60c5\nGET _template\/nginxaccess\n#\u65b0\u589e\u6216\u66f4\u65b0template\nPUT _template\/nginxaccess\n{\n      \"order\" : 1,\n      \"index_patterns\" : [\n        \"nginx-*\"\n      ],\n      \"settings\" : {\n        \"index\" : {\n          \"lifecycle\" : {\n            \"name\" : \"nginx-180-days\"\n          },\n          \"routing\" : {\n            \"allocation\" : {\n              \"include\" : {\n                \"_tier_preference\" : \"data_hot\"\n              }\n            }\n          },\n          \"refresh_interval\" : \"10s\",\n          \"number_of_shards\" : \"5\",\n          \"number_of_replicas\" : \"1\"\n        }\n      },\n      \"mappings\" : {\n        \"properties\" : {\n          \"referer\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"agent\" : {\n            \"properties\" : {\n              \"os\" : {\n                \"properties\" : {\n                  \"name\" : {\n                    \"ignore_above\" : 256,\n                    \"type\" : \"keyword\"\n                  },\n                  \"version\" : {\n                    \"ignore_above\" : 256,\n                    \"type\" : \"keyword\"\n                  },\n                  \"full\" : {\n                    \"ignore_above\" : 256,\n                    \"type\" : \"keyword\"\n                  }\n                }\n              },\n              \"name\" : {\n                \"ignore_above\" : 256,\n                \"type\" : \"keyword\"\n              },\n              \"device\" : {\n                \"properties\" : {\n                  \"name\" : {\n                    \"ignore_above\" : 256,\n                    \"type\" : \"keyword\"\n                  }\n                }\n              },\n              \"version\" : {\n                \"ignore_above\" : 256,\n                \"type\" : \"keyword\"\n              }\n            }\n          },\n          \"auth\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"log\" : {\n            \"type\" : \"object\",\n            \"properties\" : {\n              \"file\" : {\n                \"type\" : \"object\",\n                \"properties\" : {\n                  \"path\" : {\n                    \"ignore_above\" : 256,\n                    \"type\" : \"keyword\"\n                  }\n                }\n              }\n            }\n          },\n          \"ident\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"xforwardedFor-ip3\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"xforwardedFor-ip4\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"xforwardedFor-ip1\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"xforwardedFor-ip2\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"request_time\" : {\n            \"type\" : \"float\"\n          },\n          \"host\" : {\n            \"properties\" : {\n              \"name\" : {\n                \"ignore_above\" : 256,\n                \"type\" : \"keyword\"\n              }\n            }\n          },\n          \"client_ip\" : {\n            \"type\" : \"ip\"\n          },\n          \"event\" : {\n            \"type\" : \"object\",\n            \"properties\" : {\n              \"original\" : {\n                \"ignore_above\" : 256,\n                \"type\" : \"keyword\"\n              }\n            }\n          },\n          \"user_agent\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"timestamp\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"geoip\" : {\n            \"properties\" : {\n              \"geo\" : {\n                \"properties\" : {\n                  \"region_iso_code\" : {\n                    \"ignore_above\" : 256,\n                    \"type\" : \"keyword\"\n                  },\n                  \"city_name\" : {\n                    \"ignore_above\" : 256,\n                    \"type\" : \"keyword\"\n                  },\n                  \"country_iso_code\" : {\n                    \"ignore_above\" : 256,\n                    \"type\" : \"keyword\"\n                  },\n                  \"timezone\" : {\n                    \"ignore_above\" : 256,\n                    \"type\" : \"keyword\"\n                  },\n                  \"country_name\" : {\n                    \"ignore_above\" : 256,\n                    \"type\" : \"keyword\"\n                  },\n                  \"continent_code\" : {\n                    \"ignore_above\" : 256,\n                    \"type\" : \"keyword\"\n                  },\n                  \"location\" : {\n                    \"properties\" : {\n                      \"lon\" : {\n                        \"type\" : \"float\"\n                      },\n                      \"lat\" : {\n                        \"type\" : \"float\"\n                      }\n                    }\n                  },\n                  \"region_name\" : {\n                    \"ignore_above\" : 256,\n                    \"type\" : \"keyword\"\n                  }\n                }\n              },\n              \"ip\" : {\n                \"type\" : \"ip\"\n              },\n              \"coordinates\" : {\n                \"type\" : \"geo_point\"\n              }\n            }\n          },\n          \"http_cookei\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"xforwardedFor\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"verb\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"http_version\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"url\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"tags\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"input\" : {\n            \"type\" : \"object\"\n          },\n          \"@timestamp\" : {\n            \"type\" : \"date\"\n          },\n          \"request_body\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"upstream_host\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          },\n          \"upstream_response_time\" : {\n            \"type\" : \"float\"\n          },\n          \"bytes\" : {\n            \"type\" : \"long\"\n          },\n          \"fields\" : {\n            \"type\" : \"object\",\n            \"properties\" : {\n              \"appname\" : {\n                \"ignore_above\" : 256,\n                \"type\" : \"keyword\"\n              }\n            }\n          },\n          \"status\" : {\n            \"ignore_above\" : 256,\n            \"type\" : \"keyword\"\n          }\n        }\n      },\n      \"aliases\" : { }\n}\n\n#logstash \u6761\u4ef6\u5224\u65ad\u8bed\u53e5\n\u4f7f\u7528\u6761\u4ef6\u6765\u51b3\u5b9afilter\u548coutput\u5904\u7406\u7279\u5b9a\u7684\u4e8b\u4ef6\u3002logstash\u6761\u4ef6\u7c7b\u4f3c\u4e8e\u7f16\u7a0b\u8bed\u8a00\u3002\u6761\u4ef6\u652f\u6301if\u3001else if\u3001else\u8bed\u53e5\uff0c\u53ef\u4ee5\u5d4c\u5957\u3002 \n\u6bd4\u8f83\u64cd\u4f5c\u6709\uff1a \n\u76f8\u7b49: ==, !=, &lt;, >, &lt;=, >= \n\u6b63\u5219: =~(\u5339\u914d\u6b63\u5219), !~(\u4e0d\u5339\u914d\u6b63\u5219) \n\u5305\u542b: in(\u5305\u542b), not in(\u4e0d\u5305\u542b) \n\u5e03\u5c14\u64cd\u4f5c\uff1a \nand(\u4e0e), or(\u6216), nand(\u975e\u4e0e), xor(\u975e\u6216) \n\u4e00\u5143\u8fd0\u7b97\u7b26\uff1a \n!(\u53d6\u53cd) \n()(\u590d\u5408\u8868\u8fbe\u5f0f), !()(\u5bf9\u590d\u5408\u8868\u8fbe\u5f0f\u7ed3\u679c\u53d6\u53cd) \n\n\n2\u3001if[foo] in \"String\"\u5728\u6267\u884c\u8fd9\u6837\u7684\u8bed\u53e5\u662f\u51fa\u73b0\u9519\u8bef\u539f\u56e0\u662f\u6ca1\u6709\u627e\u5230\u53eb\u505afoo\u7684field\uff0c\u65e0\u6cd5\u628a\u8be5\u5b57\u6bb5\u503c\u8f6c\u5316\u6210String\u7c7b\u578b\u3002\u6240\u4ee5\u6700\u597d\u8981\u52a0field if exist\u5224\u65ad\u3002\n\u5224\u65ad\u5b57\u6bb5\u662f\u5426\u5b58\u5728\uff0c\u4ee3\u7801\u5982\u4e0b\uff1a\n\n\nif [\"foo\"] {\n  mutate {\n    add_field => { \"bar\" => \"%{foo}\"}\n  }\n}\n\n#elasticsearch and minio,\u5b98\u65b9\u6587\u6863:https:\/\/www.elastic.co\/guide\/en\/elasticsearch\/reference\/master\/repository-s3.html\n#\u6ce8\u518c\u4ed3\u5e93\n#\u5e76\u975e\u7279\u522b\u5b89\u5168\uff0c\u53ef\u5728api\u91cc\u67e5\u5230AK\u4fe1\u606f\uff0c\u9700\u8981\u5728jvm\u4e2d\u6dfb\u52a0-Des.allow_insecure_settings=true\u5e76\u91cd\u542f\u751f\u6548\nPUT _snapshot\/minio_backup\n{\n    \"type\": \"s3\",\n    \"settings\": {\n        \"access_key\": \"xxxxxxxx\",\n        \"secret_key\": \"xxxxxxxxxxxxxxx\",\n        \"bucket\": \"es-backup\",\n        \"compress\": true,\n        \"chunk_size\": \"500mb\",\n        \"base_path\": \"\/prod\",\n        \"protocol\": \"http\",\n        \"endpoint\": \"10.x.x.x:9000\"\n    }\n}\n\n#\u5b98\u65b9\u63a8\u8350\uff0c\u5c06\u9ed8\u8ba4\u5bc6\u7801\u5199\u5165elasticsearch-keystore\n#\u4e0b\u9762\u662f\u4ea4\u4e92\u6dfb\u52a0AK\u4fe1\u606f\u7684\u6307\u4ee4\uff0c\u6dfb\u52a0\u5b8c\u9700\u8981\u9010\u4e2a\u91cd\u542f\n#docker exec -i elasticsearch bin\/elasticsearch-keystore add s3.client.default.access_key\n#docker exec -i elasticsearch bin\/elasticsearch-keystore add s3.client.default.secret_key\nPUT _snapshot\/minio_backup\n{\n    \"type\": \"s3\",\n    \"settings\": {\n        \"bucket\": \"es-backup\",\n        \"compress\": true,\n        \"chunk_size\": \"500mb\",\n        \"base_path\": \"\/prod\",\n        \"protocol\": \"http\",\n        \"disable_chunked_encoding\":\"true\",\n        \"endpoint\": \"10.x.x.x:9000\"\n    }\n}\n\n#\u5f53node\u8282\u70b9\u5b58\u5728\u5927\u91cfshard\uff0c\u91cd\u542f\u4f18\u5316\uff0c\u5b98\u65b9\u6587\u6863:https:\/\/www.elastic.co\/guide\/en\/elasticsearch\/reference\/6.8\/rolling-upgrades.html\n#\u96c6\u7fa4\u5206\u7247\u7b56\u7565\u5b98\u65b9\u6587\u6863:https:\/\/www.elastic.co\/guide\/en\/elasticsearch\/reference\/6.8\/shards-allocation.html#_shard_allocation_settings\n#ES\u6eda\u52a8\u91cd\u542f\n#\u5c06es\u8def\u7531\u7b56\u7565\u6539\u4e3a\uff0c\u5e76\u589e\u52a0\u9ed8\u8ba4shard\u6062\u590d\u9650\u5236\uff08\u9ed8\u8ba4\u4e3a2\uff0c\u975e\u5e38\u7684\u6162\uff0c\u5177\u4f53\u503c\u5efa\u8bae\u4e0enode\u8282\u70b9\u76f8\u540c\uff0c\u66f4\u4f18\u5316\u7684\u503c\u9700\u8981\u81ea\u5df1\u6d4b\u8bd5\uff09\nPUT _cluster\/settings\n{\n  \"persistent\": {\n    \"cluster.routing.allocation.enable\": \"primaries\",\n    \"cluster.routing.allocation.node_concurrent_incoming_recoveries\": \"12\",\n    \"cluster.routing.allocation.node_concurrent_outgoing_recoveries\": \"12\"\n  }\n}\n\n#\u5c06\u5185\u5b58\u4e2d\u7684\u6570\u636e\u5237\u65b0\u5230\u78c1\u76d8\nPOST \/_flush\n\n#\u91cd\u542f\u4e4b\u540e\uff0c\u7b49\u5f85\u4e3b\u5206\u7247\u5747\u4e3a\u6b63\u5e38\u72b6\u6001\u5e76\u4e14\u96c6\u7fa4\u4ecered\u6539\u4e3ayellow\uff0c\u7b49\u5f85\u96c6\u7fa4\u72b6\u6001\u53d8\u4e3agreen\u5373\u53ef\u8fdb\u884c\u4e0b\u4e00\u4e2a\u8282\u70b9\u6062\u590d\uff0c\u621112\u4e2a\u8282\u70b9\u9ed8\u8ba42\u4e2a\u4e3a\u4e00\u7ec4\u91cd\u542f\uff0c\u91cd\u590d\u5230\u6240\u6709\u8282\u70b9\u91cd\u542f\u5b8c\u6bd5\u5373\u53ef\nPUT _cluster\/settings\n{\n  \"persistent\": {\n    \"cluster.routing.allocation.enable\": null\n  }\n}\n\n#elastic\u767d\u91d1\u7248\u5207\u6362\u6210basic\u7248\nPOST \/_xpack\/license\/start_basic?acknowledge=true<\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8bb0\u5f55es\u5e38\u7528\u547d\u4ee4<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-800","post","type-post","status-publish","format-standard","hentry","category-elk"],"_links":{"self":[{"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/posts\/800","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=800"}],"version-history":[{"count":3,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/posts\/800\/revisions"}],"predecessor-version":[{"id":922,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/posts\/800\/revisions\/922"}],"wp:attachment":[{"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=800"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=800"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=800"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}