当前位置: 首页 > news >正文

视频网站后台登陆wordpress简洁cms主题

视频网站后台登陆,wordpress简洁cms主题,erp系统的优点,codeus wordpress文章目录 前言一、promethesu告警二、告警配置编写rule文件prometheus配置prometheus产生告警 三、告警通知prometheus 配置 alertmanageralertmanager 配置 webhook通知编写接口接收 webhook 总结 前言 如果没有学习过prometheus的基础和监控的同学#xff0c;可以先过一遍这… 文章目录 前言一、promethesu告警二、告警配置编写rule文件prometheus配置prometheus产生告警 三、告警通知prometheus 配置 alertmanageralertmanager 配置 webhook通知编写接口接收 webhook 总结 前言 如果没有学习过prometheus的基础和监控的同学可以先过一遍这篇文章 https://blog.csdn.net/weixin_42132143/article/details/134772543?spm1001.2014.3001.5501 一、promethesu告警 Prometheus 收集和存储监控数据然后根据自定义的告警规则进行数据分析从而触发报警。配置告警规则通常包括以下几个步骤 定义告警规则告警规则是在 Prometheus 的配置文件中定义的通常位于 prometheus.yml 文件中的 rules 部分。你需要创建一个告警规则文件例如 alert.rules.yml在这个文件中定义你的告警逻辑。 配置告警规则文件在 prometheus.yml 中指定告警规则文件的位置例如 rule_files:- alert.rules.yml编写告警规则在告警规则文件中编写具体的规则。每条规则包括以下几个部分 alert: 告警名称。 expr: 告警表达式当表达式的结果为 true 时触发告警。 for: 等待一段时间后才触发告警用于防止短暂的数据波动导致的误报。 labels: 附加到告警上的标签可以用来分类告警。 annotations: 告警的详细说明如描述、摘要等。 例如 groups: - name: examplerules:- alert: HighRequestLatencyexpr: job:request_latency_seconds:mean5m{jobmyjob} 0.5for: 10mlabels:severity: pageannotations:summary: High request latency 配置报警通知Prometheus 本身只是产生告警不直接发送告警是通过 Alertmanager 来管理告警通知。你需要配置 Alertmanager 的配置文件 alertmanager.yml 来定义通知的接收者和方式如webhook、邮件、Slack、PagerDuty 等。 二、告警配置 编写rule文件 我们自定义一个告警规则这里针对 node_exporter 的内存使用率超过80%触发告警 新建一个 rule 文件 vi /etc/prometheus/rules/node_rule.ymlgroups: - name: noderules:- alert: MemoryCriticalexpr: 100 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100 90for: 5mlabels:severity: warningobject: {{ $labels.instance }}content: 内存使用率高于90%job: {{ $labels.job }}annotations:summary: Low memory available (instance {{ $labels.instance }})description: Memory usage rate above 90% for more than 5 minute如果是想新增一些自定义的标签可以放在 groups.rules.labels 下面上面的 object、content、job 就是我新增的自定义标签 prometheus配置 修改 prometheus 的配置文件 rule_files:- /etc/prometheus/rules/node_rule.yml重启 prometheus 服务使之生效 prometheus产生告警 已经配置好告警规则了这时候我们给安装 node_exporter 的被监控节点加压使之内存使用率高于 80% 然后 prometheus 就会产生告警信息可以在 prometheus 的页面看到产生的告警信息 http://localhost:9090/alerts 这个页面会看到诸如此类的告警规则变成红色就是产生了告警 三、告警通知 prometheus 配置 alertmanager prometheus 已经产生了告警了我们需要将告警信息推送给 alertmanager 这里就不放 alertmanager 的安装教程了 修改 prometheus 的配置文件配置上 alertmanager alerting:alertmanagers:- static_configs:- targets:- 192.168.231.56:9093重启 prometheus 这时候你就可以在 alertmanager 页面看到接收到的告警信息 prometheus 每次都会把当前所有已经产生的告警信息推送过去 alertmanager alertmanager 配置 webhook通知 这时候只是 alertmanager 接收到了告警信息而 alertmanager 它本身就是一个用于配置告警通知的工具 我们这里使用 webhook 的方式来通知 修改 alertmanager 的配置文件 global:resolve_timeout: 5mroute:group_by: [alertname, content, object]group_wait: 10sgroup_interval: 10srepeat_interval: 24hreceiver: web.hook receivers: - name: web.hookwebhook_configs:- url: http://172.16.205.66:8122/notify/alert/send说明 上面的配置中 group by 指定了多个字段作用是根据这几个字段来区分同一条告警防止重复告警。上面也说了 prometheus 每次都会把当前所有已经产生的告警信息推送过去 alertmanager如果 group by 不做区分或者只用了默认的 alertname 一个字段很有可能会导致在多个告警触发的场景下导致之前已经告警过的信息再次告警通知。上面的配置中的 receiver 指定是 web.hook 方式推送然后在 receivers 配置其地址。webhook方式其实说白了他就是 由 alertmanager 往这个指定的地址发送一个 POST 方式的 HTTP 请求而已所以我们的接收端只需要编写一个普通的 web 项目里面有一个 POST 接口接口的地址对应上就可以了。 编写接口接收 webhook 直接新建一个空白的 springboot 项目加上一个接口接收来自 alertmanager 的推送然后根据自己的业务处理就行了下面放一点核心的代码 PostMapping(/send) public R send(HttpServletRequest httpServletRequest) throws IOException {CachedBodyHttpServletRequest request new CachedBodyHttpServletRequest(httpServletRequest);// alertmanager的webhook通知会有短时间内的超时重传这里用异步alertNotifyService.notify(request);return R.success(); }public class CachedBodyHttpServletRequest extends HttpServletRequestWrapper {private final String cachedBody;public CachedBodyHttpServletRequest(HttpServletRequest request) throws IOException {super(request);StringBuilder body new StringBuilder();try (BufferedReader bufferedReader request.getReader()) {char[] charBuffer new char[128];int bytesRead -1;while ((bytesRead bufferedReader.read(charBuffer)) 0) {body.append(charBuffer, 0, bytesRead);}}this.cachedBody body.toString();}Overridepublic BufferedReader getReader() throws IOException {return new BufferedReader(new StringReader(this.cachedBody));} }Async public void notify(HttpServletRequest request) {// 解析prometheus请求参数AlertManagerBean msg getRequestReaderMsg(request);System.out.println(msg);if(msg null)return;// 通知发送逻辑}private AlertManagerBean getRequestReaderMsg(HttpServletRequest request){AlertManagerBean alertManagerBean null;try (BufferedReader reader request.getReader()) {// 获取JSON请求参数String jsonBody reader.lines().reduce(, (accumulator, actual) - accumulator actual);// log.info(jsonBody);alertManagerBean JSONUtil.toBean(jsonBody, AlertManagerBean.class);} catch (Exception e) {e.printStackTrace();log.warn(解析prometheus请求参数失败);}return alertManagerBean; }Data public class AlertManagerBean {private String status;private ListAlertManagerAlert alerts;}Data public class AlertManagerAlert {private String status;private AlertManagerLabel labels;private AlertManagerAnnotation annotations;}Data public class AlertManagerLabel {private String alertname;private String instance;private String device;private String mountpoint;private String fstype;private String level;private String job;private String content;private String object;}Data public class AlertManagerAnnotation {private String summary;private String description;}总结 欢迎指出我的错误
http://wiki.neutronadmin.com/news/336454/

