简单实操,可直接拷贝命令执行

前提条件:

centos7  10.11.7.95

关闭selinux
vi /etc/sysconfig/selinuxSELINUX=disabled
setenforce 0关闭防火墙或者开放对应端口
systemctl stop firewalld
systemctl start firewalld需要开放端口
9090/tcp 3000/tcp 9093/tcp 8060/tcp9090 prometheus
3000 grafana
9093 alertmanager
8060 prometheus-dingfirewall-cmd --zone=public --list-ports 查看端口
firewall-cmd --zone=public --query-port=80/tcp    查看端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent        添加端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent    删除端口
firewall-cmd --reload
systemctl reload firewalld.service

一、安装Prometheus平台

从 https://prometheus.io/download/ 下载相应版本 并 安装

访问地址:http://10.11.7.95:9090/

cd /home/ && mkdir package && cd package下载对应安装包:
wget https://github.com/prometheus/prometheus/releases/download/v2.37.0/prometheus-2.37.0.linux-amd64.tar.gz解压至指定文件夹
tar -zxvf /home/package/prometheus-2.37.0.linux-amd64.tar.gz -C /usr/local/创建软链
ln -s /usr/local/prometheus-2.37.0.linux-amd64/ /usr/local/prometheus配置prometheus开机自启
vi /usr/lib/systemd/system/prometheus.service
写入以下信息:
[Unit]
Description=https://prometheus.io[Service]
Restart=on-failure
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/usr/local/prometheus/data
[Install]
WantedBy=multi-user.targetsystemctl start prometheus
systemctl status prometheus
systemctl enable prometheus

二、搭建grafana平台

https://grafana.com/grafana/download

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.0.2-1.x86_64.rpm
yum -y install grafana-enterprise-9.0.2-1.x86_64.rpm启动-并开机自启
systemctl start grafana-server
systemctl enable grafana-server

访问地址:http://10.11.7.95:3000/login        admin/admin登陆后修改密码

data sources添加数据源:http://10.11.7.95:9090

三、安装node_exporter

四、节点添加入监控--展示

cd /usr/local/prometheus/
cp /usr/local/prometheus/prometheus.yml /usr/local/prometheus/prometheus.yml.bak添加对应的需监控信息
vi /usr/local/prometheus/prometheus.yml检测填写是否正确
./promtool check config prometheus.ymlChecking prometheus.ymlSUCCESS: prometheus.yml is valid prometheus config file syntax重启prometheus
systemctl restart prometheus

导入模板id :16098

五、安装alertmanager报警

