Lepus6.0简介
LEPUS(天兔)是一个开源数据库监控系统。
其V6.0版本不仅仅定位于监控系统,Lepus6.0除各类数据库监控外,新增元数据管理、数据库SQL查询功能。
目前已支持MySQL、Oracle、MariaDB、GreatSQL、PostgreSQL、Redis、MongoDB、SQLServer、TiDB、Doris、OceanBase、ClickHouse等数据库。
Lepus软件下载
官网地址:
https://www.lepus.cc/
下载地址:
https://www.lepus.cc/downloads/
官方文档:
https://www.lepus.cc/docs/lepus-v6/install/lepus-binary/
本次在ubuntu 22.04部署,采用二进制方式安装,因此下载lepus.6.0.linux-amd64.tar.gz并上传至服务器。
安装组件
Lepus部署的软件要求如下:
| 软件名称 | 推荐版本 | 必须 | 备注 |
|---|---|---|---|
| Golang | 1.19.13 | 否 | 源码编译运行必须安装/使用二进制方式无需安装 |
| Nodejs | 14.14.0 | 否 | 源码编译运行必须安装/使用二进制方式无需安装 |
| MySQL | 5.6 | 是 | 用于存储基础数据、配置数据、元数据 |
| ClickHouse | 24.5 | 是 | 用于存储监控时序数据 |
| Redis | 5.0 | 是 | 用于报警系统限流 |
| NSQ | 1.3.0 | 是 | 基于 Golang 的高性能消息队列,用于事件消息传输 |
下面我们逐一安装。
安装MySQL
本次用的版本是8.0.36。
创建用户和目录:
useradd mysql -s /sbin/nologin
id mysql
mkdir -p /app/database/
mkdir -p /data/3306/
mkdir -p /binlog/
chown -R mysql.mysql /app/database/ /data/3306/ /binlog/
将官网下载的二进制包上传至服务器/app/database/目录,解压并重命名:
tar -xf mysql-8.0.36-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.36-linux-glibc2.12-x86_64/ mysql/
配置环境变量:
vim /etc/profile
在结尾添加一行,将mysql的bin目录添加到PATH:
export PATH=/app/database/mysql/bin:$PATH
生效配置并通过检查mysql版本来验证:
source /etc/profile
mysql -V
初始化数据库:
/app/database/mysql/scripts/mysql_install_db --user=mysql --basedir=/app/database/mysql --datadir=/data/3306/
其中:
–basedir=/usr/local/mysql : 数据库软件位置
–datadir=/data/3306/data : 数据存储位置
创建基本的配置文件:
cat > /etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/app/database/mysql
datadir=/data/3306
server_id=107
port=3306
socket=/tmp/mysql.sock
default_authentication_plugin=mysql_native_password
[mysql]
socket=/tmp/mysql.sock
EOF
准备mysql启动脚本,并将脚本添加到systemd管理中:
cd /app/database/mysql/support-files/
cp mysql.server /etc/init.d/mysqld
sudo systemctl daemon-reload
启动mysqld:
systemctl start mysqld
进入客户端,密码为空:
mysql -uroot -p
创建天兔账号(此处给了管理员权限):
create user 'lepus' identified by'123456';
grant all privileges on *.* to 'lepus'@'%' with grant option;
创建天兔库:
create database lepus;
安装Clickhouse
取消打开文件数限制:
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
安装依赖:
apt install -y unixodbc unixodbc-dev
官网下载页面:
https://clickhouse.com/docs/en/install#available-installation-options
或直接使用安装包下载地址,进入clickhouse目录:
https://packages.clickhouse.com/deb/pool/main/c/
安装包列表:
- clickhouse-common-static — ClickHouse编译的二进制文件。
- clickhouse-server — 创建clickhouse-server软连接,并安装默认配置服务
- clickhouse-client — 创建clickhouse-client客户端工具软连接,并安装客户端配置文件。
- clickhouse-common-static-dbg — 带有调试信息的ClickHouse二进制文件。
本次我们使用24.5.8.10版本,本次不安装debug包,因此下载这3个包即可:
- clickhouse-client_24.5.8.10_amd64.deb
- clickhouse-common-static_24.5.8.10_amd64.deb
- clickhouse-server_24.5.8.10_amd64.deb
附每个包下载地址:
https://packages.clickhouse.com/deb/pool/main/c/clickhouse/clickhouse-client_24.5.8.10_amd64.deb
https://packages.clickhouse.com/deb/pool/main/c/clickhouse/clickhouse-common-static_24.5.8.10_amd64.deb
https://packages.clickhouse.com/deb/pool/main/c/clickhouse/clickhouse-server_24.5.8.10_amd64.deb
下载后上传至服务器,查看依赖,以下面的包为例:
dpkg -I clickhouse-server_24.5.8.10_amd64.deb
按如下顺序进行安装:
dpkg -i clickhouse-common-static_24.5.8.10_amd64.deb
dpkg -i clickhouse-server_24.5.8.10_amd64.deb
dpkg -i clickhouse-client_24.5.8.10_amd64.deb
其中server要求输入default用户密码,之后显示如下信息安装成功:
Password for the default user is saved in file /etc/clickhouse-server/users.d/default-password.xml.
Setting capabilities for clickhouse binary. This is optional.
chown -R clickhouse:clickhouse '/etc/clickhouse-server'
ClickHouse has been successfully installed.
Start clickhouse-server with:
sudo clickhouse start
Start clickhouse-client with:
clickhouse-client --password
Synchronizing state of clickhouse-server.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable clickhouse-server
Created symlink /etc/systemd/system/multi-user.target.wants/clickhouse-server.service → /lib/systemd/system/clickhouse-server.service.
启动clickhouse:
sudo clickhouse start
正常启动后打印信息如下:
Will run sudo --preserve-env -u 'clickhouse' /usr/bin/clickhouse-server --config-file /etc/clickhouse-server/config.xml --pid-file /var/run/clickhouse-server/clickhouse-server.pid --daemon
Waiting for server to start
Waiting for server to start
Server started
检查启动状态:
sudo clickhouse status
使用 client 连接 server:
clickhouse-client -m --user default --password
此处密码即我们安装server时default用户的密码。
进入客户端后我们为天兔创建用户(此处给了管理员权限):
create user 'lepus' identified with sha256_password by '123456' host any;
GRANT ALL ON *.* TO 'lepus' WITH GRANT OPTION;
如果报如下错误:
Received exception from server (version 24.5.8):
Code: 497. DB::Exception: Received from localhost:9000. DB::Exception: default: Not enough privileges. To execute this query, it's necessary to have the grant ALL ON *.* WITH GRANT OPTION. (ACCESS_DENIED)
则可以用defalut登录并查看defalut的权限:
SHOW GRANTS FOR CURRENT_USER();
然后根据defalut的权限授权:
GRANT SHOW, SELECT, INSERT, ALTER, CREATE, DROP, UNDROP TABLE, TRUNCATE, OPTIMIZE, BACKUP, KILL QUERY, KILL TRANSACTION, MOVE PARTITION BETWEEN SHARDS, ACCESS MANAGEMENT, SYSTEM, dictGet, displaySecretsInShowAndSelect, INTROSPECTION, SOURCES, CLUSTER ON *.* TO lepus WITH GRANT OPTION;
GRANT TABLE ENGINE ON * TO lepus WITH GRANT OPTION;
GRANT SET DEFINER ON * TO lepus WITH GRANT OPTION;
GRANT ALTER NAMED COLLECTION, CREATE NAMED COLLECTION, DROP NAMED COLLECTION, SHOW NAMED COLLECTIONS, NAMED COLLECTION ON * TO lepus WITH GRANT OPTION;
另一种方法是修改users.xml:
vim /etc/clickhouse-server/users.xml
在
<access_management>1</access_management>
重启服务:
sudo clickhouse restart
但亲测这种方法仍旧报错,待后续研究。
用lepus登录并创建天兔库:
clickhouse-client -m --user lepus --password
CREATE DATABASE IF NOT EXISTS lepus;
安装Redis
安装依赖:
sudo apt install -y gcc automake autoconf libtool make
下载地址:
https://download.redis.io/releases/
我们本次下载redis-5.0.14.tar.gz
https://download.redis.io/releases/redis-5.0.14.tar.gz
上传至服务器后解压:
tar -zxvf redis-5.0.14.tar.gz
mv redis-5.0.14 redis
编译:
cd redis
make
配环境变量,修改/etc/profile添加下面这行:
export PATH=/app/redis/src:$PATH
生效环境变量:
source /etc/profile
创建数据目录:
mkdir /data/6379
设置配置文件:
vim /data/6379/redis.conf
bind 0.0.0.0
protected-mode no
tcp-backlog 511
timeout 86400
tcp-keepalive 300
daemonize yes
supervised no
port 6379
pidfile /data/6379/redis_6379.pid
logfile /data/6379/redis.log
dir /data/6379
dbfilename dump.rdb
启动redis:
/app/redis/src/redis-server redis.conf &
检查端口状态:
netstat -lnp|grep 6379
客户端连接(redis没有用户的概念,只有绑定地址和密码):
/app/redis/src/redis-cli -p 6379 -a 123456
安装NSQ
我们选择1.3.0,下载地址:
https://github.com/nsqio/nsq/releases
我们选择nsq-1.3.0.linux-amd64.go1.21.5.tar.gz,下载后上传至服务器/app,并解压:
tar -xf nsq-1.3.0.linux-amd64.go1.21.5.tar.gz
mv nsq-1.3.0.linux-amd64.go1.21.5 nsq
启动服务:
cd nsq
nohup /app/nsq/bin/nsqlookupd >/dev/null 2>nsqlookupd.log &
nohup /app/nsq/bin/nsqd -lookupd-tcp-address=127.0.0.1:4160 -broadcast-address=127.0.0.1 >/dev/null 2>nsqd.log &
nohup /app/nsq/bin/nsqadmin -lookupd-http-address=127.0.0.1:4161 >/dev/null 2>nsqadmin.log &
检查端口:
netstat -lnp|grep 4171
netstat -lnp|grep 4150
netstat -lnp|grep 4160
netstat -lnp|grep 4161
结果如下:
root@vl7mysqlsit107:/app/lepus.6.0.linux-amd64# netstat -lnp|grep 4171
tcp6 0 0 :::4171 :::* LISTEN 1281811/nsqadmin
root@vl7mysqlsit107:/app/lepus.6.0.linux-amd64# netstat -lnp|grep 4150
tcp6 0 0 :::4150 :::* LISTEN 1281802/nsqd
root@vl7mysqlsit107:/app/lepus.6.0.linux-amd64# netstat -lnp|grep 4160
tcp6 0 0 :::4160 :::* LISTEN 1281791/nsqlookupd
root@vl7mysqlsit107:/app/lepus.6.0.linux-amd64# netstat -lnp|grep 4161
tcp6 0 0 :::4161 :::* LISTEN 1281791/nsqlookupd
启动完毕后浏览器登录IP:4171 进入NSQ管理界面:

