院长简介
作者:院长
职位:运维开发工程师
官网:https://deanit.cn
博客:https://blog.deanit.cn
擅长:
【虚拟化,容器化,自动化运维,CICD,监控,日志,中间件,双机热备,分布式存储,数据库,认证,组网隧道,Kali 安全渗透,网络攻击,负载均衡,Html,Css,Js,Jq,Vue3,Shell,Python,Go,前后端框架】
项目地址
GitHub:https://github.com/amuluze/amprobe
项目简介
Docker容器监控与控制面板项目。
功能
监控 CPU、内存、磁盘、网络
监控Docker容器状态、CPU、内存
查看 Docker 日志,支持日志下载
管理员用户提供简单的 Docker 容器、镜像运维操作
操作日志记录
部署安装
安装Docker
curl -sSL https://get.docker.com/ | sh
安装Docker-compose
下载 Docker-Compose 二进制包
curl -L https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
给文件增加执行权限
chmod +x /usr/local/bin/docker-compose
检查 Docker-Compose 版本
docker-compose -v
配置内容
init.yaml
users:
- username: cgakki # 管理员,拥有启停容器的权限,非管理员则没有
password: 666666
status: 1
is_admin: 1
- username: amprobe
password: 666666
status: 1
is_admin: 0
config.toml
[Fiber]
# http监听地址
Host = "0.0.0.0"
# http监听端口
Port = 8000
# http优雅关闭等待超时时长(单位秒)
ShutdownTimeout = 30
SeverHeader = "probe"
AppName = "probe"
Prefork = false
# 数据库文件存放位置的配置
# 需要监控的磁盘设备配置
# 定时任务执行间隔配置
[Gorm]
# 是否开启调试模式
Debug = true
# 数据库类型(目前支持的数据库类型:postgres)
DBType = "sqlite"
# 设置连接可以重用的最长时间(单位:秒)
MaxLifetime = 7200
# 设置数据库的最大打开连接数
MaxOpenConns = 150
# 设置空闲连接池中的最大连接数
MaxIdleConns = 50
# 数据库表名前缀
TablePrefix = "s_"
# 是否启用自动映射数据库表结构
EnableAutoMigrate = true
[DB]
# 连接地址
Host = ""
# 连接端口
Port = ""
# 用户名
User = ""
# 密码
Password = ""
# 数据库
DBName = "/app/probe"
# SSL模式
SSLMode = ""
[Disk]
# 主机监控数据的采集频率
Devices = ["vda1", "vda2", "vda3"]
[Ethernet]
# 需要监控的网口,可以通过 ifconfig 命令查看
Names = ["eth0"]
[Task]
# 定时任务采样间隔,单位 s
Interval = 60
[Logger]
File = "/app/probe.log"
Level = "debug"
RotationTime = "1" # 每天切分一个日志文件
MaxAge = "7" # 最多保留 7 天的日志
[Auth]
# 是否启用
Enable = true
# 签名方式(支持:HS512/HS384/HS512)
SigningMethod = "HS512"
# 签名key
SigningKey = "amprobe"
# 过期时间(单位秒)
Expired = 7200
# key 前缀
Prefix = "auth_"
[InitData]
Enable = true
InitConfigFile = "/app/configs/init.yaml"
nginx.conf
worker_processes 1;
daemon off;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80; # 可修改为实际需要使用的端口
# server_name amprobe.amuluze.com; # 服务器地址或绑定域名
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location /api/ {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:8000/; #跨域转发路由地址
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /ws/ {
# rewrite ^/wsUrl/(.*)$ /$1 break; #拦截标识去除
proxy_pass http://127.0.0.1:8000/ws/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
# 错误页配置
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}
Docker-compose运行服务
vim docker-compose.yml
version: '3'
services:
amprobe:
image: amuluze/amprobe:v1.3.3
container_name: amprobe
network_mode: "host"
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /dev:/host/dev:ro
- ./config.toml:/app/configs/config.toml
- ./init.yaml:/app/configs/init.yaml
- ./nginx.conf:/etc/nginx/nginx.conf
docker-compose up -d
Demo访问
http://ip
招贤纳士
欢迎👏关注《院长技术》,只做原创,干货~~~
更多技术干货持续输出中......
知识星球,试运营中,
原价188¥在不断上涨,
现加入仅需129¥
,文档正逐渐上传!
欢迎加入
QQ-
3群:【