相关文章:

  • 网站换稳定服务器做企业网站用drupal7
  • 和文化有关的吉网站建设模板企业网站网站建设公司
  • 做购物平台网站客户体验活动开发公司总经理竞聘报告
  • 网站怎么添加流量肉多各种地方做的网站
  • 网站开发属于哪个大学专业阿克苏建设局网站
  • 马来西亚网站建设海外网站推广公司
  • 北京代建网站恒丰建设集团有限公司 网站
  • 网站没备案怎么做加速商业空间设计有限公司
  • 网站后台程序开发成交型网站制作
  • 涵江网站建设天津 网站建设
  • wordpress 音乐站外贸流程ppt
  • 微信网站设计价格静态网站 搜索功能
  • 汽车网站营销赣州人才网官网招聘信息
  • 网站怎样运营使用cdn做网站内容加速
  • 企业模板网站建设wordpress使用邮箱验证
  • 柳州专业网站优化北京环球影城可以带水果吗
  • 用jsp做留言板网站游戏开发可以自学吗
  • 做推送的网站有哪些做网站还有前景么
  • 网站建设的目的模板淮安市哪里有做网站
  • python的网站开发源码网和网站的区别
  • 网站改版推荐免费制作网站net域名
  • 哪个网站有老外教做蛋糕营销项目策划公司
  • 产品网站建设方案十渡网站建设
  • 银川网站建设哪家好绍兴模板建站代理
  • 做中文的云图网站网页版传奇排行榜
  • 网站如何做百度实名认证wordpress网站加速
  • 福建建设执业中心网站北极寒流wordpress
  • 美工网站设计是什么wordpress 单栏模板
  • 专门做名片的网站柯桥区建设集团网站
  • 企业网站注销流程新建网站的步骤