Skip to content

zhou2004/docker-prometheus-report

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

docker-prometheus-report

docker-prometheus-report 是专门针对 Prometheus制作的一个自动化生成月度报表脚本,目的是为了获取prometheus监控数据,从而可以更好的分析监控数据,同时也可以使用这些数据进行一些统计工作,方便更好的展示工作的内容,该功能包括:

  • 集成SMTP,通过邮箱发送报表数据(xlsx格式)

  • 统计月度监控主机cpu数据,包括cpu平均使用率、cpu最低使用率和cpu最高使用率

  • 统计月度监控主机内存数据,包括内存总容量、内存平均使用率、内存最小使用率、内存最大使用率等

  • 统计月度监控主机磁盘数据,包括磁盘总容量、磁盘平均使用率、磁盘最小使用率、磁盘最大使用率

  • 对月度的使用率超过80%做出红色预警

  • 集成docker容器化部署

部署构建

采用docker容器化一键部署:

下载源码:

git clone https://xxx.com
cd docker-prometheus-report/
  1. 构建镜像
# 构建prometheus-report镜像
docker build -f report/Dockerfile -t prometheus-report:latest .
  1. 启动容器
# 启动容器
docker compose up -d

配置

config.yaml
# config.yaml
email:
  sender: 'xxxxxxxxx@xxx.com'  # 发送邮箱
  port: 587       # 邮箱端口,465/587
  code: 'xxxxxxxxxxxxx'  # 发送邮箱授权码/密码
  receer: 'xxxx@xxx.com'   # 接收邮箱
  server: 'xxx'  # 邮箱服务器,例如 smtp.163.com
  insecure: 'true' # 开启ssl/tls,true为关闭,false开启
# prometheus配置
prometheus:
  enable: true  # 开启prometheus报表
  urls: # prometheus的url
   - http://xxx.com:port
   # - http://192.168.1.224:30901 # 可以定义多个获取数据的url源
  matches: # 匹配规则,需要获取到node-exporter
   - job=~"node-exporter"
  timeout: 10  #超时时间,这个很重要,网络延迟高建议调高
  step: 5m  # 5m(5分钟),5h(5小时)时间间隔/步长,这个越大,数据越稀疏,越小,数据越密集
  insecure: 'false'  # 开启tls连接prometheus,这个要看prometheus的服务配置
  report_mode: aggregate # 默认即可
# zabbix配置
zabbix: 
  enable: false #开启zabbix报表
  db_type: mysql  # 可选: mysql / postgres
  host: localhost  # zabbix后端数据库
  port: 3306 # 端口
  user: zabbix # 用户
  password: '123456' # 密码
  database: zabbix  # 数据库
  charset: utf8mb4 # 字符集
设置定时任务

使用 crontab -e 打开定时任务配置,新增一下配置:

这里需要确定自己的源码下载的位置问题

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# 每月1日12:00执行,自动获取上个月报表数据
0 12 1 * * root /usr/bin/docker-compose -f /path/to/docker-compose.yml run --rm prometheus-report > /path/to/cron.log 2>&1

测试

执行一次报表生成:

# 进行一次容器执行,然后在删除容器
docker-compose run --rm prometheus-report

查看是否能够收到邮箱。

About

实现生成prometheus监控主机的报表数据

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors