Prometheus 安装部署

文章目录

      • 1.部署Prometheus
        • 1.1.修改配置文件
        • 1.2.配置告警规则
        • 1.3.运行Docker
      • 2.部署Alertmanager
        • 2.1.修改配置文件
        • 2.2.Prometheus监控配置
        • 2.3.运行Docker
      • 3.部署Grafana
        • 3.1.运行Docker
        • 3.2. 配置数据源
        • 3.3. 配置dashboard

  • 开源中间件
# Prometheushttps://iothub.org.cn/docs/middleware/
https://iothub.org.cn/docs/middleware/prometheus/prome-deploy/

1.部署Prometheus

1.1.修改配置文件
  • 准备工作
# 创建目录
mkdir -p /prometheus/prometheus
mkdir -p /prometheus/prometheus/data
mkdir -p /prometheus/prometheus/rules
chmod 777 -R /prometheus/prometheus/dat# 创建配置文件
/prometheus/prometheus/prometheus.yml
touch prometheus.yml
  • 修改配置文件
# 修改配置文件
/prometheus/prometheus/prometheus.yml# prometheus.yml:
global:scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.alerting:alertmanagers:- static_configs:- targets:- 172.17.88.22:9093rule_files:- "rules/*.yml"scrape_configs:- job_name: prometheusstatic_configs:- targets: ['localhost:9090']labels:instance: prometheus- job_name: alertmanagerscrape_interval: 5sstatic_configs:- targets: ['172.17.88.22:9093']labels:instance: alert- job_name: centos-1static_configs:- targets: ['172.17.88.22:9100']labels:instance: node-1- job_name: centos-2static_configs:- targets: ['172.17.88.19:9100']labels:instance: node-2- job_name: centos-3static_configs:- targets: ['172.17.88.18:9100']labels:instance: node-3- job_name: docker-1static_configs:- targets: ['172.17.88.22:9601']labels:instance: node-1- job_name: docker-2static_configs:- targets: ['172.17.88.19:9601']labels:instance: node-2   - job_name: docker-3static_configs:- targets: ['172.17.88.18:9601']labels:instance: node-3     - job_name: redis-1static_configs:- targets: ['172.17.88.22:9121']labels:instance: redis-01    - job_name: redis-2static_configs:- targets: ['172.17.88.19:9121']labels:instance: redis-02    - job_name: redis-3static_configs:- targets: ['172.17.88.18:9121']labels:instance: redis-03- job_name: rabbitmq-elkstatic_configs:- targets: ['172.17.88.22:9419']labels:instance: mq-elk- job_name: rabbitmq-nodestatic_configs:- targets: ['172.17.88.19:9419']labels:instance: mq-node- job_name: postgres-1static_configs:- targets: ['172.17.88.22:9187']labels:instance: pg-1- job_name: postgres-2static_configs:- targets: ['172.17.88.19:9187']labels:instance: pg-2    - job_name: es-clusterstatic_configs:- targets: ['172.17.88.22:9114', '172.17.88.19:9114', '172.17.88.18:9114']labels:instance: es- job_name: mysqlstatic_configs:- targets: ['172.17.88.22:9104']labels:instance: mysqld- job_name: nginx-1static_configs:- targets: ['172.17.88.22:9913']labels:instance: nx-1- job_name: nginx-3static_configs:- targets: ['172.17.88.18:9913']labels:instance: nx-3- job_name: spring-boot-actuatormetrics_path: '/actuator/prometheus'scrape_interval: 5sstatic_configs:- targets: ['172.17.88.22:8888']labels:instance: spring-actuator- job_name: haproxyscrape_interval: 5sstatic_configs:- targets: ['172.17.88.18:9101']labels:instance: ha1- job_name: HikariCPscrape_interval: 5smetrics_path: '/actuator/prometheus'static_configs:- targets: ['172.17.88.22:28081']labels:instance: dbPool
1.2.配置告警规则
  • 准备工作
# 创建目录
mkdir -p /prometheus/prometheus/rules# 创建配置文件
/prometheus/prometheus/rules/memory_over.yml
/prometheus/prometheus/rules/node_down.ymltouch memory_over.yml
touch node_down.yml
  • 修改配置文件
# 修改memory_over.yml
/prometheus/prometheus/rules/memory_over.ymlgroups:
- name: examplerules:- alert: NodeMemoryUsageexpr: (1 - (node_memory_MemAvailable_bytes / (node_memory_MemTotal_bytes))) * 100 > 80for: 1mlabels:severity: warningannotations:summary: "{{$labels.instance}}: High Memory usage detected"description: "{{$labels.instance}}: Memory usage is above 80% (current value is:{{ $value }})"# 修改node_down.yml
/prometheus/prometheus/rules/node_down.ymlgroups:
- name: node-uprules:- alert: node-upexpr: up{job="centos-3"} == 0for: 15slabels:severity: 1team: nodeannotations:summary: "{{ $labels.instance }} 已停止运行!"description: "{{ $labels.instance }} 检测到异常停止!请重点关注!!!"
1.3.运行Docker
# 运行docker docker run -d --network host --name prometheus --restart=always \
-v /prometheus/prometheus:/etc/prometheus \
-v /prometheus/prometheus/data:/prometheus \
-e TZ=Asia/Shanghai \
prom/prometheus
# 访问地址http://47.95.238.119:9090

2.部署Alertmanager

2.1.修改配置文件
  • 准备工作
# 创建目录
mkdir -p /prometheus/alertmanager/template
mkdir -p /prometheus/alertmanager/data
chmod 777 -R /prometheus/alertmanager/data# 创建配置文件
/prometheus/alertmanager/alertmanager.yml
touch alertmanager.yml
  • 修改配置文件
# 修改配置文件
/prometheus/prometheus/alertmanager.yml# alertmanager.yml:
# 一条报警记录同时发给应用、邮箱、钉钉global:  # 全局配置项resolve_timeout: 5m #超时,默认5minsmtp_smarthost: 'smtp.163.com:465'smtp_from: 'hollysys_test@163.com'smtp_auth_username: 'hollysys_test@163.com'smtp_auth_password: 'NBJAGQUIDIJNAQDF'  # 授权码:NBJAGQUIDIJNAQDFsmtp_require_tls: falsetemplates:  # 定义模板信息- 'template/*.tmpl'   # 路径route:  # 路由group_by: ['alertname'] # 报警分组依据group_wait: 10s #组等待时间group_interval: 10s # 发送前等待时间repeat_interval: 1h #重复周期receiver: default # 默认警报接收者receivers:  # 警报接收者
- name: default #警报名称email_configs:- to: '{{ template "email.to" . }}'  #接收警报的emailhtml: '{{ template "email.to.html" . }}' # 模板headers: { Subject: "[WARN] 报警邮件test" }send_resolved: truewebhook_configs:- url: http://172.17.88.22:8888/monitor- url: http://172.17.88.22:8060/dingtalk/webhook1/sendsend_resolved: trueinhibit_rules:  # 告警抑制- source_match:severity: 'critical'target_match:severity: 'warning'equal: ['alertname', 'dev', 'instance']

在这里插入图片描述

2.2.Prometheus监控配置
# prometheus配置- job_name: alertmanagerscrape_interval: 5sstatic_configs:- targets: ['172.17.88.18:9093']labels:instance: alert
# 访问地址http://47.95.238.119:9093/metrics
curl '172.17.88.22:9093/metrics'
2.3.运行Docker
# 运行dockerdocker run -d --network host --name alertmanager --restart=always \
-v /prometheus/alertmanager:/etc/alertmanager \
-v /prometheus/alertmanager/data:/alertmanager \
prom/alertmanager
### 访问地址http://123.56.18.37:9093

3.部署Grafana

3.1.运行Docker
# 创建目录
mkdir -p /prometheus/grafana/data
chmod 777 -R /prometheus/grafana/data# 运行docker 
docker run -d --network host --name=grafana --restart=always \
-v /prometheus/grafana/data:/var/lib/grafana \
grafana/grafana
# 访问地址
http://47.95.238.119:3000# 默认账号密码
用户名:admin
密码:  admin
3.2. 配置数据源

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3. 配置dashboard
  • 官网模板
# 访问官网地址https://grafana.com/
https://grafana.com/grafana/dashboards

在这里插入图片描述
在这里插入图片描述

# 根据模板ID查找模板
ID: 8919
https://grafana.com/grafana/dashboards/8919
  • 导入官网模板
# 访问Grafana地址http://123.56.18.37:3000/login

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 开源中间件
# Prometheushttps://iothub.org.cn/docs/middleware/
https://iothub.org.cn/docs/middleware/prometheus/prome-deploy/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/537089.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux paddle For C++环境搭建

paddle介绍 Paddle是类似tesseract的文字识别ocr。因为tesseract-ocr的中文识别效果不好。因此才准备安装Paddle。Paddle最方便的安装方式的使用Python的包管理安装。pip3 install paddlepaddle。但我使用了一下感觉还是用C更加方便,QT OpenCV Paddle应当还不错。…

哈密顿算子的计算公式及一些常用公式总结

目录 哈密顿算子的定义式如下: 梯度定义: 散度定义: 旋度定义: 常用的一些公式: 注意文中字母上面没有→的是标量,有→的都表示矢量 哈密顿算子的定义式如下: 快速了解哈密顿算符&#xff…

华为组网:核心交换机旁挂防火墙,基于ACL重定向配置实验

如图所示,由于业务需要,用户有访问Internet的需求。 用户通过接入层交换机SwitchB和核心层交换机SwitchA以及接入网关Router与Internet进行通信。为了保证数据和网络的安全性,用户希望保证Internet到服务器全部流量的安全性,配置重…

基于LIO-SAM 算法的三维激光SLAM 建图

运行环境 Linux:Ubuntu18.04ros:MelodicCeres Solver 2.0.0(Ubuntu18.04安装Ceres)PCL 1.8.1(Ubuntu系统的PCL、Eigen卸载和安装)gtsam-4.0.0-alpha2 或者 4.0.2 1 背景介绍 在自动驾驶的感知方案中&…

Linux发展史目录结构Vim编辑器

Linux入门 一、Linux的发展史二、Linux的目录结构2.1 Linux系统中一切皆文件2.2 Linux中几个重要的目录 三、VIM编辑器3.1 用户名主机名 /xxx的含义3.2 一般模式3.3 编辑模式和指令模式3.4 三种模式之间的转换 一、Linux的发展史 上面俩兄弟用C语言写出了Unix操作系统(右边那个…

C++学习随笔(4)——类和对象的初探

本章我们来初步学习一下C中的类和对象! 目录 1.类的引入 2.类的定义 类的两种定义方式: 3.类的访问限定符及封装 3.1 访问限定符 3.2 封装 4.类的作用域 5.类的实例化 6.类对象模型 6.1 如何计算类对象的大小 6.2 类对象的存储方式猜测 6.3 …

HM v.16.22 顺序读源码day2---TAppEncTop.cpp

文章目录 TAppEncTop.cpp引言Void TAppEncTop::encode()1.打开YUV文件并初始化编码器和缓冲区2.循环编码3.收尾工作:Debug和释放资源 执行流程实现细节1.Class TAppEncTop;2.Void TAppEncTop::xInitLibCfg()3.Void TAppEncTop::xCreateLib();4.Void TAppEncTop::xIn…

strcpy的模拟实现

strcpy函数的定义: strcpy函数功能的解释: 会将源字符串中的 内容包括\0 拷贝到目标数组,所以源字符串必须以 \0 结束。 返回值为拷贝完成后的目标数组的首地址。 Const 是因为源字符串的内容不需要被修改,所以const最好。 strcpy…

吴恩达机器学习-可选的实验室-正则化成本和梯度(Regularized Cost and Gradient)

文章目录 目标添加正则化正则化代价函数正则化梯度下降重新运行过拟合示例恭喜 目标 在本实验中,你将: 用正则化项扩展前面的线性和逻辑代价函数。重新运行前面添加正则化项的过拟合示例。 import numpy as np %matplotlib widget import matplotlib.pyplot as p…

flutter入门

本文真对 Flutter 的技术特性,做了一些略全面的入门级的介绍,如果你听说过Flutter,想去了解它,但是又不想去翻厚厚的API,那么本文就是为你准备的。 随着纯客户端到Hybrid技术,到RN&Weex,再…

AUTOSAR软件配置(3):MCAL下载安装

前言 所有的NXP软件的下载安装都是需要自己在官网去注册账号的 中文的NXP官方网址:恩智浦半导体官方网站 | NXP 半导体 注:本文指导安装教程将以S32K144平台为例展开。 下载 找到下载入口的指引 然后在左侧的导航栏找到AUTOSAR 然后选择4.2版本 在…

buuctf warmup 超详细

目录 1.代码审计&#xff1a; 2.逻辑分析 3.总结分析 4.分析记录 5.疑点解答 1.代码审计&#xff1a; <?phphighlight_file(__FILE__);class emmm //定义了一个类{public static function checkFile(&$page) 类里面又申明创建…