promethues 安装

Prometeus + alertmanager + blackbox exporter

安装Prometheus

1
2
mkdir -m777 -p /data/prometheus_rules  
创建规则目录,权限设置 777 不然没有权限读取
1
2
3
运行镜像 持久化目录/data/prometheus,/data/prometheus_rules, 需要提前创建默认配置文件,不然没有配置文件容器不能启动

docker run -itd -p 9090:9090 --name prometheus -v /data/prometheus_config/prometheus.yml:/etc/prometheus/prometheus.yml -v /data/prometheus_rules:/prometheus_rules prom/prometheus --config.file="/etc/prometheus/prometheus.yml" --web.enable-lifecycle

安装grafana (web图形展示)

1
2
mkdir -m777 -p /data/grafana-storage
创建grafana持久化目录,设置权限777
1
2
3
运行镜像, 持久化目录:/data/grafana-storage

docker run -dit -p 3000:3000 --name grafana -v /data/grafana-storage:/var/lib/grafana grafana/grafanadata/

安装node-exporter (资源监控)

1
node-exporter每个需要监控的节点都需要安装
1
2
3
运行镜像

docker run -itd --name node-exporter -p 9100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" --net="host" prom/node-exporter

安装AlertManager (报警插件)

1
2
mkdir -p /data/{alertmanager_conf,alertmanager}
创建持久化目录
1
2
3
运行镜像 需要提前创建默认配置文件,不然没有配置文件容器不能启动

docker run -itd -name alertmanager -p 9093:9093 -v /data/alertmanager_conf:/etc/alertmanager -v /data/alertmanager:/alertmanager --config.file="/etc/alertmanager/alertmanager.yml" prom/alertmanager

安装blackbox_exporter (http、dns、tcp、icmp 监控数据采集)

1
2
mkdir /data/blackbox_exporter
创建配置文件持久化目录
1
2
运行镜像 需要提前创建默认配置文件,不然没有配置文件容器不能启动
docker run -itd --name blackbox_exporter -p 9115:9115 -v /data/blackbox_exporter:/config prom/blackbox_exporter

规则和配置文件

  • 配置文件检查工具: promtool
    • 下载Prometheus二进制包,解压之后 复制出来单独的promtool二进制文件即可使用
    • 使用示例: promtool check config /prometheus_config/config.yml
  • prometheus配置文件:
    • /data/prometheus_config/prometheus.yml
    • 规则目录: /data/prometheus_rules/*.yml
    • 具体配置内容,看配置文件,有注释
  • alermanager配置文件
    • /data/alertmanager_conf/alertmanager.yml
    • 告警模板: /data/alertmanager/templates/email.tmpl
  • blackbox_exporter配置文件
    • /data/blackbox_exporter/blackbox.yml
    • 配置好模块之后在Prometheus配置文件里面引用