暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

开源数据库监控系统LEPUS(天兔) 6.0 安装部署

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
复制

图片.png

最后修改时间:2025-02-14 11:47:02
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论