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
|
||
```
|
||
|