/*! Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one or more contributor license agreements. * Licensed under the Elastic License 2.0; you may not use this file except in compliance with the Elastic License 2.0. */!function(t){function e(e){for(var n,r,i=e[0],s=e[1],a=0,u=[];a{var t;return null===(t=o)||void 0===t?void 0:t.docLinks}},function(t,e){t.exports=__kbnSharedDeps__.Rxjs},function(t,e){t.exports=__kbnSharedDeps__.RxjsOperators},function(t,e,n){"use strict";e.decode=e.parse=n(14),e.encode=e.stringify=n(15)},function(t,e,n){n(13),__kbnBundles__.define("plugin/synthetics/public",n,16)},function(t,e,n){n.p=window.__kbnPublicPath__.synthetics},function(t,e,n){"use strict";function o(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,e,n,i){e=e||"&",n=n||"=";var s={};if("string"!=typeof t||0===t.length)return s;var a=/\+/g;t=t.split(e);var c=1e3;i&&"number"==typeof i.maxKeys&&(c=i.maxKeys);var u=t.length;c>0&&u>c&&(u=c);for(var l=0;l=0?(p=y.substr(0,b),m=y.substr(b+1)):(p=y,m=""),d=decodeURIComponent(p),f=decodeURIComponent(m),o(s,d)?r(s[d])?s[d].push(f):s[d]=[s[d],f]:s[d]=f}return s};var r=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}},function(t,e,n){"use strict";var o=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}};t.exports=function(t,e,n,a){return e=e||"&",n=n||"=",null===t&&(t=void 0),"object"==typeof t?i(s(t),(function(s){var a=encodeURIComponent(o(s))+n;return r(t[s])?i(t[s],(function(t){return a+encodeURIComponent(o(t))})).join(e):a+encodeURIComponent(o(t[s]))})).join(e):a?encodeURIComponent(o(a))+n+encodeURIComponent(o(t)):""};var r=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function i(t,e){if(t.map)return t.map(e);for(var n=[],o=0;o`${t}: "${e}"`,p={id:u.uptimeOverviewLocatorID,getLocation:async function({ip:t,host:e,container:n,pod:o}){const r=[];e&&r.push(l("host.name",e)),n&&r.push(l("container.id",n)),o&&r.push(l("kubernetes.pod.uid",o)),t&&(r.push(l("host.ip",t)),r.push(l("monitor.ip",t)));const i=r.join(" OR ");return{app:"uptime",path:0===r.length?c.p:c.p+`?search=${i}`,state:{}}}};var m=n(3);const d=[p,{id:m.syntheticsMonitorDetailLocatorID,getLocation:async function({configId:t,locationId:e}){return{app:"synthetics",path:`/monitor/${t}${e?`?locationId=${e}`:""}`,state:{}}}},{id:m.syntheticsEditMonitorLocatorID,getLocation:async function({configId:t}){return{app:"synthetics",path:`/edit-monitor/${t}`,state:{}}}},{id:m.syntheticsSettingsLocatorID,getLocation:async function(){return{app:"synthetics",path:"/settings",state:{}}}}];var f=n(8),y=n(2),b=n.n(y);const _="kibana.alert.reason",g=(Object.values({APM:"apm",LOGS:"logs",INFRASTRUCTURE:"infrastructure",OBSERVABILITY:"observability",SLO:"slo",SIEM:"siem",UPTIME:"uptime"}).map((t=>t)),{defaultActionMessage:i.i18n.translate("xpack.synthetics.alerts.syntheticsMonitorStatus.defaultActionMessage",{defaultMessage:'"{monitorName}" is {status} from {locationName}. - Elastic Synthetics\n\nDetails:\n\n- Monitor name: {monitorName} \n- {monitorUrlLabel}: {monitorUrl} \n- Monitor type: {monitorType} \n- Checked at: {checkedAt} \n- From: {locationName} \n- Error received: {lastErrorMessage} \n{linkMessage}',values:{monitorName:"{{context.monitorName}}",monitorType:"{{context.monitorType}}",monitorUrl:"{{{context.monitorUrl}}}",monitorUrlLabel:"{{context.monitorUrlLabel}}",status:"{{{context.status}}}",lastErrorMessage:"{{{context.lastErrorMessage}}}",locationName:"{{context.locationName}}",checkedAt:"{{context.checkedAt}}",linkMessage:"{{{context.linkMessage}}}"}}),defaultSubjectMessage:i.i18n.translate("xpack.synthetics.alerts.syntheticsMonitorStatus.defaultSubjectMessage",{defaultMessage:'"{monitorName}" ({locationName}) is down - Elastic Synthetics',values:{monitorName:"{{context.monitorName}}",locationName:"{{context.locationName}}"}}),defaultRecoverySubjectMessage:i.i18n.translate("xpack.synthetics.alerts.syntheticsMonitorStatus.defaultRecoverySubjectMessage",{defaultMessage:'"{monitorName}" ({locationName}) {recoveryStatus} - Elastic Synthetics',values:{recoveryStatus:"{{context.recoveryStatus}}",locationName:"{{context.locationName}}",monitorName:"{{context.monitorName}}"}}),defaultRecoveryMessage:i.i18n.translate("xpack.synthetics.alerts.syntheticsMonitorStatus.defaultRecoveryMessage",{defaultMessage:'The alert for "{monitorName}" from {locationName} is no longer active: {recoveryReason}. - Elastic Synthetics\n\nDetails:\n\n- Monitor name: {monitorName} \n- {monitorUrlLabel}: {monitorUrl} \n- Monitor type: {monitorType} \n- From: {locationName} \n- Last error received: {lastErrorMessage} \n{linkMessage}',values:{monitorName:"{{context.monitorName}}",monitorUrlLabel:"{{context.monitorUrlLabel}}",monitorUrl:"{{{context.monitorUrl}}}",monitorType:"{{context.monitorType}}",locationName:"{{context.locationName}}",recoveryReason:"{{context.recoveryReason}}",lastErrorMessage:"{{{context.lastErrorMessage}}}",linkMessage:"{{{context.linkMessage}}}"}}),name:i.i18n.translate("xpack.synthetics.alerts.syntheticsMonitorStatus.clientName",{defaultMessage:"Monitor status"}),description:i.i18n.translate("xpack.synthetics.alerts.syntheticsMonitorStatus.description",{defaultMessage:"Alert when a monitor is down."})}),h={defaultActionMessage:i.i18n.translate("xpack.synthetics.rules.tls.defaultActionMessage",{defaultMessage:"TLS certificate {commonName} {status} - Elastic Synthetics\n\nDetails:\n\n- Summary: {summary}\n- Common name: {commonName}\n- Issuer: {issuer}\n- Monitor: {monitorName} \n- Monitor URL: {monitorUrl} \n- Monitor type: {monitorType} \n- From: {locationName}",values:{commonName:"{{context.commonName}}",issuer:"{{context.issuer}}",summary:"{{context.summary}}",status:"{{context.status}}",monitorName:"{{context.monitorName}}",monitorUrl:"{{{context.monitorUrl}}}",monitorType:"{{context.monitorType}}",locationName:"{{context.locationName}}"}}),defaultRecoveryMessage:i.i18n.translate("xpack.synthetics.rules.tls.defaultRecoveryMessage",{defaultMessage:'TLS alert for monitor "{monitorName}" has recovered - Elastic Synthetics\n\nDetails:\n\n- Summary: {summary}\n- New status : {newStatus}\n- Previous status: {previousStatus}\n- Monitor: {monitorName} \n- URL: {monitorUrl} \n- Monitor type: {monitorType} \n- From: {locationName}',values:{summary:"{{context.summary}}",previousStatus:"{{context.previousStatus}}",newStatus:"{{context.newStatus}}",monitorName:"{{context.monitorName}}",monitorUrl:"{{{context.monitorUrl}}}",monitorType:"{{context.monitorType}}",locationName:"{{context.locationName}}"}}),name:i.i18n.translate("xpack.synthetics.rules.tls.clientName",{defaultMessage:"Synthetics TLS"}),description:i.i18n.translate("xpack.synthetics.rules.tls.description",{defaultMessage:"Alert when the TLS certificate of a Synthetics monitor is about to expire."}),defaultSubjectMessage:i.i18n.translate("xpack.synthetics.alerts.syntheticsMonitorTLS.defaultSubjectMessage",{defaultMessage:"Alert triggered for certificate {commonName} - Elastic Synthetics",values:{commonName:"{{context.commonName}}"}}),defaultRecoverySubjectMessage:i.i18n.translate("xpack.synthetics.alerts.syntheticsMonitorTLS.defaultRecoverySubjectMessage",{defaultMessage:"Alert has resolved for certificate {commonName} - Elastic Synthetics",values:{commonName:"{{context.commonName}}"}})};var v=n(4);let S;const{defaultActionMessage:x,defaultRecoveryMessage:O,description:k}=h,M=b.a.lazy((()=>Promise.all([n.e(0),n.e(1),n.e(6)]).then(n.bind(null,351))));var P=n(11);const j=({configId:t,stateId:e,locationId:n})=>(({pathname:t,query:e})=>`${t}?${Object(P.stringify)(e)}`)({pathname:encodeURI(`/app/synthetics/monitor/${t}/errors/${e}`),query:{locationId:n}}),{defaultActionMessage:I,defaultRecoveryMessage:N,description:T}=g,D=b.a.lazy((()=>Promise.all([n.e(0),n.e(1),n.e(5)]).then(n.bind(null,347)))),R=[({core:t,plugins:e})=>({id:v.a.MONITOR_STATUS,description:T,iconClass:"uptimeApp",documentationUrl:t=>`${t.links.observability.monitorStatus}`,ruleParamsExpression:n=>b.a.createElement(D,{core:t,plugins:e,params:n}),validate:t=>({errors:{}}),defaultActionMessage:I,defaultRecoveryMessage:N,requiresAppContext:!0,format:({fields:t})=>({reason:t[_]||"",link:j({configId:t.configId,locationId:t["location.id"],stateId:t["monitor.state.id"]})})}),({core:t,plugins:e})=>({id:v.a.TLS,iconClass:"uptimeApp",documentationUrl:t=>`${t.links.observability.tlsCertificate}`,ruleParamsExpression:n=>b.a.createElement(M,{core:t,plugins:e,ruleParams:n.ruleParams,setRuleParams:n.setRuleParams}),description:k,validate:t=>(S||async function(){const{validateTLSAlertParams:t}=await Promise.all([n.e(0),n.e(4)]).then(n.bind(null,352));S=t}(),S?S(t):{}),defaultActionMessage:x,defaultRecoveryMessage:O,requiresAppContext:!0,format:({fields:t})=>({reason:t[_]||"",link:`/app/synthetics${c.a}`})})];class plugin_UptimePlugin{constructor(t){this.initContext=t}setup(t,e){d.forEach((t=>{e.share.url.locators.create(t)})),function(t,e){e.observabilityShared.navigation.registerSections(Object(o.from)(t.getStartServices()).pipe(Object(r.map)((([t])=>t.application.capabilities.uptime.show?[{label:"Synthetics",sortKey:499,entries:[{label:i.i18n.translate("xpack.synthetics.overview.SyntheticsHeading",{defaultMessage:"Monitors"}),app:"synthetics",path:c.p,matchFullPath:!0,ignoreTrailingSlash:!0,isNewFeature:!0},{label:i.i18n.translate("xpack.synthetics.certificatesPage.heading",{defaultMessage:"TLS Certificates"}),app:"synthetics",path:"/certificates",matchFullPath:!0}]}]:[]))))}(t,e),t.application.register({id:"synthetics",euiIconType:"logoObservability",order:8400,title:a.a.SYNTHETICS,category:s.DEFAULT_APP_CATEGORIES.observability,keywords:["Synthetics","availability","browser","checks","digital","reachability","reachable","response duration","response time","monitors","outside in","performance","pings","web performance","web perf"],deepLinks:[],mount:async o=>{const[r,i]=await t.getStartServices(),{renderApp:s}=await Promise.all([n.e(0),n.e(1),n.e(3)]).then(n.bind(null,350));return s(r,e,i,o,this.initContext.env.mode.dev)}})}start(t,e){const{triggersActionsUi:n}=e;Object(f.b)(t),R.forEach((o=>{const{observabilityRuleTypeRegistry:r}=e.observability,i=o({core:t,plugins:e});n.ruleTypeRegistry.has(i.id)||r.register(i)}))}stop(){}}const E=t=>new plugin_UptimePlugin(t)},function(t,e){t.exports=__kbnSharedDeps__.ElasticEui},function(t,e){t.exports=__kbnSharedDeps__.StyledComponents},function(t,e,n){n.r(e);var o=__kbnBundles__.get("plugin/kibanaReact/public");Object.defineProperties(e,Object.getOwnPropertyDescriptors(o))},function(t,e){t.exports=__kbnSharedDeps__.TsLib},function(t,e,n){n.r(e);var o=__kbnBundles__.get("plugin/observabilityShared/public");Object.defineProperties(e,Object.getOwnPropertyDescriptors(o))},function(t,e){t.exports=__kbnSharedDeps__.ReactRouterDom},function(t,e){t.exports=__kbnSharedDeps__.KbnI18nReact},function(t,e){t.exports=__kbnSharedDeps__.IoTs},function(t,e){t.exports=__kbnSharedDeps__.Moment},function(t,e,n){n.r(e);var o=__kbnBundles__.get("plugin/kibanaReact/common");Object.defineProperties(e,Object.getOwnPropertyDescriptors(o))},function(t,e,n){n.r(e);var o=__kbnBundles__.get("plugin/exploratoryView/public");Object.defineProperties(e,Object.getOwnPropertyDescriptors(o))},function(t,e){t.exports=__kbnSharedDeps_npm__},function(t,e){t.exports=__kbnSharedDeps__.Lodash},function(t,e){t.exports=__kbnSharedDeps__.ElasticCharts},function(t,e){t.exports=__kbnSharedDeps__.EmotionReact},function(t,e){t.exports=__kbnSharedDeps__.ReactDom},function(t,e){t.exports=__kbnSharedDeps__.KbnDatemath},function(t,e,n){n.r(e);var o=__kbnBundles__.get("plugin/observabilityShared/common");Object.defineProperties(e,Object.getOwnPropertyDescriptors(o))},function(t,e){t.exports=__kbnSharedDeps__.ReactRouterDomV5Compat},function(t,e,n){n.r(e);var o=__kbnBundles__.get("plugin/observabilityAIAssistant/public");Object.defineProperties(e,Object.getOwnPropertyDescriptors(o))},function(t,e){t.exports=__kbnSharedDeps__.LodashFp},function(t,e){t.exports=__kbnSharedDeps__.ElasticEuiChartsTheme},function(t,e,n){n.r(e);var o=__kbnBundles__.get("plugin/security/public");Object.defineProperties(e,Object.getOwnPropertyDescriptors(o))},function(t,e,n){n.r(e);var o=__kbnBundles__.get("plugin/fleet/common");Object.defineProperties(e,Object.getOwnPropertyDescriptors(o))},function(t,e,n){n.r(e);var o=__kbnBundles__.get("plugin/kibanaUtils/public");Object.defineProperties(e,Object.getOwnPropertyDescriptors(o))},function(t,e,n){n.r(e);var o=__kbnBundles__.get("plugin/data/common");Object.defineProperties(e,Object.getOwnPropertyDescriptors(o))},function(t,e){t.exports=__kbnSharedDeps__.KbnUiTheme},function(t,e){t.exports=__kbnSharedDeps__.KbnRison},function(t,e){t.exports=__kbnSharedDeps__.Uuid},function(t,e){t.exports=__kbnSharedDeps__.ElasticEuiLibServicesFormat},function(t,e,n){n.r(e);var o=__kbnBundles__.get("plugin/indexLifecycleManagement/public");Object.defineProperties(e,Object.getOwnPropertyDescriptors(o))},function(t,e,n){n.r(e);var o=__kbnBundles__.get("plugin/spaces/common");Object.defineProperties(e,Object.getOwnPropertyDescriptors(o))},function(t,e,n){n.r(e);var o=__kbnBundles__.get("plugin/triggersActionsUi/public");Object.defineProperties(e,Object.getOwnPropertyDescriptors(o))}]);