prometheus + node_exporter + Grafana 及 prometheus 邮件告警

好记性 不如烂笔头

一、服务端 环境部署(prometheus + node_exporter + Grafana )

yum install bash-completion vim wget lrzsz unzip net-tools -y

部署
1、下载

wget -c https://github.com/prometheus/prometheus/releases/download/v2.29.2/prometheus-2.29.2.linux-amd64.tar.gz
wget -c https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz

2、解压

tar -xf prometheus-2.29.2.linux-amd64.tar.gz -C /usr/local/
tar -xf node_exporter-1.2.2.linux-amd64.tar.gz -C /usr/local/

3、配置

cd /usr/local/
ln -s prometheus-2.29.2.linux-amd64 prometheus
ln -s node_exporter-1.2.2.linux-amd64/ node_exporter
cd prometheus
mkdir targets
cd targets/

cat /usr/local/prometheus/targets/nodes-all.yaml

- targets:
  - 192.168.0.58:9100
  - 192.168.0.59:9100
  labels:
    app: node-exporter
    job: node

[root@localhost ~]# cat /usr/local/prometheus/prometheus.yml |grep -vE ‘#|^$’

global:
alerting:
  alertmanagers:
    - static_configs:
        - targets:
rule_files:
scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]
    
  - job_name: "nodes"
    file_sd_configs:
      - files:
        - targets/nodes-*.yaml
        refresh_interval: 2m
	#这里为 文件发现node_exports

4、启动:

cd /usr/local/prometheus ; nohup ./prometheus &
#node端服务器
cd /usr/local/node_exporter ; nohup ./node_exporter &

5、Grafana

 wget -c https://dl.grafana.com/oss/release/grafana-8.1.2.linux-amd64.tar.gz
tar -xf grafana-8.1.2.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/
ln -s grafana-8.1.2 grafana
cd /usr/local/grafana/bin  &&  nohup ./grafana-server &
#[root@test grafana-6.7.4]# bin/grafana-server web &
ip:3000		admin	admin

这里有很多模板,可以直接使用:
https://grafana.com/grafana/dashboards
我node使用的是: 13105
ID:8919也给力

二、邮件告警

wget -c https://github.com/prometheus/alertmanager/releases/download/v0.23.0/alertmanager-0.23.0.linux-amd64.tar.gz

1、prometheus主服务配置
cat prometheus.yml |grep -vE ‘#|^$’

global:
alerting:
  alertmanagers:
    - static_configs:
      - targets:
        - 192.168.0.58:9093
rule_files:
  - "rules/*.yaml"
  - "alert_rules/*.yaml"
scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]
    
  - job_name: "nodes"
    file_sd_configs:
      - files:
        - targets/nodes-*.yaml
        refresh_interval: 2m
  - job_name: "alertmanager"
    static_configs:
      - targets: ["192.168.0.58:9093"]

2、告警规则
cat alert_rules/instance_down.yaml

groups:
- name: AllInstances
  rules:
  - alert: InstanceDown
    expr: up == 0
    for: 20s
    annotations:
      title: "Instance down"
      description: 'Instance has been down for more than 20 secondes .'
    labels:
      severity: 'critical'

3、alertmanager.yml 路由设置

 cat /usr/local/alertmanager/alertmanager.yml
route:
  group_by: ['alertname']
  group_wait: 10s
  group_interval: 10s
  repeat_interval: 10s
  receiver: '收信箱'
receivers:
- name: '收信箱'
  email_configs:
  - to: '收信箱'
    from: '发信箱@163.com'
    smarthost: 'smtp.163.com:465'
    auth_username: '发信箱@163.com'
    auth_identity: '发信箱@163.com'
    auth_password: 'QHILVALBZLYPIPCI'
    require_tls: false
    send_resolved: true
inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
    equal: ['alertname', 'dev', 'instance']

告警
在这里插入图片描述
解除告警
在这里插入图片描述

注:
如果没有收到解除告警,检查alertmanager.yml,是否有

    send_resolved: true

