170 lines
3.2 KiB
Markdown
170 lines
3.2 KiB
Markdown
|
### prometheus 部署
|
|||
|
|
|||
|
- 部署网络和持久化存储卷
|
|||
|
|
|||
|
```bash
|
|||
|
docker network create monitoring
|
|||
|
docker volume create prometheus-data
|
|||
|
```
|
|||
|
|
|||
|
- 初始配置文件,prometheus.yml
|
|||
|
|
|||
|
``` yaml
|
|||
|
global:
|
|||
|
scrape_interval: 15s
|
|||
|
|
|||
|
scrape_configs:
|
|||
|
- job_name: 'prometheus'
|
|||
|
static_configs:
|
|||
|
- targets: ['localhost:9090']
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
- 启动prometheus
|
|||
|
|
|||
|
```bash
|
|||
|
docker run -itd \
|
|||
|
--name prometheus \
|
|||
|
--network internal \
|
|||
|
-v /mnt/sdb3/Configs/prometheus/data:/prometheus \
|
|||
|
-v /mnt/sdb3/Configs/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
|
|||
|
prom/prometheus:v2.45.1 \
|
|||
|
--web.enable-lifecycle \
|
|||
|
--config.file=/etc/prometheus/prometheus.yml \
|
|||
|
--web.external-url=/prometheus/
|
|||
|
```
|
|||
|
|
|||
|
|
|||
|
|
|||
|
### grafana 部署
|
|||
|
|
|||
|
- 持久化存储
|
|||
|
|
|||
|
```bash
|
|||
|
docker volume create grafana-data
|
|||
|
```
|
|||
|
|
|||
|
- 启动容器
|
|||
|
|
|||
|
```bash
|
|||
|
docker run -d \
|
|||
|
--name grafana \
|
|||
|
--network internal \
|
|||
|
-v /mnt/sdb3/Configs/grafana/data:/var/lib/grafana \
|
|||
|
-v /mnt/sdb3/Configs/grafana/grafana.ini:/etc/grafana/grafana.ini \
|
|||
|
grafana/grafana
|
|||
|
```
|
|||
|
|
|||
|
### Nginx 子路径 Grafana
|
|||
|
|
|||
|
- 配置grafana.ini
|
|||
|
|
|||
|
```bash
|
|||
|
root_url = https://home.heysq.com:8443/grafana/
|
|||
|
|
|||
|
# Serve Grafana from subpath specified in `root_url` setting. By default it is set to `false` for compatibility reasons.
|
|||
|
serve_from_sub_path = true
|
|||
|
```
|
|||
|
|
|||
|
- 添加nginx配置
|
|||
|
|
|||
|
```nginx
|
|||
|
location /grafana/ {
|
|||
|
proxy_set_header Host $http_host;
|
|||
|
proxy_pass http://grafana;
|
|||
|
}
|
|||
|
|
|||
|
# Proxy Grafana Live WebSocket connections.
|
|||
|
location /grafana/api/live/ {
|
|||
|
proxy_http_version 1.1;
|
|||
|
proxy_set_header Upgrade $http_upgrade;
|
|||
|
proxy_set_header Connection $connection_upgrade;
|
|||
|
proxy_set_header Host $http_host;
|
|||
|
proxy_pass http://grafana;
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
|
|||
|
### Nginx 监控
|
|||
|
|
|||
|
- nginx 开启stub_status
|
|||
|
|
|||
|
```nginx
|
|||
|
server {
|
|||
|
listen 8444;
|
|||
|
keepalive_timeout 0;
|
|||
|
|
|||
|
access_log off;
|
|||
|
|
|||
|
allow 0.0.0.0/0;
|
|||
|
deny all;
|
|||
|
|
|||
|
location /stub_status {
|
|||
|
stub_status on;
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
- docker 部署nginx_exporter
|
|||
|
|
|||
|
```bash
|
|||
|
docker run -itd -p 9113:9113 \
|
|||
|
--name=nginx_exporter \
|
|||
|
--network=monitoring \
|
|||
|
nginx/nginx-prometheus-exporter:0.11 \
|
|||
|
-nginx.scrape-uri=http://192.168.0.3:8444/stub_satus
|
|||
|
```
|
|||
|
|
|||
|
### IKuai监控
|
|||
|
|
|||
|
```bash
|
|||
|
docker run -itd \
|
|||
|
-p 8001:8001 \
|
|||
|
--name ikuai-aio \
|
|||
|
--restart always \
|
|||
|
-e HTTP_INSECURE_SKIP_VERIFY=false \
|
|||
|
-e HTTP_TIMEOUT=30s \
|
|||
|
-e TZ=Asia/Shanghai \
|
|||
|
-e IKUAI_ADDR=http://192.168.0.1 \
|
|||
|
-e IKUAI_USERNAME=admin \
|
|||
|
-e IKUAI_PASSWORD=Sunqi0220. \
|
|||
|
-e IKUAI_CRON_SKIP_START=false \
|
|||
|
-e IKUAI_EXPORTER_LISTEN_ADDR=0.0.0.0:8001 \
|
|||
|
ghcr.io/nervebing/ikuai-aio:latest
|
|||
|
```
|
|||
|
|
|||
|
- grafana 面板 https://grafana.com/grafana/dashboards/19247-ikuai/
|
|||
|
|
|||
|
### openwrt 配置 nginx
|
|||
|
|
|||
|
```bash
|
|||
|
docker run -itd \
|
|||
|
--name nginx \
|
|||
|
--network=internal \
|
|||
|
--restart=always \
|
|||
|
-p 8443:8443 \
|
|||
|
-v /mnt/sdb3/Configs/nginx/conf.d:/etc/nginx/conf.d \
|
|||
|
-v /mnt/sdb3/Configs/nginx/ssl/:/etc/nginx/ssl \
|
|||
|
-v /mnt/sdb3/Configs/nginx/logs:/var/log/nginx/ \
|
|||
|
-v /mnt/sdb3/Configs/nginx/nginx.conf:/etc/nginx/nginx.conf \
|
|||
|
-v /mnt/sdb3/Configs/nginx/htpasswd_file:/etc/nginx/htpasswd_file \
|
|||
|
nginx:1.22
|
|||
|
```
|
|||
|
|
|||
|
### cAdvisor 部署
|
|||
|
|
|||
|
```bash
|
|||
|
docker run \
|
|||
|
--volume=/:/rootfs:ro \
|
|||
|
--volume=/var/run:/var/run:ro \
|
|||
|
--volume=/sys:/sys:ro \
|
|||
|
--volume=/mnt/sdb3/:/var/lib/docker:ro \
|
|||
|
--network=internal \
|
|||
|
--detach=true \
|
|||
|
--name=cadvisor \
|
|||
|
--privileged \
|
|||
|
--device=/dev/kmsg \
|
|||
|
google/cadvisor:latest
|
|||
|
```
|
|||
|
|