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

石家庄做网站推广现在做什么网站好

石家庄做网站推广,现在做什么网站好,怎么在新建网站上做分享代码,石家庄网站建设公司目录 一、前言 二、Altermanager概述 2.1 什么是Altermanager 2.2 Altermanager使用场景 三、Altermanager架构与原理 3.1 Altermanager使用步骤 3.2 Altermanager工作机制 3.3 Altermanager在Prometheus中的位置 四、Altermanager部署与接入Prometheus 4.1 Altermana…目录 一、前言 二、Altermanager概述 2.1 什么是Altermanager 2.2 Altermanager使用场景 三、Altermanager架构与原理 3.1 Altermanager使用步骤 3.2 Altermanager工作机制 3.3 Altermanager在Prometheus中的位置 四、Altermanager部署与接入Prometheus 4.1 Altermanager部署过程 4.1.1 获取安装包 4.1.2 安装包解压 4.1.3 启动alertmanager服务 4.1.4 访问Altermanager 4.1.5 Altermanager核心配置文件介绍 4.2 Altermanager接入Prometheus 4.2.1 配置alert target 4.2.2 配置Altermanager监控指标 4.2.3 访问Prometheus 4.3 监控node_exporter 4.3.1 创建rule规则目录和规则文件 4.3.2 修改prometheus.yml 4.3.3 重启Prometheus 4.3.4 测试告警规则 五、Alertmanager配置告警推送 5.1 Alertmanager配置邮箱告警通知 5.1.1 注册QQ邮箱 5.1.2 开启SMTP服务 5.1.3 配置alertmanager.yml 5.1.4 重载配置文件 5.1.5 效果验证 5.2 Alertmanager配置钉钉告警通知 5.2.1 配置钉钉机器人 5.2.2 获取钉钉webhook插件包 5.2.3 修改配置文件信息并启动服务 5.2.4 使用docker的方式安装 5.2.5 修改altermanager的配置 5.2.6 重启altermanager服务 5.2.7 补充说明 六、写在文末 一、前言 在之前的文章中我们介绍了Prometheus的搭建与使用以及如何配置监控常用的中间件并基于Grafana对监控的服务指标信息进行可视化展现接下来问题来了人们不可能24小时都盯着展示的大屏看数据是否有某种机制或者某种方式比如可以配置某项指标的阈值一旦当这个指标达到阈值时能通过一些通知方式将告警信息主动推送给相应的人员呢这就是本文要分享的关于AlterManager的使用。 二、Altermanager概述 2.1 什么是Altermanager Alertmanager是Prometheus监控系统的一个重要组成部分主要用于处理由Prometheus服务器生成的警报。虽然Prometheus本身能够检测到指标阈值的违反情况并触发警报但它并不直接负责警报的后续处理和通知。这就是Alertmanager介入的地方。具体来说其主要功能特性如下 警报接收与处理Alertmanager接收来自Prometheus的警报并对其进行进一步的处理包括去重、分组、抑制和静默等 去重同一警报可能会因为网络问题或Prometheus的重试机制而被重复发送Alertmanager会确保每个警报只被处理一次 分组Alertmanager可以将类似的警报合并在一起减少警报的总数量避免在大量警报出现时造成通知过载 抑制与静默Alertmanager支持设置抑制规则在一定时间内不发送重复的警报以及静默规则用于在特定时间或条件下暂停警报的发送例如在预定的维护窗口期间 路由警报可以按照定义好的路由规则被发送到不同的接收者这使得可以针对不同的警报类型或严重级别选择合适的响应团队 通知Alertmanager支持多种通知渠道包括电子邮件、短信、Slack、Telegram、Webhooks等以确保警报可以快速准确地送达相关人员 2.2 Altermanager使用场景 Alertmanager 在多种场景下都能发挥关键作用特别是在企业级应用和云原生环境中。以下是 Alertmanager 的一些典型使用场景 生产环境监控 Alertmanager 可与 Prometheus 或其他监控系统集成用于实时监控生产环境中的各项指标如服务器负载、应用程序性能、数据库状态等。当检测到异常或指标超过预设阈值时Alertmanager 能及时发送预警通知帮助运维人员迅速定位和解决问题确保业务连续性和系统稳定性。 自动化运维 通过 Alertmanager运维团队可以建立自动化工作流比如在检测到某个服务故障后自动重启服务或者在资源利用率过高时自动扩展资源。这种自动化响应可以减少人工干预的需求提升系统自愈能力。 事件响应和管理 当系统发生故障时Alertmanager 可以将警报按严重程度和类型分发给相应的团队成员确保每个人收到与其职责相关的信息。这样可以加快事件响应速度减少平均修复时间MTTR并有助于事件的高效管理。 合规性和审计 在金融、医疗等对数据安全有严格要求的行业Alertmanager 可以用于监控合规性指标如数据泄露风险、访问控制违规等。一旦发现潜在的合规问题立即通知合规团队采取行动。 用户体验监控 对于面向用户的在线服务Alertmanager 可以监控用户请求的延迟、错误率等指标确保良好的用户体验。一旦检测到可能影响用户体验的问题可以立即通知前端或后端开发团队进行优化。 容量规划 Alertmanager 可以帮助监控资源使用趋势预测未来需求。如果发现资源接近耗尽可以提前发出警告以便进行容量规划和资源分配调整。 节假日和非工作时间的警报管理 Alertmanager 支持设置警报抑制规则可以根据时间表自动开启或关闭警报避免在非工作时间产生不必要的警报同时确保紧急警报仍然能够得到处理。 第三方服务集成 Alertmanager 可以通过 Webhooks 或其他接口与第三方服务如 PagerDuty、OpsGenie、钉钉、企业微信等集成将警报信息发送到团队常用的消息平台提高警报的可见性和响应速度。 通过以上场景可以看到 Alertmanager 是一个非常灵活且强大的工具它能够适应不同规模和类型的组织的监控需求有效提升系统的监控效率和运维管理水平。 三、Altermanager架构与原理 3.1 Altermanager使用步骤 Altermanager在生产使用时主要分为下面几步 部署Alertmanager 配置告警接收人 配置Prometheus与Alertmanager通信 在Prometheus中创建告警规则 配置生效并触发告警规则 3.2 Altermanager工作机制 如下是Alertmanager的工作原理图 Prometheus发出告警时主要分两步 Prometheus服务器按告警规则rule_files配置块将报警信息发送至Alertmanager即告警规则是在Prometheus上定义的 Alertmanager 接收并管理这些报警包括去重Deduplicating、分组Grouping、沉默silencing抑制inhibition聚合aggregation最终通过电子邮件发出通知对呼叫通知系统以及即时通讯平台将告警通知路由route给对应联系人。 事实上在Alertmanager 的内部处理过程中远比这两步要复杂为了深入了解原理下面是更详细的处理过程 警报接收 Alertmanager 从 Prometheus server 接收警报。当 Prometheus 中定义的警报规则被触发时Prometheus 会生成警报并发送给 Alertmanager。 警报去重 Alertmanager 会对接收到的警报进行去重处理避免同一警报被多次处理或通知这是通过检查警报的标签组合来实现的。 警报分组 Alertmanager 能够将具有相似标签的警报进行分组这样可以减少警报数量避免重复信息并且使得警报更加易于管理。 警报抑制 根据配置Alertmanager 可以抑制某些警报防止在特定情况下警报的过度通知。例如在大规模故障时可能会抑制较低优先级的警报。 警报静默 用户可以设置静默规则用来临时忽略特定警报通常在计划的维护窗口期间使用。 警报状态跟踪 Alertmanager 会跟踪警报的状态包括警报是否已被解决。当 Prometheus 发现警报条件不再满足时它会发送一个状态为“resolved”的警报给 Alertmanager。 警报路由 Alertmanager 使用路由规则来决定警报应该发送给哪些接收者。这些规则可以根据警报的标签和状态来确定警报的接收者。 警报通知 根据路由规则Alertmanager 会将警报发送给指定的接收者。接收者可以是电子邮件、短信、Slack、PagerDuty、钉钉、企业微信等。 警报恢复确认 Alertmanager 在一段时间内未接收到 Prometheus 的警报更新会自动将警报状态设为“恢复”resolved这个时间间隔可以在配置文件中设置。 用户交互 Alertmanager 提供了一个用户界面和 API允许管理员查看警报状态、管理静默规则、查询警报历史记录等。 通过上面的步骤不难看出Alertmanager 整个工作流程的设计目的是为了提高警报的可靠性、减少警报噪声、确保警报的及时通知以及提供有效的警报管理手段。通过上述流程Alertmanager 成为了 Prometheus 监控体系中不可或缺的一部分帮助用户更好地理解和应对监控系统的警报。 3.3 Altermanager在Prometheus中的位置 如下是关于Prometheus的整体架构图Altermanager位于右上侧简单来说与Prometheus集成之后一旦Prometheus收集到来自监控主机的指标信息满足告警规则就会将其push到Altermanager。 具体来说如下所示 告警能力在Prometheus架构中被划分为两个部分在上图中有所展示通过在Prometheus配置文件中定义AlertRule告警规则Prometheus会周期性的进行告警规则计算如果满足告警规则触发条件就会向Altermanager发送告警信息。 Altermanager作为一个独立组件负责接收处理来自Prometheus Server也可以是其他客户端程序的告警信息。接收到之后Altermanager可以对这些告警信息进一步的处理比如收到大量的重复告警信息时能够消除重复告警同时对告警信息进行分组并且路由到正确的通知方。 同时Prometheus内置了对邮件Slack等多种通知方式的支持还支持与Webhook的集成从而支持更多的定制化场景比如目前还支持钉钉这样用户就可以通过Webhook与钉钉机器人进行集成从而通过钉钉接收告警通知信息同时Altermanager还提供了静默告警和告警抑制功能对钉钉的告警行为进行优化。 四、Altermanager部署与接入Prometheus 通过上面的介绍初步了解了Altermanager的基本理论接下来通过实际操作演示如何部署Altermanager服务以及如何接入Prometheus进行使用。 4.1 Altermanager部署过程 参考下面的操作步骤 4.1.1 获取安装包 安装包下载地址https://prometheus.io/download/ 可以直接在服务器上使用下面的命令下载 wget https://github.com/prometheus/alertmanager/releases/download/v0.27.0/alertmanager-0.27.0.linux-amd64.tar.gz 4.1.2 安装包解压 使用下面的命令解压安装包 tar -zxvf alertmanager-0.27.0.linux-amd64.tar.gz 4.1.3 启动alertmanager服务 进入安装包目录使用下面的命令后台启动 cd cd alertmanager-0.27.0.linux-amd64/# 前台启动 ./alertmanager --config.filealertmanager.yml# 后台启动alertmanager,并且重定向输入日志到当前目录的alertmanager.out nohup ./alertmanager --config.filealertmanager.yml nohup.out 21 4.1.4 访问Altermanager 访问http://IP:9093/默认端口为 9093效果如下 同时也提供了metrics的指标监控端点如果访问 IP:9093/metrics可以看到下面的指标信息通过这个指标监控的端点可以在后续接入Prometheus进行指标监控时使用 4.1.5 Altermanager核心配置文件介绍 Altermanager主要负责对Prometheus产生的告警进行统一处理因此在Altermanager的配置中一般包含下面几个主要部分 核心参数说明 全局配置global 用于定义一些全局的公共参数例如全局SMTP配置Slack配置等内容 模板templates 用于定义通知告警时的模板例如HTML模板邮件模板等 告警路由route: 根据标签匹配确定当前告警应该如何处理 接收人receivers 接收人是一个抽象概念它可以是一个邮箱也可以是微信、Slack或Webhook等接收人一般配合告警路由使用 抑制规则inhibit_rules 合理设置抑制规则可以减少垃圾告警的产生 4.2 Altermanager接入Prometheus 4.2.1 配置alert target Altermanager与Prometheus集成也很简单只需要在Prometheus的配置文件中稍改一下配置即可找到Prometheus的yml文件如下只需要放开注释即可默认是本机的Altermanager如果是远程部署的Altermanager更改为相应的IP即可这一步是为了后续通过Prometheus将告警规则push到Altermanager 4.2.2 配置Altermanager监控指标 像之前配置node_exporter那样再在Prometheus的yml中添加一个Altermanager的job的配置如下 注意以上配置完成后需要重启Prometheus 4.2.3 访问Prometheus 访问Prometheus控制台可以看到Altermanager就纳入Prometheus进行指标监控了 4.3 监控node_exporter 在之前的文章中我们介绍了node_exporter以及集成到Prometheus监控本机内存等指标信息现在假如说使用node_exporter检测到机器的某些指标达到了阈值需要进行告警在这种情况下就可以利用Altermanager的告警功能进行集成和配置参考下面的步骤进行操作 4.3.1 创建rule规则目录和规则文件 prometheus.yml同目录下新建node.yml文件名称和可以自行修改 node.yml配置文内容参考如下 groups: - name: node_exporter_alert_rulerules:- alert: PrometheusTargetMissingexpr: up 0for: 1mlabels:severity: criticalannotations:summary: 服务器宕机 (instance {{ $labels.instance }})description: 服务器宕机或者node exporter未启动\n VALUE {{ $value }}\n LABELS {{ $labels }}- alert: HostOutOfDiskSpaceexpr: (node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes 5 and ON (instance, device, mountpoint) node_filesystem_readonly 0for: 10slabels:severity: warningannotations:summary: 主机磁盘空间不足 (instance {{ $labels.instance }})description: 主机磁盘空间不足 (剩余 10% )\n VALUE {{ $value }}\n LABELS {{ $labels }}- alert: HostHighCpuLoadexpr: 100 - (avg by(instance) (rate(node_cpu_seconds_total{modeidle}[2m])) * 100) 80for: 0mlabels:severity: warningannotations:summary: CPU使用率过高 (instance {{ $labels.instance }})description: CPU使用率超过 80%\n VALUE {{ $value }}\n LABELS {{ $labels }}- alert: HostOutOfMemoryexpr: node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 10for: 2mlabels:severity: warningannotations:summary: 内存使用率过高 (instance {{ $labels.instance }})description: 内存使用率过高 (剩余 10% )\n VALUE {{ $value }}\n LABELS {{ $labels }} 以上是列举了常用的几个关于主机相关的监控规则比如内存使用率过高主机磁盘空间等更多的规则可以参阅相关的资料在这里进行配置即可 在告警规则文件中我们可以将一组相关的规则配置定义在一个group下在每一个group中可以定义多个告警规则对于一条具体的告警规则来说主要由下面几部分组成 alert指定告警规则名称 expr基于PromQL表达式的告警触发条件用于计算是否时间序列满足该条件 for评估等待时间可选参数用于表示只有当触发条件持续一段时间后才发告警。而在等待期间新产生告警的状态为pending labels自定义标签允许用户指定要附加到告警上的一组附加标签 annotations用于指定一组附加信息比如用于描述告警详细信息的文字annotations的内容在告警产生时会一同作为参数发送到Altermanager 4.3.2 修改prometheus.yml 在Prometheus配置文件中添加下面信息将上述的规则文件进行加载当然也可以通过通配符的方式进行配置 rule_files:- node.yml#- second_rules.yml 为了能让Prometheus启用自定义的告警规则需要在Prometheus的全局配置文件中通过rule_files指定一组告警规则文件的访问路径Prometheus启动的时候就会自动扫描这些规则路径下规则文件中定义的内容并且根据这些规则计算是否向外发送通知 4.3.3 重启Prometheus 重启Prometheus服务然后再次进入到Prometheus的控制台在Alert菜单下就能看到上面的配置那几个规则信息了 展开其中的某一项可以看到规则的详细信息和配置文件中的是一致的 补充说明 在上述的界面展示中出现了3个状态INACTIVEPendingFiring 这三个状态在下面的实际操作中会得到体现表示被监控的服务指标满足了告警规则时的不同状态的切换。 4.3.4 测试告警规则 如何验证上述配置的告警规则是否生效呢做第一个实验手动关闭node_exporter服务 ps -ef|grep node_exporter kill -9 28634 Prometheus首次检测到满足触发的条件后由于告警规则中设置了1分钟for:1m的等待时间告警状态从INACTIVE变为Pending如下图所示 kill之前 一分钟之后如果告警条件持续满足告警状态将从Pending变为Firing并且会将告警信息推送给Alertmanager如下图所示 此时再次进入到Alertmanager的控制台界面上可以看到界面上展示出了正在告警的信息 再次启动node-exporter服务状态过一会儿就又切换回去了 五、Alertmanager配置告警推送 通过上面的操作可以通过Alertmanager结合Prometheus对监控的指标信息进行规则的预警事实上在实际应用中运维人员希望达到的目的是当告警规则被触发的时候能够及时以某种方式通知到相应的人员才能第一时间对事件现场进行响应和处理接下来演示下如何配置告警的消息推送。 5.1 Alertmanager配置邮箱告警通知 以QQ邮箱为例进行说明 5.1.1 注册QQ邮箱 如果没有的话可以提前注册一个略 5.1.2 开启SMTP服务 通过qq邮箱的设置开启SMTP服务并获取下图中的授权码下文配置中会用到 5.1.3 配置alertmanager.yml 在该配置文件中配置如下信息 global:# 在3分钟内未收到新的相同告警则认为告警已解决resolve_timeout: 3m # QQ邮箱SMTP服务器地址和端口通常使用465端口,SMTPSsmtp_smarthost: smtp.qq.com:465 # 从这个邮箱发送告警smtp_from: 你的QQqq.com# 发送告警的邮箱账号smtp_auth_username: 你的QQqq.com# 邮箱的第三方授权码而不是普通密码smtp_auth_password: vuqmvptmxowwzdbbec#根据你的SMTP服务器设置决定是否需要TLS加密smtp_require_tls: false route:group_by: [alertname]group_wait: 30sgroup_interval: 5mrepeat_interval: 1h#receiver: web.hookreceiver: emailreceivers:- name: emailemail_configs:- to: 你的QQqq.comsend_resolved: true#抑制规则 inhibit_rules:- source_match:severity: criticaltarget_match:severity: warningequal: [alertname, dev, instance] 5.1.4 重载配置文件 重启Alertmanager服务重启完成后再次进入Alertmanager页面通过status菜单可以看到上述配置得邮箱信息就展示出来了 5.1.5 效果验证 仍然以上面配置的node-exporter为例我们关闭该服务理论上在1分钟之后Prometheus会检测到服务的宕机信息从而满足触发告警规则条件从而向Alertmanager推送告警信息上面配置了邮箱之后Alertmanager就能将信息发送至接收的邮箱中 将node-exporter服务kill掉之后等待1分钟可以看到node_exporter配置的告警规则被触发状态也变成了Pending 同时alertmanager控制台也输出了相应的信息 此时进入个人的QQ邮箱可以看到一封告警通知邮件 关于邮件的告警推送也可以采用自定义邮件模板进行配置网上关于这块的资料也比较多基于上面的配置简单做下调增即可 5.2 Alertmanager配置钉钉告警通知 接下来演示如何将告警通知通过钉钉进行消息推送 5.2.1 配置钉钉机器人 创建钉钉群找到群设置中的机器人 点击添加机器人 选择自定义webhook 配置如下信息 注意拷贝上面的Webhook地址和下面的加签信息后面配置中会用到 点击完成然后就可以看到机器人已经创建完成 5.2.2 获取钉钉webhook插件包 alertmanger必须通过webhoo插件才能将告警发送到钉钉/微信/飞书因此需要先安装webhook插件安装方式有二进制、docker和源码这里直接运行二进制文件 webhook插件官方地址GitHub - timonwong/prometheus-webhook-dingtalk: DingTalk integration for Prometheus Alertmanager 下载插件 wget https://github.com/timonwong/prometheus-webhook-dingtalk/releases/download/v2.1.0/prometheus-webhook-dingtalk-2.1.0.linux-arm64.tar.gz 解压插件安装包 tar xf prometheus-webhook-dingtalk-2.1.0.linux-arm64.tar.gz 修改目录名称 mv prometheus-webhook-dingtalk-2.1.0.linux-arm64 prometheus-webhook-dingtalk 5.2.3 修改配置文件信息并启动服务 进入上述webhook的目录修改yml配置文件配置信息如下这里可以暂时先配置一个webhoo即可其他的可以暂时注释掉 最后使用下面的命令进行启动 ./prometheus-webhook-dingtalk --config.file./config.yml --web.enable-ui 5.2.4 使用docker的方式安装 如果仍然觉得使用上面插件包的方式弄起来麻烦可以使用下面的docker-compose的方式做 创建一个config.yml配置文件 配置如下内容webhook的信息改为你自己的即可 targets:webhook1:url: https://oapi.dingtalk.com/robot/send?access_tokenaa06a9c58dfa03080c46cd243f3e81560e43d66da434d0a84ecbe2954bc58csecret: SEC85684de209427ba29a4d20541e86b62520068ffb3fef2dfca91af2485627c3 创建docker-compose.yml文件 配置如下内容 version: 3.3 services:webhook: image: timonwong/prometheus-webhook-dingtalk:v2.1.0container_name: prometheus-webhook-dingtalkports: - 8060:8060command: - --config.file/etc/prometheus-webhook-dingtalk/config.ymlvolumes: - /usr/local/soft/pro/prometheus-webhook-dingtalk/config.yml:/etc/prometheus-webhook-dingtalk/config.yml - /etc/localtime:/etc/localtime:ro 启动docker服务 使用docker-compose命令启动 docker-compose up -d 使用docker命令检查下容器是否启动 访问8060端点访问地址IP:8060浏览器看到下面的效果说明钉钉的webhook插件服务已经可以使用 5.2.5 修改altermanager的配置 进入altermanager安装目录找到alertmanager.yml配置钉钉的webhook信息如下 5.2.6 重启altermanager服务 重启之后模拟5.1中的操作我们将node_exporter服务进行手动kill在Prometheus上面可以看到如下信息 等待一分钟之后由于满足了告警规则的触发条件此时将告警信息推送到了钉钉的webhook地址然后再在钉钉群中就能收到通知信息了如下 5.2.7 补充说明 上面总结来说做了两个示例演示一个是通过node_exporter的服务启动和宕机模拟验证是否能够正常触发告警规则然后再通过将告警规则中配置的信息以邮件或钉消息的方式进行推送基于此如果在实际项目中进行应用只需要参照类似的模式先定义待监控的指标告警规则然后配置告警规则被触发之后推送到指定的通知服务或者webhook地址即可。 六、写在文末 本文通过实际案例详细介绍了Alertnamager的使用并结合Prometheus配置告警触发规则将告警信息推送到特定的通知服务在实际项目中具有一定的实用和参考价值希望对看到的同学有用本篇到此结束感谢观看。
http://www.hkea.cn/news/14379469/