cd /home/package
wget https://github.com/prometheus/alertmanager/releases/download/v0.21.0/alertmanager-0.21.0.linux-amd64.tar.gz解压至指定文件夹
tar -zxvf /home/package/alertmanager-0.21.0.linux-amd64.tar.gz -C /usr/local/
软连接
ln -s /usr/local/alertmanager-0.21.0.linux-amd64/ /usr/local/alertmanagercd /usr/local/alertmanager && cp alertmanager.yml alertmanager.yml.bak
vi alertmanager.ymlglobal:resolve_timeout: 5msmtp_smarthost: 'smtp.126.com:25'      # smtp地址smtp_from: 'XXXXXXXX@126.com'          # 谁发邮件smtp_auth_username: 'XXXXXXXX@126.com' # 邮箱用户smtp_auth_password: 'XXXXXXXXXXXXXXXX' # 邮箱客户端授权密码smtp_require_tls: falsetemplates:                               # 指定邮件模板的路径,可以使用相对路径,template/*.tmp的方式- '/usr/local/alertmanager/template/*.tmp'route:                                   # route用来设置报警的分发策略group_by: ["alertname"]                # 分组名group_wait: 30s                        # 当收到告警的时候,等待三十秒看是否还有告警,如果有就一起发出去group_interval: 30s                    # 发送警告间隔时间repeat_interval: 20m                   # 重复报警的间隔时间receiver: Node_warning                 # 设置默认接收人,如果想分组接收,把下面这段的注释去掉receivers:                               # 定义接收者,将告警发送给谁
- name: 'Node_warning'email_configs:- send_resolved: trueto: 'Austines@163.com'html: '{{ template "email.html" . }}' # 指定使用模板,如果不指定,还是会加载默认的模板的headers: { Subject: "[WARN]告警" }    # 配置邮件主题webhook_configs:- url: http://127.0.0.1:8060/dingtalk/webhook/send       #警报被解决之后是否通知 消息模板/usr/local/prometheus-webhook-dingtalk/config.ymlsend_resolved: true################结束###############webhook_configs为钉钉消息mkdir template && vi template/email.tmp{{ define "email.html" }}{{ range .Alerts }}
<pre>========start==========告警程序: prometheus_alert 告警级别: {{ .Labels.severity }} 告警类型: {{ .Labels.alertname }} 故障主机: {{ .Labels.instance }} 告警主题: {{ .Annotations.summary }}告警详情: {{ .Annotations.description }}触发时间: {{ (.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}========end==========
</pre>{{ end }}
{{ end }}################结束###############检测配置是否正确
./amtool check-config alertmanager.yml配置alertmanager开机自启动
vi /usr/lib/systemd/system/alertmanager.service[Unit]
Description=https://prometheus.io[Service]
Restart=on-failure
ExecStart=/usr/local/alertmanager/alertmanager --config.file=/usr/local/alertmanager/alertmanager.yml
[Install]
WantedBy=multi-user.target启动 && 自启动
systemctl start alertmanager
systemctl enable alertmanager访问地址http://10.11.7.95:9093/#/alerts

在grafana的alert-admin中添加alertmanager地址

在grafana的alert-Concat point中添加Alertmanager预警

在grafana的alert-Policies中使用Alertmanager预警

六、配置钉钉预警

cd /home/packagewget https://github.com/timonwong/prometheus-webhook-dingtalk/releases/download/v1.4.0/prometheus-webhook-dingtalk-1.4.0.linux-amd64.tar.gztar -zxvf prometheus-webhook-dingtalk-1.4.0.linux-amd64.tar.gz -C /usr/local/ln -s /usr/local/prometheus-webhook-dingtalk-1.4.0.linux-amd64/ /usr/local/prometheus-webhook-dingtalkcd /usr/local/prometheus-webhook-dingtalk修改相关配置
vi config.yml# Request timeouttimeout: 5s## Customizable templates path
# templates:
#   - contrib/templates/legacy/template.tmpl
#模板文件templates:- /usr/local/prometheus-webhook-dingtalk/template/*.tmp## You can also override default template using `default_message`
## The following example to use the 'legacy' template from v0.3.0
# default_message:
#   title: '{{ template "legacy.title" . }}'
#   text: '{{ template "legacy.content" . }}'## Targets, previously was known as "profiles"targets:webhook:url: https://oapi.dingtalk.com/robot/send?access_token=**************message:# Use legacy templatetitle: '{{ template "ding.link.title" . }}'text: '{{ template "ding.link.content" . }}'###############结束#############创建模板文件
mkdir template && vi template/template.tmp{{ define "__subject" }}[Linux 基础监控告警:{{ .Alerts.Firing | len }}] {{ end }}{{ define "__text_list" }}{{ range . }}{{ range .Labels.SortedPairs }}
{{ if eq .Name "instance" }}> 实例: {{ .Value | html }}{{ end }}
{{ end }}{{ range .Labels.SortedPairs }}
{{ if eq .Name "serverity" }}> 告警级别: {{ .Value | html }}{{ end }}
{{ if eq .Name "hostname" }}> 主机名称: {{ .Value | html }}{{ end }}
{{ end }}{{ range .Annotations.SortedPairs }}
{{ if eq .Name "description" }}> 告警详情: {{ .Value | html }}{{ end }}
{{ end }}
触发时间: {{ (.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}{{"============================"}}
{{ end }}{{ end }}{{ define "ding.link.title" }}{{ template "__subject" . }}{{ end }}
{{ define "ding.link.content" }}
{{ if gt (len .Alerts.Firing) 0 }}#### [{{ .Alerts.Firing | len }}]【Linux 报警触发】
{{ template "__text_list" .Alerts.Firing }}{{ end }}
{{ if gt (len .Alerts.Resolved) 0 }}#### [{{ .Alerts.Resolved | len }}]【Linux 报警恢复】
{{ end }}
{{ end }}配置开机自启动服务
vi /usr/lib/systemd/system/prometheus-webhook-dingtalk.service[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target[Service]
ExecStart=/usr/local/prometheus-webhook-dingtalk/prometheus-webhook-dingtalk  --config.file=/usr/local/prometheus-webhook-dingtalk/config.yml
[Install]
WantedBy=default.target启动 && 开机自启动
systemctl start prometheus-webhook-dingtalk
systemctl enable prometheus-webhook-dingtalk

七、编写prometheus告警规则

cd /usr/local/prometheus && mkdir rules && cd rules参考
https://www.bbsmax.com/A/1O5EQv7G57/修改对应位置
vi prometheus.yml# Alertmanager configuration
alerting:alertmanagers:- static_configs:- targets:- 127.0.0.1:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:- "rules/*.yml"# - "first_rules.yml"# - "second_rules.yml"重启服务
systemctl restart prometheus

到此时,钉钉已经能推送消息

Prometheus普罗米修斯监控+Alertmanager预警+钉钉预警相关推荐

  1. 一篇文章搞定Prometheus普罗米修斯监控系统的部署

    Prometheus普罗米修斯监控系统 一.普罗米修斯监控概述 1.1 什么是普罗米修斯监控 二.时间序列数据 2.1 什么是序列数据 2.2 时间序列数据特点 2.3 普罗米修斯特征 三.普罗米修斯 ...

  2. 【监控】Prometheus(普罗米修斯)监控概述

    文章目录 一.监控系统概论 二.基础资源监控 2.1.网络监控 2.2.存储监控 2.3.服务器监控 2.4.中间件监控 2.5.应用程序监控(APM) 三.Prometheus 简介 3.1.什么是 ...

  3. 普罗米修斯监控linux,Prometheus(普罗米修斯)搭建监控

    Prometheus(普罗米修斯) 实验环境:(各个主机,ip,所需服务) docker01 docker02 docker03 1.10 1.20 1.30 NodeEXporter NodeEXp ...

  4. 普罗米修斯 监控_完美的分布式监控系统——普罗米修斯

    DevOps工程师或SRE工程师,可能都知道Prometheus普罗米修斯.Prometheus于2012年由SoundCloud创建,目前已经已发展为最热门的分布式监控系统.Prometheus完全 ...

  5. 普罗米修斯 监控_接近完美的监控系统—普罗米修斯

    普罗米修斯(Prometheus)是一个SoundCloud公司开源的监控系统.当年,由于SoundCloud公司生产了太多的服务,传统的监控已经无法满足监控需求,于是他们在2012年决定着手开发新的 ...

  6. Prometheus 普罗米修斯

    Prometheus 普罗米修斯 Prometheus由go语言开发,是一套开源的监控.报警.时间序列数据库的组合.适合监控docker容器.因为Kubernetes (K8S) 的流行带动了prom ...

  7. 普罗米修斯监控docker 服务

    环境 192.168.254.127 (监控服务器) 192.168.254.128 (被监控机器) 首先在监控服务器安装: 1.安装Node Exporter 来收集硬件信息 所有节点运行以下命令安 ...

  8. 普罗米修斯监控服务之-监控携带metric接口的服务

    第一部分:课前小菜: 例子: 分布式:将多台Linux主机组合在一起,做成像一台主机一样来使用 微服务:将一台Linux主机拆分成多台Linux使用 淘宝:搜索页.商品详情页.订单页.支付页.物流.评 ...

  9. 阿尔萨斯监控平台普罗米修斯监控平台对服务器资源的监控

    一.arthas-阿尔萨斯监控平台 内存监控: 1.打开RDMS,选择应用实例,在'快捷方式'下拉选项中选择arthas 2.打开监控界面,输入:dashboard -i 5000 备注:-i 刷新实 ...

最新文章

  1. 德国蓝皮书:解决特定问题 德国渐进建设智慧城市
  2. 《JavaScript设计模式与开发实践》阅读摘要
  3. 三、前端开发-CSS
  4. 边缘计算架构_边缘计算架构梳理
  5. Codeblocks无法输出中文和中文乱码解决方法(亲测可用)
  6. 如何在PowerPoint演示文稿中使用iTunes音乐
  7. Android Studio开发基础之AutoCompleteTextView控件的使用
  8. 让Visual Studio 也支持JS代码折叠 —— 续 [ Visual Studio | Js | ScriptOutline | SmallOutline ]...
  9. OpenShift 4 - 部署Mirror Registry并复制Image
  10. 关于自动装箱和自动拆箱
  11. Linux安装tomcat并使用+热部署
  12. 天若OCR v5.0 自用免配置增强版
  13. 2021年复盘总结发现了C站博主缺少的赚钱之路
  14. 三星note10安装linux,三星Note10/Note10+新款Dex已支持Win10/macOS
  15. 超级冷笑话,冷死人不偿命
  16. 一行代码一道题:求2的幂次方
  17. 使用python读写文件_使用Python读写文件(指南)
  18. wordpress mysql 密码重置_WordPress登录密码找回办法之修改数据库篇 | Wopus
  19. 【2022修复版】社群扫码进群活码引流完整运营源码/对接免签约支付接口/推广正常绑定下级/带视频搭建教程
  20. 【数据库实验】实验二 学习SQL 语句的数据操纵与视图

热门文章

  1. 服务器远程安装Matlab2015
  2. Oracle登录错误遭遇ORA-01033解决方法(新测有效ORACLE8.17)
  3. Python爬虫(二)
  4. 锤子科技撤回全部破产申请,罗永浩或将重回科技行业
  5. unity读取灰度图生成等值线图
  6. 海面红外目标检测——视觉注意力模型
  7. 机器学习|卷积神经网络(CNN) 手写体识别 (MNIST)入门
  8. Hadoop,Spark面试题汇总
  9. 蓝牙开关与手机蓝牙开关联动
  10. JS 正则 只能输入中文,英文,数字及特定符号