| "use strict";(self.webpackChunkhertzbeat=self.webpackChunkhertzbeat||[]).push([[92999],{15680:(e,n,t)=>{t.d(n,{xA:()=>m,yg:()=>c});var r=t(96540);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function p(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function o(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=r.createContext({}),s=function(e){var n=r.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):p(p({},n),e)),t},m=function(e){var n=s(e.components);return r.createElement(l.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},u=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,m=o(e,["components","mdxType","originalType","parentName"]),u=s(t),c=a,y=u["".concat(l,".").concat(c)]||u[c]||d[c]||i;return t?r.createElement(y,p(p({ref:n},m),{},{components:t})):r.createElement(y,p({ref:n},m))}));function c(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var i=t.length,p=new Array(i);p[0]=u;var o={};for(var l in n)hasOwnProperty.call(n,l)&&(o[l]=n[l]);o.originalType=e,o.mdxType="string"==typeof e?e:a,p[1]=o;for(var s=2;s<i;s++)p[s]=t[s];return r.createElement.apply(null,p)}return r.createElement.apply(null,t)}u.displayName="MDXCreateElement"},96354:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>p,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var r=t(58168),a=(t(96540),t(15680));const i={id:"extend-point",title:"\u81ea\u5b9a\u4e49\u76d1\u63a7",sidebar_label:"\u81ea\u5b9a\u4e49\u76d1\u63a7"},p=void 0,o={unversionedId:"advanced/extend-point",id:"advanced/extend-point",title:"\u81ea\u5b9a\u4e49\u76d1\u63a7",description:"HertzBeat\u62e5\u6709\u81ea\u5b9a\u4e49\u76d1\u63a7\u80fd\u529b\uff0c\u60a8\u53ea\u9700\u914d\u7f6e\u76d1\u63a7\u6a21\u7248YML\u5c31\u80fd\u9002\u914d\u4e00\u6b3e\u81ea\u5b9a\u4e49\u7684\u76d1\u63a7\u7c7b\u578b\u3002",source:"@site/i18n/zh-cn/docusaurus-plugin-content-docs/current/advanced/extend-point.md",sourceDirName:"advanced",slug:"/advanced/extend-point",permalink:"/zh-cn/docs/advanced/extend-point",draft:!1,editUrl:"https://github.com/dromara/hertzbeat/edit/master/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/advanced/extend-point.md",tags:[],version:"current",frontMatter:{id:"extend-point",title:"\u81ea\u5b9a\u4e49\u76d1\u63a7",sidebar_label:"\u81ea\u5b9a\u4e49\u76d1\u63a7"},sidebar:"docs",previous:{title:"\u4f7f\u7528\u6848\u4f8b",permalink:"/zh-cn/docs/start/ssl-cert-practice"},next:{title:"\u6559\u7a0b\u6848\u4f8b",permalink:"/zh-cn/docs/advanced/extend-tutorial"}},l={},s=[{value:"\u81ea\u5b9a\u4e49\u6d41\u7a0b",id:"\u81ea\u5b9a\u4e49\u6d41\u7a0b",level:3},{value:"\u76d1\u63a7\u6a21\u7248YML",id:"\u76d1\u63a7\u6a21\u7248yml",level:3}],m={toc:s};function d(e){let{components:n,...i}=e;return(0,a.yg)("wrapper",(0,r.A)({},m,i,{components:n,mdxType:"MDXLayout"}),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},"HertzBeat\u62e5\u6709\u81ea\u5b9a\u4e49\u76d1\u63a7\u80fd\u529b\uff0c\u60a8\u53ea\u9700\u914d\u7f6e\u76d1\u63a7\u6a21\u7248YML\u5c31\u80fd\u9002\u914d\u4e00\u6b3e\u81ea\u5b9a\u4e49\u7684\u76d1\u63a7\u7c7b\u578b\u3002",(0,a.yg)("br",{parentName:"p"}),"\n","\u76ee\u524d\u81ea\u5b9a\u4e49\u76d1\u63a7\u652f\u6301",(0,a.yg)("a",{parentName:"p",href:"extend-http"},"HTTP\u534f\u8bae"),"\uff0c",(0,a.yg)("a",{parentName:"p",href:"extend-jdbc"},"JDBC\u534f\u8bae"),"\uff0c",(0,a.yg)("a",{parentName:"p",href:"extend-ssh"},"SSH\u534f\u8bae"),"\uff0c",(0,a.yg)("a",{parentName:"p",href:"extend-jmx"},"JMX\u534f\u8bae"),"\uff0c",(0,a.yg)("a",{parentName:"p",href:"extend-snmp"},"SNMP\u534f\u8bae"),"\uff0c\u540e\u7eed\u4f1a\u652f\u6301\u66f4\u591a\u901a\u7528\u534f\u8bae\u3002 ")),(0,a.yg)("h3",{id:"\u81ea\u5b9a\u4e49\u6d41\u7a0b"},"\u81ea\u5b9a\u4e49\u6d41\u7a0b"),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},"HertzBeat\u9875\u9762")," -> ",(0,a.yg)("strong",{parentName:"p"},"\u76d1\u63a7\u6a21\u7248\u83dc\u5355")," -> ",(0,a.yg)("strong",{parentName:"p"},"\u65b0\u589e\u76d1\u63a7\u7c7b\u578b")," -> ",(0,a.yg)("strong",{parentName:"p"},"\u914d\u7f6e\u81ea\u5b9a\u4e49\u76d1\u63a7\u6a21\u7248YML")," -> ",(0,a.yg)("strong",{parentName:"p"},"\u70b9\u51fb\u4fdd\u5b58\u5e94\u7528")," -> ",(0,a.yg)("strong",{parentName:"p"},"\u4f7f\u7528\u65b0\u76d1\u63a7\u7c7b\u578b\u6dfb\u52a0\u76d1\u63a7")),(0,a.yg)("p",null,(0,a.yg)("img",{src:t(35008).A,width:"4064",height:"2166"})),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"\u76d1\u63a7\u6a21\u7248yml"},"\u76d1\u63a7\u6a21\u7248YML"),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},"HertzBeat\u7684\u8bbe\u8ba1\u662f\u4e00\u4e2a\u76d1\u63a7\u6a21\u7248\u5bf9\u5e94\u4e00\u4e2a\u76d1\u63a7\u7c7b\u578b\uff0c\u6240\u6709\u76d1\u63a7\u7c7b\u578b\u90fd\u662f\u7531\u76d1\u63a7\u6a21\u7248\u6765\u5b9a\u4e49\u7684"),"\u3002"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},"\u76d1\u63a7\u6a21\u7248YML\u5b9a\u4e49\u4e86 ",(0,a.yg)("em",{parentName:"p"},"\u76d1\u63a7\u7c7b\u578b\u7684\u540d\u79f0(\u56fd\u9645\u5316), \u914d\u7f6e\u53c2\u6570\u6620\u5c04, \u91c7\u96c6\u6307\u6807\u4fe1\u606f, \u91c7\u96c6\u534f\u8bae\u914d\u7f6e")," \u7b49\u3002 ")),(0,a.yg)("p",null,"\u4e0b\u9762\u4f7f\u7528\u6837\u4f8b\u8be6\u7ec6\u4ecb\u7ecd\u4e0b\u8fd9\u76d1\u63a7\u6a21\u7248YML\u7684\u914d\u7f6e\u7528\u6cd5\u3002 "),(0,a.yg)("p",null,"\u6837\u4f8b\uff1a\u81ea\u5b9a\u4e49\u4e00\u4e2a ",(0,a.yg)("inlineCode",{parentName:"p"},"app")," \u540d\u79f0\u4e3a ",(0,a.yg)("inlineCode",{parentName:"p"},"example2")," \u7684\u81ea\u5b9a\u4e49\u76d1\u63a7\u7c7b\u578b\uff0c\u5176\u4f7f\u7528HTTP\u534f\u8bae\u91c7\u96c6\u6307\u6807\u6570\u636e\u3002"),(0,a.yg)("p",null,"[\u76d1\u63a7\u6a21\u7248]"," -> ","[\u65b0\u589e\u76d1\u63a7\u7c7b\u578b]"," -> ","[\u53f3\u8fb9\u914d\u7f6e\u5982\u4e0b\u76d1\u63a7\u6a21\u7248YML]"," -> ","[\u4fdd\u5b58\u5e76\u5e94\u7528]"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-yaml"},"# The monitoring type category\uff1aservice-application service monitoring db-database monitoring custom-custom monitoring os-operating system monitoring\n# \u76d1\u63a7\u7c7b\u578b\u6240\u5c5e\u7c7b\u522b\uff1aservice-\u5e94\u7528\u670d\u52a1 program-\u5e94\u7528\u7a0b\u5e8f db-\u6570\u636e\u5e93 custom-\u81ea\u5b9a\u4e49 os-\u64cd\u4f5c\u7cfb\u7edf bigdata-\u5927\u6570\u636e mid-\u4e2d\u95f4\u4ef6 webserver-web\u670d\u52a1\u5668 cache-\u7f13\u5b58 cn-\u4e91\u539f\u751f network-\u7f51\u7edc\u76d1\u63a7\u7b49\u7b49\ncategory: custom\n# The monitoring type eg: linux windows tomcat mysql aws...\n# \u76d1\u63a7\u7c7b\u578b eg: linux windows tomcat mysql aws...\napp: example2\n# The monitoring i18n name\n# \u76d1\u63a7\u7c7b\u578b\u56fd\u9645\u5316\u540d\u79f0\nname:\n zh-CN: \u6a21\u62df\u7f51\u7ad9\u76d1\u6d4b\n en-US: EXAMPLE WEBSITE\n# \u76d1\u63a7\u6240\u9700\u8f93\u5165\u53c2\u6570\u5b9a\u4e49(\u6839\u636e\u5b9a\u4e49\u6e32\u67d3\u9875\u9762UI)\n# Input params define for monitoring(render web ui by the definition)\nparams:\n # field-param field key\n # field-\u53d8\u91cf\u5b57\u6bb5\u6807\u8bc6\u7b26\n - field: host\n # name-param field display i18n name\n # name-\u53c2\u6570\u5b57\u6bb5\u663e\u793a\u540d\u79f0\n name:\n zh-CN: \u4e3b\u673aHost\n en-US: Host\n # type-param field type(most mapping the html input type)\n # type-\u5b57\u6bb5\u7c7b\u578b,\u6837\u5f0f(\u5927\u90e8\u5206\u6620\u5c04input\u6807\u7b7etype\u5c5e\u6027)\n type: host\n # required-true or false\n # required-\u662f\u5426\u662f\u5fc5\u8f93\u9879 true-\u5fc5\u586b false-\u53ef\u9009\n required: true\n # field-param field key\n # field-\u53d8\u91cf\u5b57\u6bb5\u6807\u8bc6\u7b26\n - field: port\n # name-param field display i18n name\n # name-\u53c2\u6570\u5b57\u6bb5\u663e\u793a\u540d\u79f0\n name:\n zh-CN: \u7aef\u53e3\n en-US: Port\n # type-param field type(most mapping the html input type)\n # type-\u5b57\u6bb5\u7c7b\u578b,\u6837\u5f0f(\u5927\u90e8\u5206\u6620\u5c04input\u6807\u7b7etype\u5c5e\u6027)\n type: number\n # when type is number, range is required\n # \u5f53type\u4e3anumber\u65f6,\u7528range\u8868\u793a\u8303\u56f4\n range: '[0,65535]'\n # required-true or false\n # required-\u662f\u5426\u662f\u5fc5\u8f93\u9879 true-\u5fc5\u586b false-\u53ef\u9009\n required: true\n # default value\n # \u9ed8\u8ba4\u503c\n defaultValue: 80\n # field-param field key\n # field-\u53d8\u91cf\u5b57\u6bb5\u6807\u8bc6\u7b26\n - field: uri\n # name-param field display i18n name\n # name-\u53c2\u6570\u5b57\u6bb5\u663e\u793a\u540d\u79f0\n name:\n zh-CN: \u76f8\u5bf9\u8def\u5f84\n en-US: URI\n # type-param field type(most mapping the html input tag)\n # type-\u5b57\u6bb5\u7c7b\u578b,\u6837\u5f0f(\u5927\u90e8\u5206\u6620\u5c04input\u6807\u7b7etype\u5c5e\u6027)\n type: text\n # when type is text, use limit to limit string length\n # \u5f53type\u4e3atext\u65f6,\u7528limit\u8868\u793a\u5b57\u7b26\u4e32\u9650\u5236\u5927\u5c0f\n limit: 200\n # required-true or false\n # required-\u662f\u5426\u662f\u5fc5\u8f93\u9879 true-\u5fc5\u586b false-\u53ef\u9009\n required: false\n # \u53c2\u6570\u8f93\u5165\u6846\u63d0\u793a\u4fe1\u606f\n # param field input placeholder\n placeholder: 'Website uri path(no ip port) EG:/console'\n # field-param field key\n # field-\u53d8\u91cf\u5b57\u6bb5\u6807\u8bc6\u7b26\n - field: ssl\n # name-param field display i18n name\n # name-\u53c2\u6570\u5b57\u6bb5\u663e\u793a\u540d\u79f0\n name:\n zh-CN: \u542f\u7528HTTPS\n en-US: HTTPS\n # type-param field type(most mapping the html input type)\n # type-\u5b57\u6bb5\u7c7b\u578b,\u6837\u5f0f(\u5927\u90e8\u5206\u6620\u5c04input\u6807\u7b7etype\u5c5e\u6027)\n type: boolean\n # required-true or false\n # required-\u662f\u5426\u662f\u5fc5\u8f93\u9879 true-\u5fc5\u586b false-\u53ef\u9009\n required: true\n # field-param field key\n # field-\u53d8\u91cf\u5b57\u6bb5\u6807\u8bc6\u7b26\n - field: timeout\n # name-param field display i18n name\n # name-\u53c2\u6570\u5b57\u6bb5\u663e\u793a\u540d\u79f0\n name:\n zh-CN: \u8d85\u65f6\u65f6\u95f4(ms)\n en-US: Timeout(ms)\n # type-param field type(most mapping the html input tag)\n # type-\u5b57\u6bb5\u7c7b\u578b,\u6837\u5f0f(\u5927\u90e8\u5206\u6620\u5c04input\u6807\u7b7etype\u5c5e\u6027)\n type: number\n # required-true or false\n # required-\u662f\u5426\u662f\u5fc5\u8f93\u9879 true-\u5fc5\u586b false-\u53ef\u9009\n required: false\n # hide param-true or false\n # \u662f\u5426\u9690\u85cf\u5b57\u6bb5 true or false\n hide: true\n \nmetrics:\n # metrics - summary, inner monitoring metrics (responseTime - response time, keyword - number of keywords)\n # \u76d1\u63a7\u6307\u6807 - summary, \u5185\u7f6e\u76d1\u63a7\u6307\u6807\u6709 (responseTime - \u54cd\u5e94\u65f6\u95f4, keyword - \u5173\u952e\u5b57\u6570\u91cf)\n - name: summary\n # \u6307\u6807\u8c03\u5ea6\u4f18\u5148\u7ea7(0-127)\u8d8a\u5c0f\u4f18\u5148\u7ea7\u8d8a\u9ad8,\u4f18\u5148\u7ea7\u4f4e\u7684\u6307\u6807\u4f1a\u7b49\u4f18\u5148\u7ea7\u9ad8\u7684\u6307\u6807\u91c7\u96c6\u5b8c\u6210\u540e\u624d\u4f1a\u88ab\u8c03\u5ea6,\u76f8\u540c\u4f18\u5148\u7ea7\u7684\u6307\u6807\u4f1a\u5e76\u884c\u8c03\u5ea6\u91c7\u96c6\n # metrics scheduling priority(0->127)->(high->low), metrics with the same priority will be scheduled in parallel\n # priority 0's metrics is availability metrics, it will be scheduled first, only availability metrics collect success will the scheduling continue\n # \u6307\u6807\u91c7\u96c6\u8c03\u5ea6\u4f18\u5148\u7ea7(0->127)->(\u4f18\u5148\u7ea7\u9ad8->\u4f4e) \u4f18\u5148\u7ea7\u4f4e\u7684\u6307\u6807\u4f1a\u7b49\u4f18\u5148\u7ea7\u9ad8\u7684\u6307\u6807\u91c7\u96c6\u5b8c\u6210\u540e\u624d\u4f1a\u88ab\u8c03\u5ea6, \u76f8\u540c\u4f18\u5148\u7ea7\u7684\u6307\u6807\u4f1a\u5e76\u884c\u8c03\u5ea6\u91c7\u96c6\n # \u4f18\u5148\u7ea7\u4e3a0\u7684\u6307\u6807\u4e3a\u53ef\u7528\u6027\u6307\u6807,\u5373\u5b83\u4f1a\u88ab\u9996\u5148\u8c03\u5ea6,\u91c7\u96c6\u6210\u529f\u624d\u4f1a\u7ee7\u7eed\u8c03\u5ea6\u5176\u5b83\u6307\u6807,\u91c7\u96c6\u5931\u8d25\u5219\u4e2d\u65ad\u8c03\u5ea6\n priority: 0\n # collect metrics content\n # \u5177\u4f53\u76d1\u63a7\u6307\u6807\u5217\u8868\n fields:\n # field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-if is metrics label\n # field-\u6307\u6807\u540d\u79f0, type-\u6307\u6807\u7c7b\u578b(0-number\u6570\u5b57,1-string\u5b57\u7b26\u4e32), unit-\u6307\u6807\u5355\u4f4d('%','ms','MB'), instance-\u662f\u5426\u662f\u6307\u6807\u96c6\u5408\u552f\u4e00\u6807\u8bc6\u7b26\u5b57\u6bb5\n - field: responseTime\n type: 0\n unit: ms\n - field: keyword\n type: 0\n # the protocol used for monitoring, eg: sql, ssh, http, telnet, wmi, snmp, sdk\n protocol: http\n # the config content when protocol is http\n http:\n # http host: ipv4 ipv6 domain\n host: ^_^host^_^\n # http port\n port: ^_^port^_^\n # http url\n url: ^_^uri^_^\n timeout: ^_^timeout^_^\n # http method: GET POST PUT DELETE PATCH\n method: GET\n # if enabled https\n ssl: ^_^ssl^_^\n # http response data parse type: default-hertzbeat rule, jsonpath-jsonpath script, website-for website monitoring, prometheus-prometheus exporter rule\n # http \u54cd\u5e94\u6570\u636e\u89e3\u6790\u65b9\u5f0f: default-\u7cfb\u7edf\u89c4\u5219, jsonPath-jsonPath\u811a\u672c, website-\u7f51\u7ad9\u53ef\u7528\u6027\u6307\u6807\u76d1\u63a7, prometheus-Prometheus\u6570\u636e\u89c4\u5219\n parseType: website\n\n")))}d.isMDXComponent=!0},35008:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/extend-point-1-0175fbb6d4bd1105c2596f7ccae83938.png"}}]); |