diff --git a/docs/_static/css/main.css b/docs/_static/css/main.css index d4c66caa..7ba582ea 100644 --- a/docs/_static/css/main.css +++ b/docs/_static/css/main.css @@ -1 +1,2 @@ :root{--blue: #005dab;--primary-blue: #063b67;--secondary-blue: #074e8a;--text-blue: #063b67;--light-blue: #EEF8FF;--light-blue-clear: #F8FCFF;--aqua: #51B3DB;--primary-orange: #FF7101;--hover-orange: #FF8201;--light-orange: #f2a557;--grey: #F5F6F8;--grey-border: #D9E7F3;--light-grey-sidebar: #E5EAF0;--message-success: #4bb52d;--message-success-bg: #E3F6CF;--message-success-text: #0D3D00;--message-danger: #D10000;--message-danger-bg: #FAE5E8;--message-danger-text: #6A0000;--message-warning: #DC7500;--message-warning-bg: #FFF1ED;--message-warning-text: #9C3900;--message-info: #074E8A;--message-info-bg: #E7F2F8;--message-info-text: #063b67;--cc-btn-primary-bg: var(--primary-blue);--cc-btn-secondary-text: var(--primary-blue)}.rst-content section ul{line-height:auto}code,pre,pre span,span.pre,.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:"Ubuntu Mono",monospace}ul.simple li code,code.docutils.literal.notranslate{border:none;width:max-content;font-size:13px;padding:10px;margin:10px 0;border-radius:8px;background:#292d3e}ul.simple li code.literal,code.docutils.literal.notranslate.literal{color:var(--aqua)}code.docutils.literal.notranslate{background:#efefef;padding:2px 6px}code.docutils.literal.notranslate.literal{color:var(--blue)}.rst-content div.notranslate{border:none}.rst-content div.notranslate .highlight{font-family:"Ubuntu Mono",monospace;font-size:16px;padding:10px;line-height:24px;margin:10px 0;border-radius:8px;background-color:#292d3e;color:#d9e7f3}.rst-content div.notranslate .highlight .c1{color:var(--message-warning)}.rst-content div.notranslate .highlight .mi,.rst-content div.notranslate .highlight .o,.rst-content div.notranslate .highlight .mf{color:#e4e4e4}.rst-content div.notranslate .highlight .s,.rst-content div.notranslate .highlight .n,.rst-content div.notranslate .highlight .nb,.rst-content div.notranslate .highlight .na,.rst-content div.notranslate .highlight .s1{color:var(--aqua)}.rst-content div.notranslate .highlight .s1{color:var(--light-orange)}.rst-content div.notranslate .highlight .k,.rst-content div.notranslate .highlight .nv,.rst-content div.notranslate .highlight .m,.rst-content div.notranslate .highlight .vg,.rst-content div.notranslate .highlight .p{color:#d9e7f3}.rst-content div.highlight pre{font-size:14px}.btn,.btn-neutral{background:#fff;background-color:#fff !important;border:1px solid var(--primary-orange);font-weight:600;font-size:12px;max-width:110px;padding:0 15px;color:var(--primary-orange) !important}.btn .fa,.btn-neutral .fa{display:none}.btn:visited,.btn-neutral:visited{color:var(--primary-orange) !important}.btn:hover,.btn-neutral:hover{opacity:1}.btn:active{padding:0 15px}.rst-content .btn:focus{outline:0px solid}.btn-orange{background-color:var(--primary-orange) !important;color:#fff !important}.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning{padding:25px 20px 12px 20px;margin:20px 0;border-radius:4px}.rst-content .note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .warning .admonition-title{background:rgba(0,0,0,0);font-size:16px;padding:0;padding-left:12px;margin-bottom:6px}.rst-content .note p,.rst-content .note a,.rst-content .note li,.rst-content .attention p,.rst-content .attention a,.rst-content .attention li,.rst-content .caution p,.rst-content .caution a,.rst-content .caution li,.rst-content .danger p,.rst-content .danger a,.rst-content .danger li,.rst-content .error p,.rst-content .error a,.rst-content .error li,.rst-content .hint p,.rst-content .hint a,.rst-content .hint li,.rst-content .important p,.rst-content .important a,.rst-content .important li,.rst-content .tip p,.rst-content .tip a,.rst-content .tip li,.rst-content .warning p,.rst-content .warning a,.rst-content .warning li{font-size:13px}.rst-content .note ul,.rst-content .note ol,.rst-content .attention ul,.rst-content .attention ol,.rst-content .caution ul,.rst-content .caution ol,.rst-content .danger ul,.rst-content .danger ol,.rst-content .error ul,.rst-content .error ol,.rst-content .hint ul,.rst-content .hint ol,.rst-content .important ul,.rst-content .important ol,.rst-content .tip ul,.rst-content .tip ol,.rst-content .warning ul,.rst-content .warning ol{margin-bottom:6px}.rst-content .note ul li,.rst-content .note ol li,.rst-content .attention ul li,.rst-content .attention ol li,.rst-content .caution ul li,.rst-content .caution ol li,.rst-content .danger ul li,.rst-content .danger ol li,.rst-content .error ul li,.rst-content .error ol li,.rst-content .hint ul li,.rst-content .hint ol li,.rst-content .important ul li,.rst-content .important ol li,.rst-content .tip ul li,.rst-content .tip ol li,.rst-content .warning ul li,.rst-content .warning ol li{line-height:1.6}.rst-content .note ul li p,.rst-content .note ol li p,.rst-content .attention ul li p,.rst-content .attention ol li p,.rst-content .caution ul li p,.rst-content .caution ol li p,.rst-content .danger ul li p,.rst-content .danger ol li p,.rst-content .error ul li p,.rst-content .error ol li p,.rst-content .hint ul li p,.rst-content .hint ol li p,.rst-content .important ul li p,.rst-content .important ol li p,.rst-content .tip ul li p,.rst-content .tip ol li p,.rst-content .warning ul li p,.rst-content .warning ol li p{line-height:inherit}.rst-content .note{background:var(--message-info-bg)}.rst-content .note p{color:var(--message-info-text)}.rst-content .note .admonition-title{color:var(--message-info-text)}.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .important{background:var(--message-warning-bg)}.rst-content .attention p,.rst-content .caution p,.rst-content .warning p,.rst-content .important p{color:var(--message-warning-text)}.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .warning .admonition-title,.rst-content .important .admonition-title{color:var(--message-warning-text)}.rst-content .danger,.rst-content .error{background:var(--message-danger-bg)}.rst-content .danger p,.rst-content .error p{color:var(--message-danger-text)}.rst-content .danger .admonition-title,.rst-content .error .admonition-title{color:var(--message-danger-text)}.rst-content .hint,.rst-content .tip{background:var(--message-success-bg)}.rst-content .hint p,.rst-content .tip p{color:var(--message-success-text)}.rst-content .hint .admonition-title,.rst-content .tip .admonition-title{color:var(--message-success-text)}h1,h2,h3,h4,span{font-family:"Montserrat",sans-serif}span,p,div{color:#404040}@media(max-width: 768px){p{font-size:17px;line-height:26px}}.rst-content table.docutils thead th p,.rst-content table.docutils thead th a,.rst-content table.docutils thead td p,.rst-content table.docutils thead td a,.rst-content table.field-list thead th p,.rst-content table.field-list thead th a,.rst-content table.field-list thead td p,.rst-content table.field-list thead td a,.wy-table thead th p,.wy-table thead th a,.wy-table thead td p,.wy-table thead td a{font-size:inherit;font-weight:inherit;line-height:inherit}a{text-decoration:none}a:hover:not(.logo-title){opacity:.7}a:visited{color:var(--primary-blue)}a.ahref-blue{text-decoration:underline;color:var(--primary-blue)}a.ahref-orange{text-decoration:underline;color:var(--primary-orange)}h1{font-size:40px;line-height:inherit;margin:40px 0}h2{font-size:32px;line-height:1.2em;margin-top:40px}@media(max-width: 768px){h2{font-size:22px}}section{scroll-margin-top:120px}.wy-side-nav-search a:visited{color:#fff !important}.wy-grid-for-nav{display:grid;grid-template-columns:300px 900px 300px;justify-content:center;position:relative;margin-top:80px}@media(max-width: 1442px){.wy-grid-for-nav{display:grid;grid-template-columns:300px 700px 200px;justify-content:center}}@media(max-width: 1200px){.wy-grid-for-nav{grid-template-columns:300px auto}}@media(max-width: 1024px){.wy-grid-for-nav{display:block}}.wy-nav-content-wrap{background:#fcfcfc}@media(max-width: 1024px){.wy-nav-content-wrap{margin-left:0}}@media(max-width: 1024px){.wy-nav-content-wrap.shift{left:0}}@media(max-width: 768px){.wy-nav-content-wrap.shift{position:inherit;top:inherit}}.wy-nav-top{background:rgba(0,0,0,0);color:var(--primary-blue)}.wy-nav-top i{font-size:20px}.wy-nav-top .menu-hamburger{position:relative;width:20px;height:20px;top:0;left:0;transition-duration:.5s}.wy-nav-top .menu-hamburger .icon{transition-duration:.5s;position:absolute;height:100%;width:100%;top:0;left:0}.wy-nav-top .menu-hamburger .icon:before{transition-duration:.5s;position:absolute;width:20px;height:2px;background-color:var(--primary-blue);content:"";top:0px;left:0}.wy-nav-top .menu-hamburger .icon:after{transition-duration:.5s;position:absolute;width:20px;height:2px;background-color:var(--primary-blue);content:"";top:10px;left:0}@media(max-width: 1024px){.wy-nav-top{display:block;position:fixed;top:72px;left:10px;z-index:100}}@media(max-width: 1024px)and (max-width: 420px){.wy-nav-top{top:102px}}.wy-nav-content-wrap.shift .wy-nav-top .menu-hamburger .icon{transition-duration:.5s}.wy-nav-content-wrap.shift .wy-nav-top .menu-hamburger .icon:before{transform:rotateZ(135deg) scaleX(1.05) translate(4px, -4.5px)}.wy-nav-content-wrap.shift .wy-nav-top .menu-hamburger .icon:after{transform:rotateZ(-135deg) scaleX(1.05) translate(2px, 2.9px)}.wy-nav-content{max-width:1200px;padding:20px;height:auto}.wy-nav-content-wrap{margin-left:0}.wy-side-scroll{height:auto}@media(max-width: 1024px){.wy-side-scroll{width:auto}}.wy-side-nav-search{top:0;width:1500px;height:72px;margin-left:auto;margin-right:auto;margin-bottom:0;background-color:rgba(0,0,0,0);padding:0;display:grid;grid-template-columns:300px 1fr 300px;justify-content:center;align-items:center}.wy-side-nav-search .search-bar-container{width:300px}@media(max-width: 768px){.wy-side-nav-search .search-bar-container{width:200px}}@media(max-width: 420px){.wy-side-nav-search .search-bar-container{width:90%;grid-area:2/span 2;justify-self:center}}.wy-side-nav-search a.icon{display:flex}@media(max-width: 1442px){.wy-side-nav-search{display:grid;grid-template-columns:300px 1fr 300px;justify-content:center}}@media(max-width: 1024px){.wy-side-nav-search{width:100%}}@media(max-width: 1200px){.wy-side-nav-search{grid-template-columns:300px 1fr 300px;justify-content:flex-start}}@media(max-width: 768px){.wy-side-nav-search{grid-template-columns:200px 1fr 100px}}@media(max-width: 420px){.wy-side-nav-search{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;height:90px}}.wy-menu-vertical{height:calc(100vh - 60px);overflow-y:scroll;position:fixed;top:122px;padding-bottom:60px;padding-top:5px;background-color:#fff}@media(max-width: 420px){.wy-menu-vertical{top:140px}}.wy-nav-side{position:sticky;top:0;background:inherit;z-index:10}@media(max-width: 1024px){.wy-nav-side{width:300px;left:-300px}}@media(max-width: 1024px){.wy-nav-side .wy-menu-vertical{left:-300px;width:300px;transition:.2s ease-in-out}}@media(max-width: 768px){.wy-nav-side.shift{width:300px;left:-300px}}@media(max-width: 1024px){.wy-nav-side.shift .wy-menu-vertical{transition:.2s ease-in-out;left:0}}.wy-menu-vertical p.caption{color:var(--primary-blue);padding:0 20px}.wy-menu-vertical a{color:var(--text-blue)}.wy-menu-vertical li.current>a{color:var(--primary-orange);scroll-margin-top:10px}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l2.current>a{background:#f5f5f5}.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l3.current>a{background:#ebebeb}.wy-menu-vertical li.toctree-l2.current li.toctree-l3,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#e6e6e6}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#dcdcdc}.wy-menu::-webkit-scrollbar{width:10px;background-color:var(--grey-border)}.wy-menu::-webkit-scrollbar-thumb{background-color:var(--primary-blue);border-radius:5px;background-clip:content-box}.wy-menu li.toctree-l1.current>a{border-bottom:0;border-top:0}.wy-menu li.current,.wy-menu li.toctree-l2,.wy-menu li.toctree-l2 a,.wy-menu li.toctree-l2.current,.wy-menu li.toctree-l2.current li.toctree-l3,.wy-menu li.toctree-l3.current li.toctree-l4,.wy-menu li.toctree-l3.current li.toctree-l4>a,.wy-menu li.toctree-l2.current li.toctree-l3>a{background:inherit}.wy-menu li.current>a,.wy-menu li.toctree-l2.current a,.wy-menu li.toctree-l3.current li.toctree-l4.current>a,.wy-menu li.toctree-l2.current li.toctree-l3.current>a{background:#fff}.wy-menu li.current>a,.wy-menu li.on a{background:#fff}.wy-menu li.current>a button.toctree-expand,.wy-menu li.on a button.toctree-expand,.wy-menu li>a button.toctree-expand,.wy-menu li.on a button.toctree-expand{display:none}.wy-menu a{font-size:13px}@media(max-width: 768px){.wy-menu a{font-size:15px}}.wy-menu li.toctree-l2 li.toctree-l3 a:hover,.wy-menu .toctree-l3 a:hover,.wy-menu li.current a:hover,.wy-menu a:hover{color:var(--blue);background-color:#fff}.wy-menu li.current>a{color:var(--blue)}.wy-menu li.toctree-l2,.wy-menu li.toctree-l3,.wy-menu li.toctree-l4,.wy-menu li.toctree-l5{margin-left:22px;border-left:1px solid #c1d2e1}.wy-menu li.current>a,.wy-menu li.on a,.wy-menu li.toctree-l2.current li.toctree-l3>a,.wy-menu li.toctree-l2.current>a,.wy-menu li.toctree-l2>a,.wy-menu li.toctree-l3.current li.toctree-l4>a{border-right:none;padding:10px}.wy-menu li.current>a,.wy-menu li.on a{padding-left:20px}.aside-tile{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;width:100%;height:max-content;padding:10px}.aside-tile__container{border-radius:5px;border:1px solid var(--grey-border);position:fixed;top:150px;background-color:#fff;width:250px;height:max-content;padding:20px 20px 10px 20px}@media(max-width: 1442px){.aside-tile__container{width:179px}}.aside-tile__feedback{top:350px}.aside-tile__content{display:flex;flex-direction:column;align-items:center;text-align:center}.aside-tile__content img{max-width:47px}.aside-tile h4{line-height:30px;margin-bottom:10px}@media(max-width: 1200px){.aside-tile{display:none}}.aside-tile .aside-tile__feedback-list{font-size:12px;color:var(--blue);text-align:left;margin-bottom:5px}.aside-tile .aside-tile__feedback-list li{line-height:25px}.aside-tile .aside-tile__feedback-list li i{margin-right:5px;color:var(--message-success)}body>header{background-color:var(--primary-blue);position:fixed;left:0;right:0;z-index:10}.wy-side-nav-search img{background-color:rgba(0,0,0,0);position:relative;top:0;margin:0;height:auto;width:150px;border-radius:0;padding:0}@media(max-width: 768px){.wy-side-nav-search img{width:130px}}.wy-side-nav-search input[type=text],.wy-body-for-nav input:not([type=checkbox]):not([type=radio]):not([type=submit]){border:none;box-shadow:none}.logo-title{display:flex;justify-content:center;align-items:center}.logo-title:hover{color:#fff}@media(max-width: 420px){.logo-title{grid-area:1/span 1}}.wy-side-nav-search>a{display:flex;margin-bottom:0;font-size:15px;justify-self:flex-start}.wy-side-nav-search>a:hover{background:rgba(0,0,0,0)}.wy-side-nav-search>a.wy-side-nav__login{justify-self:flex-end;position:relative;right:23px;padding:0 15px;max-width:100px;font-size:12px}@media(max-width: 420px){.wy-side-nav-search>a.wy-side-nav__login{grid-area:1/span 1}}.wy-side-nav-search__menu-items{display:flex;column-gap:10px;justify-content:flex-end;align-items:center;height:100%;padding-right:20px}.wy-side-nav-search__menu-items a{font-size:13px}.wy-side-nav-search__menu-items a.wy-side-nav-search__menu-item{color:#fff;height:97%;display:flex;align-items:center;padding:0 10px}.wy-side-nav-search__menu-items a.wy-side-nav-search__menu-item:hover{border-bottom:2px solid var(--primary-orange)}.wy-side-nav-search__menu-items a.wy-side-nav-search__menu-item.current{border-bottom:2px solid var(--primary-orange)}@media(max-width: 768px){.wy-side-nav-search__menu-items a.wy-side-nav-search__menu-item{display:none}}.edit{text-align:center}.copyright p{font-size:11px}.article-meta{display:inline-block;position:relative;top:30px;font-size:11px;font-weight:600;opacity:.35}.article-meta--updated{opacity:.5}.article-meta--updated::after{content:"•";padding-left:5px}@media(max-width: 420px){.article-meta{font-size:12px}}.wy-breadcrumbs{max-width:1500px;padding:0 21px;margin:auto}.wy-breadcrumbs li{padding-top:initial}@media(max-width: 1024px){.wy-breadcrumbs{padding:0 20px 0 60px;overflow:auto;white-space:nowrap}}@media(max-width: 420px){.wy-breadcrumbs{padding:0 20px 0 65px}}.wy-breadcrumbs,.wy-breadcrumbs li a,.wy-breadcrumbs-aside a{font-size:11px}@media(max-width: 768px){.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}.wy-breadcrumbs li a:visited{color:var(--light-orange)}li.wy-breadcrumbs-aside a{padding:10px}.header{height:50px;line-height:50px;width:100%;position:fixed;top:72px;border-bottom:1px solid var(--grey-border);z-index:20;background-color:#fff}@media(max-width: 420px){.header{top:90px}}.DocSearch-Button{background-color:#fff;border-radius:9999px}.DocSearch-Button:hover{background-color:#fff}.main-content a{color:var(--secondary-blue);text-decoration:underline}.main-content a:visited{opacity:.8;color:var(--secondary-blue) !important}#rtd-search-form input.main-search-bar__input{position:relative;top:10px;padding:0 15px 0 30px}@media(max-width: 420px){#rtd-search-form input.main-search-bar__input{top:0}}#rtd-search-form .search-icon{position:relative;width:13px;top:-18px;left:-132px}@media(max-width: 768px){#rtd-search-form .search-icon{left:-83px}}@media(max-width: 420px){#rtd-search-form .search-icon{top:-27px;left:-149px}}.rst-content{max-width:900px;padding:0 50px}@media(max-width: 768px){.rst-content{padding:0}}.rst-content p:not(.admonition-title)+ul{margin-top:-14px} +.rst-content table.wrap-table td,.rst-content table.wrap-table th{white-space:normal} \ No newline at end of file diff --git a/docs/_static/scss/components/_module.scss b/docs/_static/scss/components/_module.scss index f8a8180a..dff45ca6 100644 --- a/docs/_static/scss/components/_module.scss +++ b/docs/_static/scss/components/_module.scss @@ -55,3 +55,10 @@ .rst-content p:not(.admonition-title) + ul { margin-top: -14px; } + +// Let tables with the wrap-table class wrap their text instead of scrolling sideways +.rst-content table.wrap-table { + td, th { + white-space: normal; + } +} diff --git a/docs/services/control-panel/alerts-and-emails-you-receive-from-hypernode.md b/docs/services/control-panel/alerts-and-emails-you-receive-from-hypernode.md new file mode 100644 index 00000000..aea6c12a --- /dev/null +++ b/docs/services/control-panel/alerts-and-emails-you-receive-from-hypernode.md @@ -0,0 +1,95 @@ +--- +myst: + html_meta: + description: Learn which alerts and emails Hypernode sends, who receives them, + which ones you can send to Slack, and which events are only shown in the Control + Panel logs. + title: Alerts and Emails You Receive From Hypernode | Hypernode +--- + +# Alerts and Emails You Receive From Hypernode + +Hypernode sends automated emails when something needs your attention on a Hypernode. This page explains which messages you can receive, who gets them, and which ones are not sent by email or Slack at all. + +## Who Receives the Emails + +Incident and security emails, such as the notice about the StyleSmuggler vulnerability, are sent to the owner and to the team members with the Admin role of each Hypernode that is affected. This makes sure the owner, and usually the agency that manages the shop, can act quickly. You can unsubscribe from these emails, but we advise you not to. If you do, you will not be warned in an emergency. + +Other notification emails are sent to the owner of the Hypernode. If someone else, for example your developer, also needs to receive them, invite that person as a team member in the Control Panel and let them set up their own alerts in the Alerts manager. Alerts are set up per account, so each person chooses their own categories, Hypernodes and email address or Slack channel. See our guide on [teams](how-to-use-teams.md) and our guide on [Slack alerts](how-to-configure-slack-alerts-for-hypernodes.md). + +## Where to See What Happened + +Events on your Hypernode are also shown in the [logs of the Control Panel](using-logs-in-the-control-panel.md), also when no email was sent. Check there first if you want to know what happened on your Hypernode. + +## Overview + +```{list-table} +--- +header-rows: 1 +class: wrap-table +widths: 40 15 10 35 +--- +* - Message + - Email + - Slack + - Action for you +* - Essential system alerts, such as crawler bot traffic, too many MySQL connections, full disk and Redis memory + - Yes + - Yes + - Depends on the alert. The email explains it. +* - Incident or security notice, for example about a vulnerability + - Yes, to the owner and Admin team members + - No + - Yes. Follow the steps in the email. +* - Emergency Rescue + - Only for out-of-memory (OOM) events + - No + - None. See [Emergency Rescue](#emergency-rescue). +* - A domain can't send email, because DNS records are missing + - Yes + - No + - Check your DNS records. See [A Domain Can't Send Email](#a-domain-cant-send-email). +* - An IP address was blocked for malicious activity + - Yes + - No + - None, unless a legitimate visitor is blocked. See [An IP Address Was Blocked](#an-ip-address-was-blocked). +* - Malware detected on your Hypernode + - No + - No + - Yes. See [Malware Detected](#malware-detected). +``` + +## Alerts You Can Send to Email or Slack + +In the Alerts manager of the Control Panel you choose a category of alerts (for example **System**), where to send them (email or a Slack webhook) and for which Hypernodes. The tooltip on each category shows which emails it contains. Currently only the essential system alerts are available. See our guide on [Slack alerts](how-to-configure-slack-alerts-for-hypernodes.md) for how to set it up. + +Alerts are set up per Control Panel account, not per Hypernode: + +- One Hypernode can be part of the alerts of several accounts. If two accounts send to the same Slack webhook, you get every notification twice. +- An alert can't be edited. To change it, delete it and create a new one. Only the account that owns the alert can delete it. +- An alert for all Hypernodes also covers Hypernodes you forgot about. Deleting it stops the notifications for all of them, so check which Hypernodes it covers first. +- If you receive alerts from an account you can no longer log in to, contact support. We can remove the alert. + +## Emergency Rescue + +When the monitoring sees too many errors on your Hypernode, an Emergency Rescue is started automatically. You do not have to do anything. The event shows in the Control Panel logs under the name of the account owner, because the platform uses that name for the audit trail. You only receive an email about an Emergency Rescue when it was caused by an out-of-memory (OOM) event. For other rescues no email is sent, but the event is still shown in the Control Panel logs. Emergency Rescue emails are not available as a Slack alert. See our guide on [24/7 monitoring and alerting](../../about-hypernode/support/24-7-monitoring-and-alerting.md) for how this works. + +## A Domain Can't Send Email + +You may receive a message that your Hypernode can't send email for a domain, for example because the DKIM, SPF or `x-transip-mail-auth` DNS record is missing. Check the domains on your Hypernode: + +```console +app@abcdef-example-magweb-cmbl:~$ hypernode-mail-status domains --check +``` + +If all checks are ok and the message was sent before you added the records, the message is outdated. If a check fails, add or correct the DNS record at the party that manages your DNS. See our guide on [setting up DNS for outgoing email](../../hypernode-platform/email/how-to-set-up-your-dns-for-outgoing-email.md). + +## An IP Address Was Blocked + +Hypernode blocks IP addresses that show malicious behavior, such as brute force attempts and scanning for vulnerabilities. You may receive a notice about this. The block is placed by the platform and does not need anything from you. If a legitimate visitor or service is blocked, contact support. + +## Malware Detected + +The malware scan runs daily on every Hypernode. When it finds something, this is shown in the Control Panel logs as "Action required: Malware detected on your Hypernode". No email or Slack message is sent for this, because the scan also detects vulnerabilities and attacks that have already been mitigated. + +A finding means you have to look into it yourself, or ask your developer or a security partner. Hypernode does not investigate or clean up malware on your shop. Details about what was found and where are available with a Sansec license. See our guide on [Sansec eComscan](../../hypernode-platform/tools/how-to-set-up-sansec-ecomscan-on-hypernode.md). If you find a compromise, reset all credentials and secrets as well.