1"use strict";(self.webpackChunkwasmcloud_com=self.webpackChunkwasmcloud_com||[]).push([["2033"],{50065:function(e,s,n){n.d(s,{Z:()=>t,a:()=>o});var i=n(67294);let l={},r=i.createContext(l);function o(e){let s=i.useContext(r);return i.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),i.createElement(r.Provider,{value:s},e.children)}},88818:function(e,s,n){n.r(s),n.d(s,{frontMatter:()=>o,default:()=>h,contentTitle:()=>t,assets:()=>a,toc:()=>c,metadata:()=>i});var i=JSON.parse('{"id":"deployment/recovery/index","title":"Recovering from failure","description":"If you run into an error when operating wasmCloud, the first step is to diagnose the problem. Typically, this will mean checking three sources of information:","source":"@site/versioned_docs/version-v1/deployment/recovery/index.mdx","sourceDirName":"deployment/recovery","slug":"/deployment/recovery/","permalink":"/docs/v1/deployment/recovery/","draft":false,"unlisted":false,"editUrl":"https://github.com/wasmCloud/wasmcloud.com/edit/main/versioned_docs/version-v1/deployment/recovery/index.mdx","tags":[],"version":"v1","lastUpdatedBy":"Liam Randall","lastUpdatedAt":1781115786000,"frontMatter":{"title":"Recovering from failure","proficiency":"Intermediate","about":"wasmCloud","mentions":["NATS","wadm","Kubernetes"],"platforms":["wasmCloud","Kubernetes"]},"sidebar":"tutorialSidebar","previous":{"title":"OCI Registries","permalink":"/docs/v1/deployment/netconf/registries"},"next":{"title":"Examples","permalink":"/docs/v1/examples/"}}'),l=n(85893),r=n(50065);let o={title:"Recovering from failure",proficiency:"Intermediate",about:"wasmCloud",mentions:["NATS","wadm","Kubernetes"],platforms:["wasmCloud","Kubernetes"]},t=void 0,a={},c=[{value:"Troubleshooting on Kubernetes",id:"troubleshooting-on-kubernetes",level:2},{value:"Observing NATS",id:"observing-nats",level:2}];function d(e){let s={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",span:"span",ul:"ul",...(0,r.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.p,{children:"If you run into an error when operating wasmCloud, the first step is to diagnose the problem. Typically, this will mean checking three sources of information:"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["Logs for the ",(0,l.jsx)(s.a,{href:"/docs/v1/concepts/hosts/",children:"wasmCloud host"})," process"]}),"\n",(0,l.jsxs)(s.li,{children:["Logs for the ",(0,l.jsxs)(s.a,{href:"/docs/v1/ecosystem/wadm/",children:["wasmCloud Application Deployment Manager (",(0,l.jsx)(s.code,{children:"wadm"}),")"]})," process"]}),"\n",(0,l.jsxs)(s.li,{children:["Activity on ",(0,l.jsx)(s.a,{href:"/docs/v1/ecosystem/nats/",children:"NATS"})]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"troubleshooting-on-kubernetes",children:"Troubleshooting on Kubernetes"}),"\n",(0,l.jsxs)(s.p,{children:["When deploying ",(0,l.jsx)(s.a,{href:"/docs/v1/deployment/k8s/",children:"wasmCloud on Kubernetes"}),", you can access logs for wasmCloud hosts and ",(0,l.jsx)(s.code,{children:"wadm"})," with ",(0,l.jsx)(s.code,{children:"kubectl"}),"."]}),"\n",(0,l.jsxs)(s.p,{children:["To check logs for ",(0,l.jsx)(s.code,{children:"wadm"}),":"]}),"\n",(0,l.jsx)(l.Fragment,{children:(0,l.jsx)(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{backgroundColor:"#fff","--shiki-dark-bg":"#24292e",color:"#24292e","--shiki-dark":"#e1e4e8"},tabIndex:"0",children:(0,l.jsx)(s.code,{className:"language-shell",children:(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#6F42C1","--shiki-dark":"#B392F0"},children:"kubectl"}),(0,l.jsx)(s.span,{style:{color:"#032F62","--shiki-dark":"#9ECBFF"},children:" logs"}),(0,l.jsx)(s.span,{style:{color:"#005CC5","--shiki-dark":"#79B8FF"},children:" -f"}),(0,l.jsx)(s.span,{style:{color:"#005CC5","--shiki-dark":"#79B8FF"},children:" -l"}),(0,l.jsx)(s.span,{style:{color:"#032F62","--shiki-dark":"#9ECBFF"},children:" app.kubernetes.io/instance=wadm"}),(0,l.jsx)(s.span,{style:{color:"#005CC5","--shiki-dark":"#79B8FF"},children:" -c"}),(0,l.jsx)(s.span,{style:{color:"#032F62","--shiki-dark":"#9ECBFF"},children:" wadm"})]})})})}
1),"\n",(0,l.jsx)(s.p,{children:"To check logs for a wasmCloud host:"}),"\n",(0,l.jsx)(l.Fragment,{children:(0,l.jsx)(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{backgroundColor:"#fff","--shiki-dark-bg":"#24292e",color:"#24292e","--shiki-dark":"#e1e4e8"},tabIndex:"0",children:(0,l.jsx)(s.code,{className:"language-shell",children:(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#6F42C1","--shiki-dark":"#B392F0"},children:"kubectl"}),(0,l.jsx)(s.span,{style:{color:"#032F62","--shiki-dark":"#9ECBFF"},children:" logs"}),(0,l.jsx)(s.span,{style:{color:"#005CC5","--shiki-dark":"#79B8FF"},children:" -f"}),(0,l.jsx)(s.span,{style:{color:"#005CC5","--shiki-dark":"#79B8FF"},children:" -l"}),(0,l.jsx)(s.span,{style:{color:"#032F62","--shiki-dark":"#9ECBFF"},children:" app.kubernetes.io/instance=my-wasmcloud-cluster"}),(0,l.jsx)(s.span,{style:{color:"#005CC5","--shiki-dark":"#79B8FF"},children:" -c"}),(0,l.jsx)(s.span,{style:{color:"#032F62","--shiki-dark":"#9ECBFF"},children:" wasmcloud-host"})]})})})}),"\n",(0,l.jsx)(s.h2,{id:"observing-nats",children:"Observing NATS"}),"\n",(0,l.jsxs)(s.p,{children:["You can observe ",(0,l.jsx)(s.a,{href:"/docs/v1/ecosystem/nats/",children:"NATS"})," activity using the NATS CLI. Installation instructions for the CLI are available on the ",(0,l.jsx)(s.a,{href:"https://github.com/nats-io/natscli",children:"NATS CLI GitHub repo"}),"."]}),"\n",(0,l.jsx)(s.p,{children:"To list all streams on the NATS network:"}),"\n",(0,l.jsx)(l.Fragment,{children:(0,l.jsx)(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{backgroundColor:"#fff","--shiki-dark-bg":"#24292e",color:"#24292e","--shiki-dark":"#e1e4e8"},tabIndex:"0",children:(0,l.jsx)(s.code,{className:"language-shell",children:(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#6F42C1","--shiki-dark":"#B392F0"},children:"nats"}),(0,l.jsx)(s.span,{style:{color:"#032F62","--shiki-dark":"#9ECBFF"},children:" stream"}),(0,l.jsx)(s.span,{style:{color:"#032F62","--shiki-dark":"#9ECBFF"},children:" list"})]})})})}),"\n",(0,l.jsx)(s.p,{children:"The listed streams for a wasmCloud lattice will include:"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.code,{children:"wadm_commands"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.code,{children:"wadm_events"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.code,{children:"wadm_mirror"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.code,{children:"wadm_notify"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.code,{children:"wadm_status"})}),"\n"]}),"\n",(0,l.jsx)(s.p,{children:"To list all key-value buckets on the NATS instance:"}),"\n",(0,l.jsx)(l.Fragment,{children:(0,l.jsx)(s.pre,{className:"shiki shiki-themes github-light github-dark",style:{backgroundColor:"#fff","--shiki-dark-bg":"#24292e",color:"#24292e","--shiki-dark":"#e1e4e8"},tabIndex:"0",children:(0,l.jsx)(s.code,{className:"language-shell",children:(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#6F42C1","--shiki-dark":"#B392F0"},children:"nats"}),(0,l.jsx)(s.span,{style:{color:"#032F62","--shiki-dark":"#9ECBFF"},children:" kv"}),(0,l.jsx)(s.span,{style:{color:"#032F62","--shiki-dark":"#9ECBFF"},children:" list"})]})})})}),"\n",(0,l.jsx)(s.p,{children:"The listed key-value buckets for wasmCloud will include:"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.code,{children:"CONFIGDATA_default"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.code,{children:"wadm_manifests"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.code,{children:"wadm_state"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.code,{children:"LATTICEDATA_default"})}),"\n"]})]})}function h(e={}){let{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(d,{...e})}):d(e)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.