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

第八周作业

1. 使用Prometheus完成blackbox、MySQL、Node的监控

(1)安装Prometheus

确保你已经安装并运行了Prometheus。如果还没有安装,可以参考Prometheus的官方文档进行安装。

(2)配置Prometheus

编辑Prometheus的配置文件(通常是prometheus.yml),添加相应的监控目标。

Node Exporter

Node Exporter用于监控主机的CPU、内存、磁盘和网络等指标。

scrape_configs:- job_name: 'node'static_configs:- targets: ['<10.0.0.100>:9100']
MySQL Exporter

MySQL Exporter用于监控MySQL数据库。

  - job_name: 'mysql'static_configs:- targets: ['<10.0.0.101>:9104']
Blackbox Exporter

Blackbox Exporter用于监控网络服务的可用性(如HTTP、TCP等)。

  - job_name: 'blackbox'metrics_path: /probeparams:module: [http_200]  # 可以根据需要修改为其他模块static_configs:- targets:- http://example.comrelabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: <10.0.0.102>:9115  # Blackbox Exporter的地址

2. 配置告警:Node主机CPU使用率大于90%告警

(1)创建告警规则

创建一个告警规则文件(如alert.rules),并添加以下规则:

groups:- name: node_alertsrules:- alert: HighCPUUsageexpr: 100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 90for: 1mlabels:severity: criticalannotations:summary: "High CPU usage on {{ $labels.instance }}"description: "CPU usage is above 90% for 1 minute."

(2)加载告警规则到Prometheus

prometheus.yml中添加告警规则文件的路径:

rule_files:- "alert.rules"

3. 配置告警:MySQL慢查询每分钟大于2条报警

(1)创建MySQL慢查询告警规则

alert.rules文件中添加以下规则:

  - alert: MySQLSlowQueriesexpr: rate(mysql_global_status_slow_queries[1m]) > 2for: 1mlabels:severity: warningannotations:summary: "High MySQL slow queries on {{ $labels.instance }}"description: "More than 2 slow queries per minute."

4. 配置Grafana大盘,监控主机的CPU、内存、磁盘、网络使用率

(1)安装Grafana

确保你已经安装并运行了Grafana。如果还没有安装,可以参考Grafana的官方文档进行安装。

(2)添加Prometheus数据源

在Grafana中添加Prometheus作为数据源:

  • 登录Grafana,进入Configuration -> Data Sources
  • 点击Add data source,选择Prometheus
  • 填写Prometheus的URL(如http://<prometheus_host>:9090),保存并测试连接。

(3)创建Dashboard

创建一个新的Dashboard,并添加以下面板:

  • CPU使用率
    • 查询:100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
  • 内存使用率
    • 查询:100 * (node_memory_MemTotal_bytes - node_memory_MemFree_bytes) / node_memory_MemTotal_bytes
  • 磁盘使用率
    • 查询:100 * (node_filesystem_size_bytes{fstype!="rootfs",fstype!="tmpfs",fstype!="devtmpfs"} - node_filesystem_free_bytes{fstype!="rootfs",fstype!="tmpfs",fstype!="devtmpfs"}) / node_filesystem_size_bytes{fstype!="rootfs",fstype!="tmpfs",fstype!="devtmpfs"}
  • 网络使用率
    • 查询:irate(node_network_receive_bytes_total{device!="lo"}[5m])(接收字节速率)
    • 查询:irate(node_network_transmit_bytes_total{device!="lo"}[5m])(发送字节速率)
http://www.wuyegushi.com/news/653.html

相关文章:

  • ASP.NET Core MVC 文件上传、文件扩展验证注解实现、文件扩展验证
  • 政治学和行政学属于法学
  • 基于RK3399嵌入式Linux驱动开发课程
  • Java日志框架
  • ASP.NET Core MVC 使用 EF Core 实现字段自动填充(如:添加时间 CreatedTime、更新时间 UpdatedTime)
  • 山西大同旅游攻略
  • 7月27日总结
  • 线性回归算法
  • 什么?智能体生成智能体?自我进化? - 戴维
  • 使用 Claude Code 的自定义 Sub Agent 完善博文写作体验
  • MCP 如何将你的 AI 从聊天机器人转变为工作流自动化利器
  • uart回环验证
  • POLIR-Laws-民法典:委托合同、行纪合同 和 中介合同 等的区别
  • MongoDB 安全数据替换脚本 (执行顺序:备份→校验→确认→清空→还原指定数据→失败回滚到备份)
  • 望言OCR视频字幕提取2025终极评测:免费版VS专业版提全方位对比(含免费下载
  • ASP.NET Core MVC 使用 X.PagedList.EF 实现分页、条件查询
  • 探索C++世界的奥秘:从核心特性到高效开发实践
  • 我的开源项目-PandaCoder迎来史诗级大更新啦
  • mongoDB 数据库的备份导出
  • 我在Android应用中发现硬编码的Facebook和Google API密钥(以及为什么这是个坏主意)
  • img convert
  • PPT_1 Word 内容 转 PPT
  • ACCESS 导出附件
  • 第二周假期进度报告(7.20 - 7.26)
  • CVE-2020-11981 Apache Airflow Celery 消息中间件命令执行漏洞 (复现)
  • nlogn分解质因数 - SPF(目前以学习最快分解质因数)
  • 在express中使用sqlite数据库的方法
  • 7.27
  • [ROI 2023] 峰值 (Day 1)
  • ASP.NET Core MVC 使用 EF Core 实现实体属性驼峰转下划线