前言
上篇文章已经介绍过20220228 Docker安装Halo、Nginx、Wiz,那肯定要配合监控对自己的博客添加详细的探针,本篇文章将详细介绍下这些好用的docker监控。
本站目前采用的实例站点
猫の实验室
猫の服务器
猫の站点统计
Umami安装教程
Umami简介
Umami 是一个简单的网站统计工具,可以代替 Google Analytics
使用nodejs编写,需要配合 MySQL 或 Postgresql
使用起来很简单,比起 Google Analytics 比较直观,对SPA单页应用也支持不错
Github:https://github.com//mikecao/umami
Demo:https://app.umami.is/share/8rmHaheU/umami.is
本篇博客效果如下:
Umami docker版本安装
这边采用的是mysql作为数据库存储
docker pull mysql
docker pull ghcr.io/mikecao/umami:mysql-latest
备注:本篇文章下docker的network均复用的halongwiz网络,方便做反向代理等配置。
配置mysql
mkdir -p mysql/conf && touch mysql/conf/my.cnf
docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=password -d --network halongwiz --restart always mysql
配置umami的mysql配置文件,否则无法登录
git clone https://github.com/mikecao/umami.git
docker cp umami/sql/schema.mysql.sql mysql:/
创建umami的database,
docker exec -it mysql bash
mysql -h localhost -u root -p
creat database umami;
#再次进入mysql容器,恢复sql备份
mysql -u root -p umami < schema.mysql.sql
使用docker-compose.yml安装
创建docker-compose.yml 文件,这里因为我主机上已经装了 MySQL 就直接用主机上的了,也是docker版本的。
version: '3'
services:
umami:
image: ghcr.io/mikecao/umami:mysql-latest
network_mode: "host"
environment:
DATABASE_URL: mysql://username:password@localhost:3306/databasename
DATABASE_TYPE: mysql
HASH_SALT: replace-me-with-a-random-string
restart: always
container_name: umami
networks:
default:
external:
name: halongwiz
将 DATABASE_URL 内的 username等 替换为对应的数据库配置,将 HASH_SALT 后的内容替换为你自己定义的内容。
配置完成后保存关闭文件在终端执行
docker-compose up -d
umami默认运行在主机ip:3000上,腾讯云服务器防火墙放行3000端口,由于我后面会使用反向代理进行配置,就不放行3000端口了。通过域名登录配置,默认账号:admin,默认密码:umami。
反向代理nginx配置
server {
listen 80;
server_name umami.findmyfun.xyz;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name umami.findmyfun.xyz;
...
client_max_body_size 1024m;
location / {
proxy_pass http://umami:3000;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Uptime安装教程
Uptime简介
uptime-kuma可以用来监控我们自己的网站的运行状态。
Github:https://github.com/louislam/uptime-kuma
本篇博客效果如下:
uptime docker安装
docker run \
-d \
--name uptime \
-p 3001:3001 \
-v ~/uptime:/app/data \
--network halonginx \
--restart=always \
louislam/uptime-kuma
反向代理nginx配置
server {
listen 80;
server_name uptime.findmyfun.xyz;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name uptime.findmyfun.xyz;
...
client_max_body_size 1024m;
location / {
proxy_pass http://uptime:3001;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
管理后台地址
Uptime管理后台,配置相应的账号密码即可进行设置,参照Uptime Kuma 自建网站状态监控服务进行设置即可。
Ward安装教程(适合单台服务器)
Ward简介
Ward 是一个使用 Java 开发的简单而简约的服务器监控工具。Ward 支持自适应设计系统,它还支持深色主题,它只显示服务器的主要信息。Ward 在所有流行的操作系统上运行良好,因为它使用 OSHI。
Github:https://github.com/B-Software/Ward
本篇博客效果如下:
Ward docker安装
首先通过SSH登陆服务器,在~目录下拉取Ward源代码
git clone https://github.com/B-Software/Ward.git
cd Ward
docker build . --tag ward
等构建镜像完成之后,直接运行:
docker run -d --name ward -p 4000:4000 \
-p 自定义端口号:自定义端口号 \
--privileged=true \
--network halongwiz \
--restart always \
ward:latest
注意事项:
-p 4000:4000为对外配置端口,IP:4000进入配置页面。
-p 自定义端口号:自定义端口号为对外工作端口,我用的是3002
Server Name随便填,我用的是博客名;Application Port要填写成刚刚创建Docker容器时的自定义端口号3002,点击LAUNCH按钮即可完成基本设置。
反向代理nginx配置
server {
listen 80;
server_name ward.findmyfun.xyz;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name ward.findmyfun.xyz;
...
client_max_body_size 1024m;
location / {
proxy_pass http://ward:3002;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
备注:2023最新ward 官方的仓库不再支持docker构建,可以采用这个克隆地址 https://github.com/AntonyLeons/Ward进行构建。
结语
这次使用Docker部署Umami、Uptime及Ward教程就是这么多了,三个容器来监控自己的服务器和博客is enough,通过Nginx对其他容器进行反向代理,就酱~~~ Enjoy it!!!
评论区