本阶段内容:下载docker以及docker搭建prometheus
一、下载docker
1、首先,docker需要linux内核在3.10以上,因此需要查看自身内核是否支持
2、更新yum包(如何机器本身存在服务应用请慎重)
yum -y update //升级所有包同时也升级软件和系统内核(因为我是全新的环境,可以无所顾及更新)
yum -y upgrade //只升级所有包,不升级软件和系统内核
3、如果之前安装过docker,请卸载
yum remove docker docker-common docker-selinux docker-engine
重新输入一次命令,出现 No Packages说明已经协助干净
4、安装docker软件包, yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置docker的源,我个人喜欢中央仓库,虽然速度比较慢
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo
6、查看docker的版本
yum list docker-ce --showduplicates | sort -r
7、根据查询的版本号,我们选择最新也就是最上面的版本进行安装。
yum -y install docker-ce-24.0.6-1.el7
出现以下界面说明安装成功8、查询验证版本号吧,并设置开机启动docker和启动docker
docker version \查询版本
systemctl enable docker \设置开机启动
systemctl status docker \启动docker
以上步骤以及完成docker的安装与启动
但是,我们的监控涵盖ipv4和ipv6监控,目前搭建的docker只有ipv4环境,后续创建的docker实例也只会分配ipv4地址,只有ipv4地址的docker是没办法监控ipv6地址的,所以需要给docker配置ipv6网络环境
①、在 docker 配置文件 添加IPv6配置参数,配置文件路径均为/etc/docker/daemon.json
(如果daemon.json不存在则直接创建),并在daemon.json文件输入以下内容
{
"ipv6": true,
"fixed-cidr-v6": "fc00:17:1:1::/64"
}
fc00:17:1:1::/64 是docker的内网地址,还需要对docker的ipv6地址进行nat转换才能正常访问
#ip6tables -t nat -A POSTROUTING -s fc00:17:1:1::/64 -j MASQUERADE
#ip6tables -t nat -L
重启docker服务,并ip a 查看docker下的是否已经生成ipv6地址
systemctl restart docker
完成以上步骤就能创建prometeus和blackbox容器了。
二、创建prometheus容器
1、在/home创建prometheus目前,并创建prometheus.yml系统配置文件prometheus.yml
cd /home
mkdir prometheus
cd prometheus
vi prometheus.yml
global:
scrape_interval: 1s /拉取blackbox数据时间是1S
scrape_configs:
- job_name: icmp-ping /定义一个工作名称
metrics_path: /probe
params:
module: [icmp,icmp6]
static_configs:
- targets: /添加监控目的ip,也就是你想监控的ip
- "114.114.114.114"
- "223.5.5.5"
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 172.17.0.3:9115 /docker blackbox-exporter的地址和端口
2、防火墙放通9090端口
firewall-cmd --zone=public --add-port=9090/tcp --permanent \放通9090端口
firewall-cmd --reload \重新加载防火墙配置
firewall-cmd --list-port \列出防火墙已经放通的端口
3、创建Prometheus容器
docker run --name AHHF-prometheus -p 9090:9090 -v /home/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
\\命名名称为 AHHF-prometheus的容器,容器内部9090端口映射到宿主机所有ip的9090端口,通过 -v 参数,将主机上的 /home/prometheus/prometheus.yml 文件挂载到容器内的 /etc/prometheus/prometheus.yml 文件。这样可以将自定义的 Prometheus 配置文件应用到容器中。
容器拉取镜像创建成功后可能有下面这个报错,systemctl restart docker 重启dockers就行
重启docker后,在重启容器,docker restart +容器id,然后再查看容器状态 docker ps -a
netstat -tulnep 查看端口确认服务是否成功启动
最后用 http://ip:9090登录prometheus界面(ip是你服务器本机ip)