已解决
1-3 docker 安装 prometheus
来自网友在路上 193893提问 提问时间:2023-11-08 14:59:03阅读次数: 93
最佳答案 问答题库938位专家为你答疑解惑
一、环境
1、环境准备
安装Docker
镜像加速
安装 docker
检查版本
安装Docker-compose
二、Docker-compose 安装 Prometheus
1、【方式一】手动创建 docker-compose 和 配置文件
创建prometheus监控的文件夹
创建alertmanager的配置文件 - config.yml
新建grafana的配置文件 - config.monitoring
新建prometheus的配置文件 - prometheus.yml
创建alert报警文件 - alert.yml
新建docker-compose.yaml文件
2、【方式二 - 推荐】通过克隆gitee代码安装
运行命令
检查容器
检查接口
web访问地址
三、各个容器及应用
1、使用 grafana 展示 prometheus的图形
1、登录Grafana
2、创建 Prometheus 数据源
3、仪表盘
Stage 1:官网搜索
Stage 2 :复制id
Stage 3 :Grafana导入id
一、环境
-
localhost
-
ip:192.168.11.61
-
2核4g
-
Ubuntu 20.04
-
docker 版本23.0.1
-
docker-compose版本1.29.2
1、环境准备
安装Docker
-
镜像加速
#创建文件夹,父级目录也被自动创建
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://n14or9zx.mirror.aliyuncs.com","https://mirror.ccs.tencentyun.com","http://registry.docker-cn.com","http://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com"],"insecure-registries": ["registry.docker-cn.com","docker.mirrors.ustc.edu.cn"],"log-driver": "json-file","log-opts": {"max-size": "500m"}
}
EOF
-
安装 docker
#设置下载目录
export DOWNLOAD_URL="http://mirrors.163.com/docker-ce"
curl -fssL https://get.docker.com/ | sh
-
检查版本
docker -v
或
systemctl status docker
安装Docker-compose
# 下载
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose# 设置文件具备执行权限
chmod +x /usr/local/bin/docker-compose# 查看版本
docker-compose --version
二、Docker-compose 安装 Prometheus
1、【方式一】手动创建 docker-compose 和 配置文件
-
创建prometheus监控的文件夹
#切换到root用户
sudo -i
mkdir /data/docker-prometheus -p
mkdir /data/docker-prometheus/{grafana,prometheus,alertmanager} -p
cd /data/docker-prometheus/
-
创建alertmanager的配置文件 - config.yml
global:#163服务器smtp_smarthost: 'smtp.163.com:465'#发邮件的邮箱smtp_from: 'cdring@163.com'#发邮件的邮箱用户名,也就是你的邮箱 smtp_auth_username: 'cdring@163.com'#发邮件的邮箱密码smtp_auth_password: 'your-password'#进行tls验证smtp_require_tls: falseroute:group_by: ['alertname']# 当收到告警的时候,等待group_wait配置的时间,看是否还有告警,如果有就一起发出去group_wait: 10s# 如果上次告警信息发送成功,此时又来了一个新的告警数据,则需要等待group_interval配置的时间才可以发送出去group_interval: 10s# 如果上次告警信息发送成功,且问题没有解决,则等待 repeat_interval配置的时间再次发送告警数据repeat_interval: 10m# 全局报警组,这个参数是必选的receiver: emailreceivers:
- name: 'email'#收邮件的邮箱email_configs:- to: 'cdring@163.com'
inhibit_rules:- source_match:severity: 'critical'target_match:severity: 'warning'equal: ['alertname', 'dev', 'instance']
-
新建grafana的配置文件 - config.monitoring
# admin登录密码为password
GF_SECURITY_ADMIN_PASSWORD=password
GF_USERS_ALLOW_SIGN_UP=false
-
新建prometheus的配置文件 - prometheus.yml
# 全局配置
global:scrape_interval: 15s # 将搜刮间隔设置为每15秒一次。默认是每1分钟一次。evaluation_interval: 15s # 每15秒评估一次规则。默认是每1分钟一次。# Alertmanager 配置
alerting:alertmanagers:- static_configs:- targets: ['alertmanager:9093']# 报警(触发器)配置
rule_files:- "alert.yml"# 搜刮配置
scrape_configs:- job_name: 'prometheus'# 覆盖全局默认值,每15秒从该作业中刮取一次目标scrape_interval: 15sstatic_configs:- targets: ['localhost:9090']- job_name: 'alertmanager'scrape_interval: 15sstatic_configs:- targets: ['alertmanager:9093']- job_name: 'cadvisor'scrape_interval: 15sstatic_configs:- targets: ['cadvisor:8080']labels:instance: Prometheus服务器 - job_name: 'node-exporter'scrape_interval: 15sstatic_configs:- targets: ['node_exporter:9100']labels:instance: Prometheus服务器
-
创建alert报警文件 - alert.yml
groups:
- name: Prometheus alertrules:# 对任何实例超过30秒无法联系的情况发出警报- alert: 服务告警expr: up == 0for: 30slabels:severity: criticalannotations:summary: "服务异常,实例:{{ $labels.instance }}"description: "{{ $labels.job }} 服务已关闭"
-
新建docker-compose.yaml文件
version: '3.3'# 存储卷
volumes:prometheus_data: {}grafana_data: {}networks:monitoring:driver: bridgeservices:prometheus:image: prom/prometheus:v2.37.6container_name: prometheusrestart: alwaysvolumes:- /etc/localtime:/etc/localtime:ro # 本地时区挂载在镜像中- ./prometheus/:/etc/prometheus/- prometheus_data:/prometheus # 数据存储位置command:- '--config.file=/etc/prometheus/prometheus.yml'- '--storage.tsdb.path=/prometheus'- '--web.console.libraries=/usr/share/prometheus/console_libraries' # 控制台库- '--web.console.templates=/usr/share/prometheus/consoles' # 控制台模板#热加载配置- '--web.enable-lifecycle'#api配置#- '--web.enable-admin-api'#历史数据最大保留时间,默认15天- '--storage.tsdb.retention.time=30d' networks:- monitoringlinks:- alertmanager- cadvisor- node_exporterexpose:- '9090'ports:- 9090:9090depends_on:- cadvisor # 等待cadvisor启动完成后prometheus再启动alertmanager:image: prom/alertmanager:v0.25.0container_name: alertmanagerrestart: alwaysvolumes:- /etc/localtime:/etc/localtime:ro- ./alertmanager/:/etc/alertmanager/command:- '--config.file=/etc/alertmanager/config.yml'- '--storage.path=/alertmanager'networks:- monitoringexpose:- '9093'ports:- 9093:9093# 监控容器cadvisor:image: google/cadvisor:latestcontainer_name: cadvisorrestart: alwaysvolumes:- /etc/localtime:/etc/localtime:ro- /:/rootfs:ro- /var/run:/var/run:rw- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:ronetworks:- monitoringexpose:- '8080'node_exporter:image: prom/node-exporter:v1.5.0container_name: node-exporterrestart: alwaysvolumes:- /etc/localtime:/etc/localtime:ro- /proc:/host/proc:ro- /sys:/host/sys:ro- /:/rootfs:rocommand: - '--path.procfs=/host/proc' - '--path.sysfs=/host/sys'- '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc|rootfs/var/lib/docker)($$|/)'networks:- monitoringports:- '9100:9100'grafana:image: grafana/grafana:9.4.3container_name: grafanarestart: alwaysvolumes:- /etc/localtime:/etc/localtime:ro- grafana_data:/var/lib/grafana- ./grafana/provisioning/:/etc/grafana/provisioning/env_file:- ./grafana/config.monitoringnetworks:- monitoringlinks:- prometheusports:- 3000:3000depends_on:- prometheus
2、【方式二 - 推荐】通过克隆gitee代码安装
mkdir /mnt/docker/
cd /mnt/docker/
git clone https://gitee.com/linge365/docker-prometheus.git
cd docker-prometheus
运行命令
cd /data/docker-prometheus
docker-compose up -d
检查容器
docker ps
检查接口
ss -lntp|egrep "3000|9090|9100|9093"
web访问地址
应用访问地址账号密码prometheushttp://xxx.116.6.228:9090无grafanahttp://xxx.116.6.228:3000admin/passwordaltermanagerhttp://xxx.116.6.228:9093无node-exporterhttp://xxx.116.6.228:9100/metrics无三、各个容器及应用
1、使用 grafana 展示 prometheus的图形
- 通过 grafana 添加数据源,展示 node-exporter数据
1、登录Grafana
- 登录 Grafana :http://192.168.11.61:3000/
- 用户名: admin
- 密码: password
2、创建 Prometheus 数据源
3、仪表盘
- 从 Grafana.com 导入仪表板
Stage 1:官网搜索
Stage 2 :复制id
Stage 3 :Grafana导入id
查看全文
99%的人还看了
相似问题
- 配置Nginx服务器用于Web应用代理和SSL{仅配置文件}
- rk3588使用vscode远程debug 配置文件
- Python3.7+PyQt5 pyuic5将.ui文件转换为.py文件、Python读取配置文件、生成日志
- SpringBoot-配置文件properties/yml分析+tomcat最大连接数及最大并发数
- Nginx的核心配置文件
- docker 安装mongodb 实现 数据,日志,配置文件外挂
- 总结:利用原生JDK封装工具类,解析properties配置文件以及MF清单文件
- 在gitlab中指定自定义 CI/CD 配置文件
- Spring集成MyBatis(自定义类和xml配置文件两种形式)
- IS420ESWBH3A GE 附加配置文件和I/O组件中的单独标签
猜你感兴趣
版权申明
本文"1-3 docker 安装 prometheus":http://eshow365.cn/6-35424-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!