[{"data":1,"prerenderedAt":601},["ShallowReactive",2],{"navigation_docs":3,"-monitoring-metrics":102,"-monitoring-metrics-surround":596},[4,23,37,47,61,79,93],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":22},"Getting started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Set up self-hosting","\u002Fgetting-started\u002Fself-host-setup","1.getting-started\u002F2.self-host-setup",{"title":19,"path":20,"stem":21},"Hosted setup","\u002Fgetting-started\u002Fhosted-setup","1.getting-started\u002F3.hosted-setup",false,{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":22},"Configuration","i-lucide-settings","\u002Fconfiguration","2.configuration",[29,33],{"title":30,"path":31,"stem":32},"Bot configuration","\u002Fconfiguration\u002Fbot-config","2.configuration\u002F1.bot-config",{"title":34,"path":35,"stem":36},"Plugin configuration","\u002Fconfiguration\u002Fplugin-config","2.configuration\u002F2.plugin-config",{"title":38,"icon":39,"path":40,"stem":41,"children":42,"page":22},"Commands","i-lucide-terminal","\u002Fcommands","3.commands",[43],{"title":44,"path":45,"stem":46},"Slash commands","\u002Fcommands\u002Fslash-commands","3.commands\u002F1.slash-commands",{"title":48,"icon":49,"path":50,"stem":51,"children":52,"page":22},"Monitoring","i-lucide-activity","\u002Fmonitoring","4.monitoring",[53,57],{"title":54,"path":55,"stem":56},"Expose Prometheus metrics","\u002Fmonitoring\u002Fmetrics","4.monitoring\u002F1.metrics",{"title":58,"path":59,"stem":60},"Write JSON logs","\u002Fmonitoring\u002Fjson-logs","4.monitoring\u002F2.json-logs",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":22},"Telemetry and updates","i-lucide-shield-check","\u002Fprivacy","5.privacy",[67,71,75],{"title":68,"path":69,"stem":70},"Anonymous telemetry","\u002Fprivacy\u002Ftelemetry","5.privacy\u002F1.telemetry",{"title":72,"path":73,"stem":74},"Update check","\u002Fprivacy\u002Fupdate-check","5.privacy\u002F2.update-check",{"title":76,"path":77,"stem":78},"Website analytics","\u002Fprivacy\u002Fwebsite-analytics","5.privacy\u002F3.website-analytics",{"title":80,"icon":81,"path":82,"stem":83,"children":84,"page":22},"Server setup","i-lucide-server-cog","\u002Fserver-setup","6.server-setup",[85,89],{"title":86,"path":87,"stem":88},"Setup panel","\u002Fserver-setup\u002Fsetup-panel","6.server-setup\u002F1.setup-panel",{"title":90,"path":91,"stem":92},"Game features","\u002Fserver-setup\u002Fgame-features","6.server-setup\u002F2.game-features",{"title":94,"icon":95,"path":96,"stem":97,"children":98,"page":22},"FAQ","i-lucide-circle-help","\u002Ffaq","7.faq",[99],{"title":94,"path":100,"stem":101},"\u002Ffaq\u002Ffaq","7.faq\u002F1.faq",{"id":103,"title":54,"body":104,"description":589,"extension":590,"links":591,"meta":592,"navigation":593,"path":55,"seo":594,"stem":56,"__hash__":595},"docs\u002F4.monitoring\u002F1.metrics.md",{"type":105,"value":106,"toc":585},"minimark",[107,111,116,124,234,241,267,270,371,375,581],[108,109,110],"p",{},"This page is for people who already run a monitoring tool. You can skip it otherwise. Metrics are off by default.",[112,113,115],"h2",{"id":114},"turn-metrics-on","Turn metrics on",[108,117,118,119,123],{},"Add this to the bot ",[120,121,122],"code",{},"config.json",":",[125,126,131],"pre",{"className":127,"code":128,"language":129,"meta":130,"style":130},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"metrics\": { \"enabled\": true, \"host\": \"127.0.0.1\", \"port\": 9464, \"token\": \"a-long-random-string\" }\n}\n","json","",[120,132,133,142,228],{"__ignoreMap":130},[134,135,138],"span",{"class":136,"line":137},"line",1,[134,139,141],{"class":140},"sMK4o","{\n",[134,143,145,148,152,155,157,160,163,167,169,171,174,176,179,181,183,185,189,191,194,196,199,201,203,207,209,211,214,216,218,220,223,225],{"class":136,"line":144},2,[134,146,147],{"class":140},"  \"",[134,149,151],{"class":150},"spNyl","metrics",[134,153,154],{"class":140},"\"",[134,156,123],{"class":140},[134,158,159],{"class":140}," {",[134,161,162],{"class":140}," \"",[134,164,166],{"class":165},"sBMFI","enabled",[134,168,154],{"class":140},[134,170,123],{"class":140},[134,172,173],{"class":140}," true,",[134,175,162],{"class":140},[134,177,178],{"class":165},"host",[134,180,154],{"class":140},[134,182,123],{"class":140},[134,184,162],{"class":140},[134,186,188],{"class":187},"sfazB","127.0.0.1",[134,190,154],{"class":140},[134,192,193],{"class":140},",",[134,195,162],{"class":140},[134,197,198],{"class":165},"port",[134,200,154],{"class":140},[134,202,123],{"class":140},[134,204,206],{"class":205},"sbssI"," 9464",[134,208,193],{"class":140},[134,210,162],{"class":140},[134,212,213],{"class":165},"token",[134,215,154],{"class":140},[134,217,123],{"class":140},[134,219,162],{"class":140},[134,221,222],{"class":187},"a-long-random-string",[134,224,154],{"class":140},[134,226,227],{"class":140}," }\n",[134,229,231],{"class":136,"line":230},3,[134,232,233],{"class":140},"}\n",[108,235,236,237,240],{},"The statistics are then available at ",[120,238,239],{},"\u002Fmetrics"," on that address and port. Any other address answers with \"not found\".",[242,243,244,258],"ul",{},[245,246,247,248,250,251,253,254,257],"li",{},"Keep ",[120,249,178],{}," at ",[120,252,188],{}," so only your own PC can read the numbers. ",[120,255,256],{},"0.0.0.0"," opens them to the whole network.",[245,259,260,262,263,266],{},[120,261,213],{}," is an optional password with at least 16 characters. When it is set, requests must send it as ",[120,264,265],{},"Authorization: Bearer \u003Ctoken>",".",[108,268,269],{},"Prometheus setup:",[125,271,275],{"className":272,"code":273,"language":274,"meta":130,"style":130},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","scrape_configs:\n  - job_name: discordmute\n    metrics_path: \u002Fmetrics\n    authorization:\n      type: Bearer\n      credentials: a-long-random-string\n    static_configs:\n      - targets: [\"127.0.0.1:9464\"]\n","yaml",[120,276,277,286,299,309,317,328,339,347],{"__ignoreMap":130},[134,278,279,283],{"class":136,"line":137},[134,280,282],{"class":281},"swJcz","scrape_configs",[134,284,285],{"class":140},":\n",[134,287,288,291,294,296],{"class":136,"line":144},[134,289,290],{"class":140},"  -",[134,292,293],{"class":281}," job_name",[134,295,123],{"class":140},[134,297,298],{"class":187}," discordmute\n",[134,300,301,304,306],{"class":136,"line":230},[134,302,303],{"class":281},"    metrics_path",[134,305,123],{"class":140},[134,307,308],{"class":187}," \u002Fmetrics\n",[134,310,312,315],{"class":136,"line":311},4,[134,313,314],{"class":281},"    authorization",[134,316,285],{"class":140},[134,318,320,323,325],{"class":136,"line":319},5,[134,321,322],{"class":281},"      type",[134,324,123],{"class":140},[134,326,327],{"class":187}," Bearer\n",[134,329,331,334,336],{"class":136,"line":330},6,[134,332,333],{"class":281},"      credentials",[134,335,123],{"class":140},[134,337,338],{"class":187}," a-long-random-string\n",[134,340,342,345],{"class":136,"line":341},7,[134,343,344],{"class":281},"    static_configs",[134,346,285],{"class":140},[134,348,350,353,356,358,361,363,366,368],{"class":136,"line":349},8,[134,351,352],{"class":140},"      -",[134,354,355],{"class":281}," targets",[134,357,123],{"class":140},[134,359,360],{"class":140}," [",[134,362,154],{"class":140},[134,364,365],{"class":187},"127.0.0.1:9464",[134,367,154],{"class":140},[134,369,370],{"class":140},"]\n",[112,372,374],{"id":373},"available-metrics","Available metrics",[376,377,378,391],"table",{},[379,380,381],"thead",{},[382,383,384,388],"tr",{},[385,386,387],"th",{},"Metric",[385,389,390],{},"Meaning",[392,393,394,427,437,447,457,467,485,495,505,515,525,541,551,561,571],"tbody",{},[382,395,396,402],{},[397,398,399],"td",{},[120,400,401],{},"discordmute_plugin_events_total{type}",[397,403,404,405,408,409,408,412,408,415,408,418,408,421,408,424,266],{},"Events from plugins by type: ",[120,406,407],{},"lobby",", ",[120,410,411],{},"game-start",[120,413,414],{},"meeting-start",[120,416,417],{},"meeting-end",[120,419,420],{},"player-died",[120,422,423],{},"game-end",[120,425,426],{},"link-chat",[382,428,429,434],{},[397,430,431],{},[120,432,433],{},"discordmute_games_muted_total",[397,435,436],{},"Games for which muting was started.",[382,438,439,444],{},[397,440,441],{},[120,442,443],{},"discordmute_plugins_connected",[397,445,446],{},"Plugins connected right now.",[382,448,449,454],{},[397,450,451],{},[120,452,453],{},"discordmute_active_games",[397,455,456],{},"Games in progress right now.",[382,458,459,464],{},[397,460,461],{},[120,462,463],{},"discordmute_plugin_sessions{plugin_version,game_version}",[397,465,466],{},"Connected plugins per plugin and Among Us version.",[382,468,469,474],{},[397,470,471],{},[120,472,473],{},"discordmute_mutes_total{action}",[397,475,476,477,480,481,484],{},"Mutes and unmutes (",[120,478,479],{},"mute"," or ",[120,482,483],{},"unmute",").",[382,486,487,492],{},[397,488,489],{},[120,490,491],{},"discordmute_mute_failures_total",[397,493,494],{},"Mutes and unmutes that failed.",[382,496,497,502],{},[397,498,499],{},[120,500,501],{},"discordmute_mute_latency_seconds",[397,503,504],{},"How long successful mutes and unmutes take.",[382,506,507,512],{},[397,508,509],{},[120,510,511],{},"discordmute_rate_limit_hits_total",[397,513,514],{},"Times Discord slowed the bot down.",[382,516,517,522],{},[397,518,519],{},[120,520,521],{},"discordmute_guilds",[397,523,524],{},"Discord servers the bot is in.",[382,526,527,532],{},[397,528,529],{},[120,530,531],{},"discordmute_feature_guilds{feature}",[397,533,534,535,480,538,266],{},"Servers the bot is in that have an optional feature switched on, for example ",[120,536,537],{},"ghostChat",[120,539,540],{},"serverLog",[382,542,543,548],{},[397,544,545],{},[120,546,547],{},"discordmute_cluster_guilds{cluster}",[397,549,550],{},"Servers per bot process.",[382,552,553,558],{},[397,554,555],{},[120,556,557],{},"discordmute_cluster_ws_ping_seconds{cluster}",[397,559,560],{},"Connection delay to Discord per bot process.",[382,562,563,568],{},[397,564,565],{},[120,566,567],{},"discordmute_cluster_snapshot_failures_total",[397,569,570],{},"Times a bot process did not answer a statistics request.",[382,572,573,578],{},[397,574,575],{},[120,576,577],{},"discordmute_process_resident_memory_bytes{process}",[397,579,580],{},"Memory used per process.",[582,583,584],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":130,"searchDepth":144,"depth":144,"links":586},[587,588],{"id":114,"depth":144,"text":115},{"id":373,"depth":144,"text":374},"Optional statistics about your bot for monitoring tools such as Prometheus and Grafana.","md",null,{},true,{"title":54,"description":589},"JZrlKOaqjwmgmkZMCRr5ykN2BrH8pxnrAMC_xdKtbMI",[597,599],{"title":44,"path":45,"stem":46,"description":598,"children":-1},"Link your Discord account to your Among Us name, check the connection and open the server settings.",{"title":58,"path":59,"stem":60,"description":600,"children":-1},"Make the bot write machine readable log lines for log tools such as Loki.",1793322111070]