安装Lepus
解压lepus后进入lepus目录,并执行install.sh安装lepus软件:
tar -zxvf lepus.6.0.linux-amd64.tar.gz
cd lepus.6.0.linux-amd64/
sh install.sh
可以看到执行后创建了服务:
Created symlink /etc/systemd/system/multi-user.target.wants/lepus.service → /etc/systemd/system/lepus.service.
配置编辑/etc/lepus/setting.yml配置文件,
修改MySQL、ClickHouse、Redis、NSQ、Mail网关等配置为正确的地址。
(MySQL、ClickHouse、Redis、NSQ已提前安装)。
vim /etc/lepus/setting.yml
log:
path: "/tmp/lepus.log"
level: "info"
debug: false
token:
storage: "mysql"
key: "S9p2+dsfM1CzLF=="
name: "lepus"
expired: "3d"
decrypt:
signKey: "1234567890abcdef"
dbPassKey: "L1e2p3u4s5Abc321"
dataSource:
#mysql
host: 127.0.0.1
port: 3306
user: lepus
password:123456
database: lepus
#redis
redisHost: 127.0.0.1
redisPort: 6379
redisPassword: 123456
#clickhouse
clickhouseHost: 127.0.0.1
clickhousePort: 9000
clickhouseUser: lepus
clickhousePassword: 123456
clickhouseDatabase: lepus
#nsq
nsqServer: 127.0.0.1:4150
notice:
#mail
mailHost: xxxxx
mailPort: xxxxx
mailUser: xxxxx
mailPass: xxxxx
mailFrom: xxxxx
启动Lepus服务:
sh start.sh
查看lepus服务状态:
sh status.sh
显示如下:
● lepus.service - Lepus Service
Loaded: loaded (/etc/systemd/system/lepus.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2025-02-14 11:23:23 CST; 4s ago
Main PID: 1285008 (lepus)
Tasks: 8 (limit: 9364)
Memory: 9.9M
CPU: 108ms
CGroup: /system.slice/lepus.service
└─1285008 /usr/local/sbin/lepus -c /etc/lepus/setting.yml
Feb 14 11:23:24 vl7mysqlsit107 lepus[1285008]: [GIN-debug] [WARNING] Since SetHTMLTemplate() is NOT thread-safe. It should only be called
Feb 14 11:23:24 vl7mysqlsit107 lepus[1285008]: at initialization. ie. before any route is registered or the router is listening in a socket:
Feb 14 11:23:24 vl7mysqlsit107 lepus[1285008]: router := gin.Default()
Feb 14 11:23:24 vl7mysqlsit107 lepus[1285008]: router.SetHTMLTemplate(template) // << good place
Feb 14 11:23:24 vl7mysqlsit107 lepus[1285008]: [GIN-debug] GET /public/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (5 handlers)
Feb 14 11:23:24 vl7mysqlsit107 lepus[1285008]: [GIN-debug] HEAD /public/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (5 handlers)
Feb 14 11:23:24 vl7mysqlsit107 lepus[1285008]: [GIN-debug] GET /logo.png --> main.main.func1 (5 handlers)
Feb 14 11:23:24 vl7mysqlsit107 lepus[1285008]: [GIN-debug] GET /avatar.jpg --> main.main.func2 (5 handlers)
Feb 14 11:23:24 vl7mysqlsit107 lepus[1285008]: [GIN-debug] GET / --> main.main.func3 (5 handlers)
Feb 14 11:23:24 vl7mysqlsit107 lepus[1285008]: [GIN-debug] Listening and serving HTTP on :8086
查看lepus日志:
tail -f /tmp/lepus.log
登录lepus系统:
启动后通过浏览器打开 http://IP:8086 进入lepus系统,默认管理员账号密码:admin/lepusadmin
关闭lepus服务:
sh stop.sh
卸载lepus服务:
sh uninstall.sh





