专栏名称: 院长技术
《院长技术》专注于DevOps技术栈研究,云原生、Istio,CICD、Docker、Prometheus、K8s、ServiceMesh、Jenkins、Linux、微服务、分布式存储、监控、日志收集、安全渗透、虚拟化等技术栈。
目录
相关文章推荐
河南新闻广播  ·  1.77万亿!蜜雪新股认购创纪录,能否终结破 ... ·  14 小时前  
河南新闻广播  ·  2025年研考国家线发布 ·  2 天前  
河南新闻广播  ·  中央一号文件发布,这些人将直接受益! ·  2 天前  
都市频道  ·  天气大反转!河南中雨、大雨、暴雨要来了 ·  2 天前  
51好读  ›  专栏  ›  院长技术

一款开源可视化Docker容器管理工具

院长技术  · 公众号  ·  · 2024-05-11 08:51

正文

院长简介

作者:院长

职位:运维开发工程师

官网: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群:【







请到「今天看啥」查看全文