实验环境
prometheus_server 192.168.10.18:9090/9100/3000/8080
prometheus_node 192.168.10.10:9100/8080
prometheus:9090 prometheus服务端程序 prometheus_server部署
node-exporter:9100 监控主机信息 prometheus_server/node部署
grafana:3000 web图形展现 prometheus_server部署
cAdvisor:8080 收集主机容器信息 prometheus_server/node部署
cat /etc/redhat-release && uname -a
CentOS Linux release 7.8.2003 (Core)
Linux centos7-1 3.10.0-1127.el7.x86_64
systemctl stop firewalld && systemctl disable firewalld
echo SELINUX=disabled > /etc/sysconfig/selinux
cp -pv /etc/sysctl.conf /etc/sysctl.conf.bak
echo net.ipv4.tcp_syncookies = 1 >> /etc/sysctl.conf
echo net.ipv4.tcp_tw_reuse = 1 >> /etc/sysctl.conf
echo net.ipv4.tcp_tw_recycle = 1 >> /etc/sysctl.conf
echo net.ipv4.tcp_fin_timeout = 10 >> /etc/sysctl.conf
echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf
sysctl -p
软件安装
yum install -y yum-utils docker-ce-18.06.3.ce containerd.io
systemctl daemon-reload
systemctl start docker && systemctl enable docker
docker --version
Docker version 18.06.2-ce, build 6d37f41
mkdir -p /usr/local/docker/prometheus/server
touch /usr/local/docker/prometheus/server/prometheus.yml
cat /usr/local/docker/prometheus/server/prometheus.yml
global:
scrape_interval: 60s
evaluation_interval: 60s
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
labels:
instance: prometheus
- job_name: 主节点
static_configs:
- targets: ['promserver:9100']
labels:
instance: 192.168.10.18
- job_name: 副节点
static_configs:
- targets: ['promnode:9100']
labels:
instance: 192.168.10.10
- job_name: 副节点
static_configs:
- targets: ['promcadvisor:8080']
labels:
instance: 192.168.10.18
- job_name: 副节点
static_configs:
- targets: ['nodecadvisor:8080']
labels:
instance: 192.168.10.10
docker pull prom/prometheus
docker pull prom/node-exporter
docker pull grafana/grafana
docker pull google/cadvisor:v0.33.0
docker run -itd -p 9090:9090 --restart=always \
-v /usr/local/docker/prometheus/server/prometheus.yml:/etc/prometheus/prometheus.yml \
--config.file=/etc/prometheus/prometheus.yml \
-v /etc/localtime:/etc/localtime:ro \
--web.enable-lifecycle \
--net=host --name prometheus prom/prometheus \
docker logs -f prometheus
查看prometheus容器日志 prometheus_server部署
docker run -itd -p 9100:9100 \
--restart=always --privileged=true \
-v /etc/localtime:/etc/localtime:ro --net=host \
--name=node-exporter prom/node-exporter \
docker logs -f node-exporter
查看node-exporter容器日志 prometheus_server/prometheus_node部署
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=38080:8080 \
--detach=true \
--privileged=true \
--name=cadvisor google/cadvisor:v0.33.0 \
docker logs -f cadvisor
查看cadvisor容器日志 prometheus_server/prometheus_node部署
docker run -itd -p 3000:3000 \
--restart=always --privileged=true \
-v /etc/localtime:/etc/localtime:ro \
--net=host --name=grafana grafana/grafana \
docker logs -f grafana
查看grafana日志 prometheus_server部署
netstat -tuplna | grep LISTEN