然后appcode也需要升级:
DevOps
然后appcode也需要升级:
在Prometheus中,alertstate字段表示报警的状态,有以下几种可能的取值:
这些报警状态的含义可以根据你的具体配置和需求进行调整和解释。在实际使用中,你可以根据报警状态来判断报警的状态和处理情况,以便及时采取相应的措施。
在Prometheus中,报警状态从firing变为pending通常是由于报警规则定义了一些延迟或滞后的条件。这些条件可以是以下几种情况之一:
这些条件的具体配置可以在Prometheus的报警规则中进行定义和调整。通过设置适当的延迟或滞后条件,可以避免一些短暂的异常情况导致不必要的报警触发。这样可以减少误报警和降低报警的噪音。具体的配置和调整应根据你的监控需求和实际情况来进行。
以下是一个具有for和wait条件的报警规则配置示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<span class="hljs-attr">groups:</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">example</span> <span class="hljs-attr">rules:</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">alert:</span> <span class="hljs-string">HighErrorRate</span> <span class="hljs-attr">expr:</span> <span class="hljs-string">sum(rate(http_requests_total{status="500"}[5m]))</span> <span class="hljs-string">></span> <span class="hljs-number">100</span> <span class="hljs-attr">for:</span> <span class="hljs-string">5m</span> <span class="hljs-attr">labels:</span> <span class="hljs-attr">severity:</span> <span class="hljs-string">critical</span> <span class="hljs-attr">annotations:</span> <span class="hljs-attr">summary:</span> <span class="hljs-string">High</span> <span class="hljs-string">error</span> <span class="hljs-string">rate</span> <span class="hljs-string">detected</span> <span class="hljs-attr">description:</span> <span class="hljs-string">The</span> <span class="hljs-string">error</span> <span class="hljs-string">rate</span> <span class="hljs-string">has</span> <span class="hljs-string">been</span> <span class="hljs-string">above</span> <span class="hljs-number">100</span> <span class="hljs-string">requests</span> <span class="hljs-string">per</span> <span class="hljs-string">second</span> <span class="hljs-string">for</span> <span class="hljs-number">5</span> <span class="hljs-string">minutes.</span> <span class="hljs-attr">wait:</span> <span class="hljs-string">10m</span> |
在这个示例中,我们定义了一个名为”HighErrorRate”的报警规则。该规则的表达式是检测最近5分钟内HTTP请求中状态码为500的速率是否超过100次/秒。如果满足这个条件,报警状态会变为firing。
接下来,我们设置了两个条件:
在这个示例中,如果HTTP请求中状态码为500的速率超过100次/秒持续5分钟,并且在之后的10分钟内仍然满足这个条件,那么报警状态会保持为firing。否则,报警状态会变为pending。
这只是一个示例,具体的报警规则配置应根据你的监控需求和实际情况进行调整。你可以根据需要设置不同的for和wait条件来满足特定的报警逻辑和条件。
android studio总是更新,还总是慢,怎么办呢?
在 ~/.gradle 下面创建 init.gradle 文件,内容如下,重启android studio
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
allprojects{ repositories { def MY_ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/nexus/content/groups/public' def MY_ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/nexus/content/repositories/jcenter' all { ArtifactRepository repo -> if(repo instanceof MavenArtifactRepository){ def url = repo.url.toString() if (url.startsWith('https://repo1.maven.org/maven2')) { project.logger.lifecycle "Repository {repo.url} replaced by $MY_ALIYUN_REPOSITORY_URL." remove repo } if (url.startsWith('https://jcenter.bintray.com/')) { project.logger.lifecycle "Repository ${repo.url} replaced by $MY_ALIYUN_JCENTER_URL." remove repo } } } maven { url MY_ALIYUN_REPOSITORY_URL url MY_ALIYUN_JCENTER_URL } } } |
另外,还要注意一下自己有没有配置代理,参考 .gradle/gradle.properties,因为走阿里云就可以不用代理就能很快了。
我的init.gradle 文件在 d:\.gradle 目录下
HarmonyOS系统开发指导_HarmonyOS系统能力API参考 – HarmonyOS应用开发官网 https://developer.harmonyos.com/cn/documentation/?catalogVersion=V3
How to Use Passkeys in Google Chrome and Android | WIRED https://www.wired.com/story/how-to-use-passkeys-google-chrome-android/
几乎不会有谁不会用充电宝吧。
但是,知道小电流模式的人可能就很少了。
什么是小电流模式?
我在研究物联网时,虽然器件很小,总是要供电的,使用电池固然可以,但是,看着家里一直躺着的充电宝,感觉不用起来是挺可惜的,如果使用充电宝供电,可以用很长时间的。
而且,很多元件都支持usb供电,这个也是充电宝的本职工作。
但是,插上之后开始还好好的,过不了几秒就不行了,难道是充电宝坏了?重插就是好的。
后来,百度上搜了下如何用充电宝给microbit供电,才知道microbit电流很小,充电宝默认在小电流时会自动断电,可以双击电源按钮进入小电流模式,这时候,充电宝就不会嫌弃负载电流小而放弃供电了。
其实,对于一些家用小台灯,也可能只需要很小的电流,这时候就需要充电宝的小电流模式才能持久点亮了。
现在,充电宝终于进入了我的物联网世界了😃
https://baijiahao.baidu.com/s?id=1742314206522992525
https://www.zhihu.com/answer/2496442381
先封端口,再重启服务
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#!/bin/bash function block() { local port=${1-80} iptables -I INPUT -p tcp -m tcp --syn --dport $port -j REJECT } function unblock() { local port=${1-80} iptables -D INPUT -p tcp -m tcp --syn --dport $port -j REJECT } function restart_service() { // stop // start } block 80 sleep 1 restart_service() sleep 1 unblock 80 |
注意: