[{"data":1,"prerenderedAt":137},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fgetting-started\u002Fwhy-nafas":3,"docs-navigation":64},{"id":4,"title":5,"body":6,"description":56,"extension":57,"meta":58,"navTitle":5,"navigation":59,"path":60,"seo":61,"stem":62,"__hash__":63},"docs\u002Fdocs\u002F1.getting-started\u002F1.why-nafas.md","Why Nafas",{"type":7,"value":8,"toc":50},"minimark",[9,13,16,21,24,37,41],[10,11,12],"p",{},"Standing up observability for a small or medium ASP.NET Core service\nusually means an OTel Collector, a time-series database, and a separate\ndashboard to run and secure: real infrastructure for a problem that's\noften just \"let me see recent errors and know when something breaks.\"",[10,14,15],{},"Nafas is the alternative for that case: it lives inside your application's\nown process, stores data in a local SQLite file (or your existing SQL\nServer) by default, and needs nothing external to run.",[17,18,20],"h2",{"id":19},"what-it-doesnt-try-to-be","What it doesn't try to be",[10,22,23],{},"It is not a replacement for a full OTel\u002FPrometheus\u002FGrafana stack at scale:",[25,26,27,31,34],"ul",{},[28,29,30],"li",{},"it does not federate across services",[28,32,33],{},"it does not do long-term, high-cardinality storage",[28,35,36],{},"it does not export to other backends",[17,38,40],{"id":39},"what-its-for","What it's for",[10,42,43,44,49],{},"The case where a single self-hosted app, or a handful of them sharing a\ndatabase, needs real logs, metrics, traces, and threshold-based alerting\nwithout introducing new infrastructure to operate. If that's you, see the\n",[45,46,48],"a",{"href":47},"\u002Fdocs\u002Fgetting-started\u002Fquick-start","Quick start",".",{"title":51,"searchDepth":52,"depth":52,"links":53},"",2,[54,55],{"id":19,"depth":52,"text":20},{"id":39,"depth":52,"text":40},"Real logs, metrics, traces, and alerting for a self-hosted app, without standing up new infrastructure.","md",{},true,"\u002Fdocs\u002Fgetting-started\u002Fwhy-nafas",{"title":5,"description":56},"docs\u002F1.getting-started\u002F1.why-nafas","toC4ydYDgkjYmPXn6oeCnNSyFsTLWkVe2Stj8CO4saA",[65],{"title":66,"path":67,"stem":68,"children":69},"Docs","\u002Fdocs","docs",[70,73,86,99,112,125,133],{"title":71,"path":67,"stem":72},"Documentation","docs\u002Findex",{"title":74,"path":75,"stem":76,"children":77,"page":85},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[78,79,81],{"title":5,"path":60,"stem":62},{"title":48,"path":47,"stem":80},"docs\u002F1.getting-started\u002F2.quick-start",{"title":82,"path":83,"stem":84},"Requirements","\u002Fdocs\u002Fgetting-started\u002Frequirements","docs\u002F1.getting-started\u002F3.requirements",false,{"title":87,"path":88,"stem":89,"children":90,"page":85},"How It Works","\u002Fdocs\u002Fhow-it-works","docs\u002F2.how-it-works",[91,95],{"title":92,"path":93,"stem":94},"What gets captured, and how","\u002Fdocs\u002Fhow-it-works\u002Fwhat-gets-captured","docs\u002F2.how-it-works\u002F1.what-gets-captured",{"title":96,"path":97,"stem":98},"How it's built internally","\u002Fdocs\u002Fhow-it-works\u002Finternals","docs\u002F2.how-it-works\u002F2.internals",{"title":100,"path":101,"stem":102,"children":103,"page":85},"Configuration","\u002Fdocs\u002Fconfiguration","docs\u002F3.configuration",[104,108],{"title":105,"path":106,"stem":107},"Configuration options","\u002Fdocs\u002Fconfiguration\u002Foptions","docs\u002F3.configuration\u002F1.options",{"title":109,"path":110,"stem":111},"Security","\u002Fdocs\u002Fconfiguration\u002Fsecurity","docs\u002F3.configuration\u002F2.security",{"title":113,"path":114,"stem":115,"children":116,"page":85},"Deployment","\u002Fdocs\u002Fdeployment","docs\u002F4.deployment",[117,121],{"title":118,"path":119,"stem":120},"Multi-instance deployments","\u002Fdocs\u002Fdeployment\u002Fmulti-instance","docs\u002F4.deployment\u002F1.multi-instance",{"title":122,"path":123,"stem":124},"Desktop and other non-ASP.NET Core apps","\u002Fdocs\u002Fdeployment\u002Fdesktop-apps","docs\u002F4.deployment\u002F2.desktop-apps",{"title":126,"path":127,"stem":128,"children":129,"page":85},"Alerting","\u002Fdocs\u002Falerting","docs\u002F5.alerting",[130],{"title":126,"path":131,"stem":132},"\u002Fdocs\u002Falerting\u002Falert-rules","docs\u002F5.alerting\u002F1.alert-rules",{"title":134,"path":135,"stem":136},"Contributing","\u002Fdocs\u002Fcontributing","docs\u002F6.contributing",1789842022089]