0
点赞
收藏
分享

微信扫一扫

Day20-prometheus监控

Prometheus
alert manager
blackbox_exporter
consul_exporter
graphite_exporter
memcached_exporter
mysqld_exporter
promlens
pushgateway
statsd_exporter
# 其实大部分都是辅助的功能,都是exporter,看命名就可以知道对应的功能了




# grafana
究竟怎么用?一堆dashboard 怎么用?  # 产线经验
## 反过来推---
比如说我监控了mysql,我就在Grafana里面模板搜索mysql
点击对应的模板,看到模板的id -> datasource   -> exporter

docker的监控CIG部署

docker 监控三剑客
influxDB
cAdvisor
grafana


# 补充  研究研究TICK技术栈
内容: Telegraf InfluxDB Grafana Kapacitor   用于时序类监控,比如股票 -----
 
vim docker-compose.yml
---
version: '3'
volumes:
  grafana_data: {}

services:
  influxdb:
    image: tutum/influxdb:0.9
    restart: always
    ports:
      -  8086:8086
      -  8083:8083
    volumes:
      -   ./date/influxdb:/data
    environment:
      -  PRE_CREATE_DB=cadvisor
  cadvisor:
    image: google/cadvisor:latest
    restart: always
    links:
      -  influxdb:infuxsrv
    command: -storage_driver=influxdb  -storage_driver_db=cadvisor  -storage_driver_host=infuxsrv:8086
    ports:
      -  8080:8080
    volumes:
      -  /:/rootfs:ro
      -  /var/run:/var/run:rw
      -  /sys:/sys:ro
      -  /var/lib/docker/:/var/lib/docker:ro

  grafana:
    image: grafana/grafana:latest
    restart: always
    links:
      -  influxdb:infuxsrv
    ports:
      -  3000:3000
    environment:
      -  HTTP_USER=admin
      -  HTTP_PASS=admin
      -  INFLUXDB_HOST=influxsrv
      -  INFLUXDB_PORT=8086
      -  INFLUXDB_NAME=cadvisor
      -  INFLUXDB_USER=root

vim docker-compose.yaml
---
version:  '3'
volumes:
  grafana_data: {}

services:
  influxdb:
    image: tutum/influxdb:0.9
    restart: always
    ports:
      -  8086:8086
      -  8083:8083
    volumes:
      -   ./date/influxdb:/data
    environment:
      -  PRE_CREATE_DB=cadvisor
  cadvisor:
    image: google/cadvisor:latest
    restart: always
    links:
      -  influxdb:infuxsrv
    command: -storage_driver=influxdb  -storage_driver_db=cadvisor  -storage_driver_host=infuxsrv:8086
    ports:
      -  8080:8080
    volumes:
      -   /:/rootfs:ro
      -   /var/run:/var/run:rw
      -   /sys:/sys:ro
      -   /var/lib/docker/:/var/lib/docker:ro

  grafana:
    image: grafana/grafana:latest
    restart: always
    links:
      -  influxdb:infuxsrv
    ports:
      -  3000:3000
    environment:
      -  HTTP_USER=admin
      -  HTTP_PASS=admin
      -  INFLUXDB_HOST=influxsrv
      -  INFLUXDB_PORT=8086
      -  INFLUXDB_NAME=cadvisor
      -  INFLUXDB_USER=root

image.pngimage.pngimage.pngimage.pngimage.png

prometheus 监控机器

机器 51 52 53
# 准备工作
useradd prometheus
  tar -zxvf prometheus-2.41.0.linux-amd64.tar.gz
  cd prometheus-2.41.0.linux-amd64
  mv prometheus promtool /usr/bin/
  chown prometheus:prometheus -R /usr/bin/prometheus /usr/bin/promtool
  mkdir -p /var/lib/prometheus
  chown prometheus:prometheus -R /var/lib/prometheus
  mkdir -p /etc/prometheus
  chown prometheus:prometheus -R /etc/prometheus/
mv console* /var/lib/prometheus/
mv prometheus.yml /etc/prometheus/
l

image.png

su - prometheus
cd /etc/prometheus
vim prometheus.yml

image.png

# 检查文件是否有问题
 promtool check config /etc/prometheus/prometheus.yml

image.png

编写开机自启文件
cat > /usr/lib/systemd/system/prometheus.service << EOF
[Unit]
Description=Prometheus 
Documentiation=https://prometheus.io/
After=netowrk.target
[Service]
Type=simple 
User=prometheus 
ExecStart=/usr/bin/prometheus \
--config.file=/etc/prometheus/prometheus.yml \
--storage.tsdb.path=/var/lib/prometheus/data  \
--web.enable-lifecycle \
--storage.tsdb.retention.time=180d \
--web.listen-address=0.0.0.0:9090 \
--web.enable-admin-api \
--web.console.templates=/var/lib/prometheus/console \
--web.console.libraries=/var/lib/prometheus/console_libraries \
--web.external-url=https://prometheus.jichao.mointor.com \
--log.level=info 
ExecReolad=/bin/curl -X POST http://127.0.0.0:9090/-/reload 
TimeoutStopSec=20s 
Restart=always 
LimitNOFILE=2048000
[Install]
WantedBy=multi-user.target
EOF





chmod +x /usr/lib/systemd/system/prometheus.service
systemctl start prometheus
systemctl enable prometheus
ps -ef | grep prometheus

image.png

# 接着就是下载node_exporter
# 传输给监控机器
tar -zvxf node_exporter-1.5.0.linux-amd64.tar.gz
mv  node_exporter-1.5.0.linux-amd64 /usr/local/node_exporter

image.pngimage.pngimage.png

编写service


cat > /usr/lib/systemd/system/node_exporter.service << EOF
[Unit]
Description=node_exporter 
Documentation=https://prometheus.io/
After=network.target
[Service]
Typer=simple 
ExecStart=/usr/local/node_exporter/node_exporter \
--web.listen-address=:9100 \
--collector.systemd \
--collector.systemd.unit-whitelist="(ssh|docker|rsyslog|redis-server).service" \
--collector.mountstats  \
--collector.tcpstat 
ExecReload=/bin/kill -HUP 
TimeoutStopSec=20s
Restart=always
[Install]
WantedBy=multi-user.target
EOF


chmod +x /usr/lib/systemd/system/node_exporter.service
systemctl start node_exporter
systemctl enable node_exporter
ps -ef | grep node_exporter

image.pngimage.pngimage.png

grafana

使用过程

image.pngimage.pngimage.pngimage.pngimage.png

# 模板在哪里搜索

image.png


# 猫头鹰测试
docker run  -d --name cadvisor -p 28081:8080 google/cadvisor:latest

image.png

在去 prometheus配置文件中进行配置
promtool check config /etc/prometheus/prometheus.yml

image.pngimage.png

systemctl restart prometheus

image.pngimage.pngimage.png

举报

相关推荐

0 条评论