热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

smartadminmysql_Prometheus、Alertmanager、Grafana监控Linux与MySQL

检查各个端口的放行部署各个模块与应用cdusrlocalPrometheus_composevimdocker-compose.ymlversion:3services:pro

0156ca73470fcc0a92eede262484a3b1.png//检查各个端口的放行

//部署各个模块与应用

cd /usr/local/Prometheus_compose

vim docker-compose.yml

version: "3"

services:

prom:

image: quay.io/prometheus/prometheus:latest

container_name: prometheus

volumes:

- ./prometheus:/etc/prometheus

command: "--config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus"

ports:

- 9090:9090

depends_on:

- exporter

environment:

- TZ=Asia/Shanghai

exporter:

image: prom/node-exporter:latest

container_name: node-exporter

hostname: cicd

ports:

- "9100:9100"

environment:

- TZ=Asia/Shanghai

grafana:

image: grafana/grafana

container_name: grafana

ports:

- "3000:3000"

environment:

- “GF_SECURITY_ADMIN_PASSWORD=123123”

- “GF_INSTALL_PLUGINS=alexanderzobnin-zabbix-app”

- TZ=Asia/Shanghai

restart: "always"

volumes:

- ./grafana:/etc/grafana/”

- ./grafana/conf/grafana.ini:/etc/grafana/grafana.ini

- ./grafana/data:/var/lib/grafana:rw

- ./grafana/plugins:/var/lib/grafana/plugins:rw

- /etc/localtime:/etc/localtime

depends_on:

- prom

alertmanager:

image: prom/alertmanager:latest

container_name: alertmanager

hostname: alertmanager

restart: always

ports:

- ‘9093:9093‘

volumes:

- ‘./alertmanager/config:/etc/alertmanager‘

- ‘./alertmanager/data:/alertmanager/data‘

command:

- ‘--config.file=/etc/alertmanager/alertmanager.yml‘

environment:

- TZ=Asia/Shanghai

cadvisor:

image: google/cadvisor

container_name: cadvisors

restart: always

volumes:

- /:/rootfs:ro

- /var/run:/var/run:rw

- /sys:/sys:ro

- /var/lib/docker/:/var/lib/docker:ro

ports:

- 8080:8080

privileged: true

environment:

- TZ=Asia/Shanghai

grafana-reporter:

image: izakmarais/grafana-reporter

container_name: grafana_reporter

ports:

- 8686:8686

command: "-ip grafana.mitaiot.com"

environment:

- TZ=Asia/Shanghai

//编辑报警模块的配置文件

cd /usr/local/Prometheus_compose/alertmanager/config

cat alertmanager.yml

global:

resolve_timeout: 5m

smtp_from: ‘123456789@sina.com‘

smtp_smarthost: ‘smtp.sina.com:587‘

smtp_auth_username: ‘123456789@sina.com‘

smtp_auth_password: ‘aabbccdd‘

smtp_require_tls: false

smtp_hello: ‘sina.com‘

route:

group_by: [‘alertname‘]

group_wait: 5s

group_interval: 5s

repeat_interval: 5m

receiver: ‘email‘

receivers:

- name: ‘email‘

email_configs:

- to: ‘{{ template "email.to" . }}‘

html: ‘{{ template "email.to.html" . }}‘

send_resolved: true

inhibit_rules:

- source_match:

severity: ‘critical‘

target_match:

severity: ‘warning‘

equal: [‘alertname‘, ‘dev‘, ‘instance‘]

templates:

- "/etc/alertmanager/alertmanager-tmpl/email.tmpl"

//编辑发送的邮件模板

cd /usr/local/Prometheus_compose/alertmanager/config/alertmanager-tmpl

cat email.tmpl

{{ define "email.from" }}123456789@sina.com{{ end }}

{{ define "email.to" }}123456789@sina.com{{ end }}

{{ define "email.to.html" }}

{{ range .Alerts }}

=========start==========

告警程序: prometheus_alert

告警级别: {{ .Labels.severity }} 级

告警类型: {{ .Labels.alertname }}

故障主机: {{ .Labels.instance }}

告警主题: {{ .Annotations.summary }}

告警详情: {{ .Annotations.description }}

触发时间: {{ .StartsAt.Format "2019-08-04 16:58:15" }}

=========end==========

{{ end }}

{{ end }}

cd /usr/local/Prometheus_compose/grafana/conf

vim grafana.ini # 配置文件太长,标出修改部分

[auth.anonymous]

enabled = true

org_name = Main Org.

org_role = Viewer

[smtp]

enabled = true

host = smtp.sina.com:587

user = 123456789@sina.com

password =dc28ac6ec64af9c1

skip_verify = true

from_address = 123456789@sina.com

from_name = Grafana

ehlo_identity =

default_timezone = Asia/Shanghai #添加时区

//修改 普罗米修斯 的配置文件

cd /usr/local/Prometheus_compose/prometheus