-----------------------end

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
一、prometheus简介 Prometheus是一个开源的系统监控和告警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF维护管理的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,prometheus支持多种exporter采集数据,还支持通过pushgateway进行数据上报,Prometheus再性能上可支撑上万台规模的集群。 二、prometheus架构图 三、prometheus组件介绍 1.Prometheus Server: 用于收集和存储时间序列数据。 2.Client Library: 客户端库,检测应用程序代码,当Prometheus抓取实例的HTTP端点时,客户端库会将所有跟踪的metrics指标的当前状态发送到prometheus server端。 3.Exporters: prometheus支持多种exporter,通过exporter可以采集metrics数据,然后发送到prometheus server端 4.Alertmanager: 从 Prometheus server 端接收到 alerts 后,会进行去重,分组,并路由到相应的接收方,发出报警,常见的接收方式有:电子邮件,微信,钉钉, slack等。 5.Grafana:监控仪表盘 6.pushgateway: 各个目标主机可上报数据到pushgatewy,然后prometheus server统一从pushgateway拉取数据。 四、课程亮点 五、效果图展示 六、讲师简介 先超(lucky):高级运维工程师、资深DevOps工程师,在互联网上市公司拥有多年一线运维经验,主导过亿级pv项目的架构设计和运维工作 主要研究方向: 1.云计算方向:容器 (kubernetes、docker),虚拟化(kvm、Vmware vSphere),微服务(istio),PaaS(openshift),IaaS(openstack)等2.系统/运维方向:linux系统下的常用组件(nginx,tomcat,elasticsearch,zookeeper,kafka等),DevOps(Jenkins+gitlab+sonarqube+nexus+k8s),CI/CD,监控(zabbix、prometheus、falcon)等 七、课程大纲
好的,下面是prometheus+node_exporter+grafana的详细部署流程: 1. 下载并安装Prometheus 首先,需要从Prometheus的官方网站 https://prometheus.io/download/ 下载最新版本的Prometheus。下载完成后,解压缩并将其放在合适的位置。然后,可以通过以下命令启动Prometheus: ``` ./prometheus --config.file=prometheus.yml ``` 这里的“prometheus.yml”是Prometheus的配置文件,可以根据需要进行修改。 2. 下载并安装Node Exporter Node Exporter是一个用于收集主机指标的代理程序,可以通过以下命令下载最新版本的Node Exporter: ``` wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz ``` 下载完成后,解压缩并将其放在合适的位置。然后,可以通过以下命令启动Node Exporter: ``` ./node_exporter ``` 3. 配置Prometheus以监控Node Exporter 要监控Node Exporter,需要将其添加到Prometheus的配置文件中。打开“prometheus.yml”文件并添加以下内容: ``` scrape_configs: - job_name: 'node_exporter' scrape_interval: 5s static_configs: - targets: ['localhost:9100'] ``` 这里的“targets”是Node Exporter的地址和端口号。如果要监控多个Node Exporter,则可以添加多个目标。 4. 下载并安装Grafana Grafana是一个用于可视化监控数据的开源平台,可以通过以下命令下载最新版本的Grafana: ``` wget https://dl.grafana.com/oss/release/grafana-7.1.5.linux-amd64.tar.gz ``` 下载完成后,解压缩并将其放在合适的位置。然后,可以通过以下命令启动Grafana: ``` ./bin/grafana-server ``` 5. 配置Grafana 要将PrometheusGrafana集成,需要在Grafana中添加一个数据源。打开Grafana并导航到“Configuration”>“Data Sources”>“Add Data Source”: - 在“Name”字段中输入数据源的名称。 - 在“Type”字段中选择“Prometheus”。 - 在“HTTP”字段中输入Prometheus的地址和端口号。 - 单击“Save & Test”以保存数据源并测试连接。 接下来,可以创建一个仪表盘并添加一个面板以显示Prometheus的数据。导航到“Create”>“Dashboard”>“Add Panel”: - 选择要显示的指标。 - 选择要显示的图表类型。 - 单击“Apply”以保存面板。 6. 查看监控数据 现在,可以通过Grafana查看收集到的监控数据。导航到仪表盘,将其刷新以更新数据,并查看面板中的图表。 以上就是prometheus+node_exporter+grafana的详细部署流程。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值