相关文章:

  • wap网站建设费用怎样提高网站的权重
  • 怎么关注网站 在手机上自媒体新手入门
  • html做静态网站微网站建设制作
  • 网站运营一月多少钱WordPress套壳
  • 高校官方网站建设做网站语言
  • 贵阳公司网站营销推广小程序有哪些
  • 正能量不良网站直接进入免费access 可以做网站不
  • 老房装修改造哪家好昆明做网站优化公司
  • 社区网站建设方案书搜了网推广
  • 可信的移动网站建设南通网站建设排名公司
  • 医美网站建设平台搭建图片
  • 船员专用网站开发建议淘宝上有做网站的吗
  • 奇缦科技珠海网站建设优化大庆市工程建设信息去哪个网站
  • 在线购物网站功能模块上海制作网站公司
  • 新乡网站建设哪家好网络技术服务
  • 刚做的网站适合做外链吗体现网站特色
  • 安徽省住房和城乡建设厅官方网站衡水网站联系电话
  • 番禺人才网官方网站信息公布烟台品牌网站建设
  • 徐州建站公司模板遵义网吧
  • 有路由器做网站公司字号大全
  • 户外运动网站建设策划如何介绍一个网站的促销功能
  • 编写 网站 语言济南学习做网站
  • 网站外链怎么做收银系统一套多少钱
  • app与网站网络维护协议
  • 什么情况下网站需要备案互联网电商
  • 中国建设银行青岛分行网站长春南京小学网站建设
  • 360网站弹窗推广怎么做的小程序注册哪类商标
  • 做展柜在哪些网站找客户wordpress 查看大图
  • 学习建设网站wordpress 文章不同背景图片
  • 网站建设千套素材制作企业网站的目的