global:

scrape_interval: 5s # Set the scrape interval to every 15 seconds. Default is every 1 minute.

evaluation_interval: 5s # Evaluate rules every 15 seconds. The default is every 1 minute.

scrape_configs:

- job_name: ‘prometheus‘

static_configs:

- targets: [‘172.16.225.154:9090‘]

- job_name: ‘node‘

file_sd_configs:

- files: [‘/etc/prometheus/groups/nodegroups/*.json‘]

static_configs:

- targets:

- ‘172.16.225.154:9100‘

- ‘172.16.225.156:9100‘

- ‘172.16.225.155:9100‘

- ‘172.16.225.157:9100‘

- ‘172.16.225.156:8085‘

- ‘172.16.225.154:8080‘

- ‘172.16.225.155:8085‘

- ‘172.16.225.157:8085‘

- ‘172.16.225.157:9104‘

alerting:

alertmanagers:

- static_configs:

- targets:

- ‘172.16.225.154:9093‘

rule_files:

- "/etc/prometheus/rules/*.yml"

//配置报警规则

cd /usr/local/Prometheus_compose/prometheus/rules

groups:

- name: node-up

rules:

- alert: node-up

expr: up{job="node"} == 0

for: 15s

labels:

severity: 1

team: node

annotations:

summary: "{{ $labels.instance }} 已停止运行!"

description: "{{ $labels.instance }} 检测到异常停止!请重点关注!!!"

- name: node-cpu

rules:

- alert: node-cpu

expr: 100 - ((avg by (instance,job,env)(irate(node_cpu_seconds_total{mode="idle"}[30s]))) *100) > 90

for: 1m

labels:

severity: 1

team: node

level: warning

annotations:

summary: "{{ $labels.instance }} CPU使用率超过 百分之90!"

description: "{{ $labels.instance }} 检测CPU连续1分钟占用率超出90%!请重点关注!!!"

- name: node-mem

rules:

- alert: node-mem

expr: ((node_memory_MemTotal_bytes -(node_memory_MemFree_bytes+node_memory_Buffers_bytes+node_memory_Cached_bytes) )/node_memory_MemTotal_bytes ) * 100 > 90 #设置内存使用率高于90时发送告警,计算方式为 总内存-空闲内存 - buffers - cached

for: 5s

labels:

severity: 1

team: node

level: warning

annotations:

summary: "{{ $labels.instance }} MEM使用率超过 百分之90!"

description: "{{ $labels.instance }} 检测CPU连续1分钟占用率超出90%!请重点关注!!!"

- name: node-disk_used

rules:

- alert: node-disk_used

expr: 100 - (node_filesystem_free_bytes{fstype=~"ext3|ext4|xfs"} / node_filesystem_size_bytes{fstype=~"ext3|ext4|xfs"} * 100) > 90 #设置挂载分区使用率为95以上时告警

for: 1m

labels:

severity: 1

team: node

level: warning

annotations:

summary: "{{ $labels.instance }} 挂在分区使用率超过 百分之90!"

description: "{{ $labels.instance }} 挂在分区使用率超出90%!请重点关注!!!"

#如需监控 MySQL和容器和主机信息 需要在 主机上部署 prom/node-exporter 、cadvisor、prom/mysqld-exporter。

version: "3"

services:

exporter:

image: prom/node-exporter:latest

container_name: node-exporter

hostname: db01

ports:

- "9100:9100"

cadvisor:

image: google/cadvisor

container_name: cadvisor

restart: always

volumes:

- /:/rootfs:ro

- /var/run:/var/run:rw

- /sys:/sys:ro

- /var/lib/docker/:/var/lib/docker:ro

ports:

- 8085:8080

privileged: true

mysqld-exporter:

image: prom/mysqld-exporter

ports:

- 9104:9104

restart: always

container_name: mysql_exporter

hostname: db01

environment:

- DATA_SOURCE_NAME=root:0GXwwchW4rP@(172.16.225.157:3306)/

- TZ=Asia/Shanghai

导入模板,模板 ID 分别是:8919、7362

更多模块链接访问:点击获取监控模块,只需要导入对应ID即可

Prometheus、Alertmanager、Grafana 监控 Linux 与 MySQL



推荐阅读
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍了如何在BackTrack 5中配置和启动SSH服务,确保其正常运行,并通过Windows系统成功连接。涵盖了必要的密钥生成步骤及常见问题解决方法。 ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • ImmutableX Poised to Pioneer Web3 Gaming Revolution
    ImmutableX is set to spearhead the evolution of Web3 gaming, with its innovative technologies and strategic partnerships driving significant advancements in the industry. ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文介绍如何通过更改软件源来提前体验Ubuntu 8.10,包括详细的配置步骤和相关注意事项。 ... [详细]
  • 选择适合生产环境的Docker存储驱动
    本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
author-avatar
挥霍人生e
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有