简洁的开源数据库监控软件lepus
软件要求
基础环境
rhel 8.4
Golang 安装
yum 安装Golang
mysql 安装
略 (有机会写一下啊)
redis 安装
yum 安装方式,rhel 8.4 ISO 包含 redis 5.0.3
yum list redis yum install redis修改redis配置(服务IP、关闭保护模式、修改密码)
vim /etc/redis.conf# 使用/bind 搜索bind 127.0.0.1# 添加 bind 本机IP(作为服务端的IP)bind 127.0.0.1bind 10.XX.XX.XX# 使用/protect-ed 搜索 protected-mode yes# 关闭保护模式 由yes改为noprotected-mode no# 使用/pass 搜索requirepass foobared# 注释符号删除,然后后面的foobared改成我们需要的密码requirepass XXXXXX :wq开机自启redis
systemctl enable redis systemctl is-enabled redis
NSQ 安装
下载安装包
[官方地址]https://nsq.io/deployment/installing.html安装启动和测试
mkdir /NSQtar -zxvf nsq-1.2.1.linux-amd64.go1.16.6.tar.gzcd nsq-1.2.1.linux-amd64.go1.16.6/mkdir /NSQ/nsq-1.2.1.linux-amd64.go1.16.6/outcd bin/nohup ./nsqlookupd &nohup ./nsqd --lookupd-tcp-address=10.62.25.182:4160 &nohup ./nsqadmin --lookupd-http-address=10.62.25.182:4161 &tail -f nohup.out #查看日志编写启动脚本
cd /NSQ/nsq-1.2.1.linux-amd64.go1.16.6/binvim start.shchmod 755 start.shchown root:wheel start.sh脚本内容参考
#!/bin/shcd /NSQ/nsq-1.2.1.linux-amd64.go1.16.6/bin #请修改成自己的解压路径ps aux |grep 'nsqlookupd' |grep -v grep |awk '{print $2}'|xargs kill -9ps aux |grep 'nsqd' |grep -v grep |awk '{print $2}'|xargs kill -9ps aux |grep 'nsqadmin' |grep -v grep |awk '{print $2}'|xargs kill -9ps aux |grep 'nsq_to_file' |grep -v grep |awk '{print $2}'|xargs kill -9NSQ_ADDRESS="10.XX.XX.XX" #修改成服务器IPNSQLOOKUPD_LOG="../out/tmplookup5.out"NSQD_LOG="../out/tmpnsqd5.out"NSQADMIN_LOG="../out/tmpnsqadmin5.out"NSQFILE_LOG="../out/tmpnsqfile5.out"NSQFILE_DIR="../out/"nohup ./nsqlookupd >> NSQLOOKUPD_LOG 2>&1 &nohup ./nsqd --lookupd-tcp-address=$NSQ_ADDRESS":4160" >> $NSQD_LOG 2>&1 &nohup ./nsqadmin -lookupd-http-address=$NSQ_ADDRESS":4161" >> $NSQADMIN_LOG 2>&1 &nohup ./nsq_to_file --topic=test --output-dir=$NSQFILE_DIR --lookupd-http-address=$NSQ_ADDRESS":4161" >> $NSQFILE_LOG 2>&1 &将脚本变成系统服务,使用systemctl 管理
[Unit]Description=NSQ serviceAfter=network.target [Service] Type=forking ExecStart=/NSQ/nsq-1.2.1.linux-amd64.go1.16.6/bin/start.shExecReload=/NSQ/nsq-1.2.1.linux-amd64.go1.16.6/bin/start.shExecStop=/NSQ/nsq-1.2.1.linux-amd64.go1.16.6/bin/stop.sh # stop.sh为start.sh前6行PrivateTmp=true [Install] WantedBy=multi-user.target
在/usr/lib/systemd/system 下建立nsq.service关于注册成系统服务的各字段解释
Description:描述服务 After:描述服务类别[Service]服务运行参数的设置 #注意:[Service]的启动、重启、停止命令全部要求使用绝对路径Type=forking是后台运行的形式 ExecStart为服务的具体运行命令 ExecReload为重启命令 ExecStop为停止命令PrivateTmp=True表示给服务分配独立的临时空间[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3重载系统服务、重启NSQ服务、设置开机自动启动
systemctl daemon-reload systemctl stop nsq.service systemctl start nsq.service systemctl status nsq.service systemctl enable nsq.service
安装Lepus
下载二进制版本Lepus
[官方地址]https://www.lepus.cc/downloads/
包名 lepus.5.1.linux-amd64.tar.gz下载并解压重命名
mkdir /lepuscd /lepustar -zxvf lepus.5.1.linux-amd64.tar.gzmv lepus.5.1.linux-amd64 lepus.5.1初始化lepus数据库
mysql -uroot -p mysql> create database lepus_db;
创建lepus_db数据库建表导数
cd lepus.5.1/sql mysql -uroot -p'password' lepus_db < init_table.sql mysql -uroot -p'password' lepus_db < init_data.sql修改配置文件
cp etc/proxy.example.ini etc/proxy.inicp etc/alarm.example.ini etc/alarm.inicp etc/config.example.ini etc/config.ini
从example中复制配置文件,设置里包含连接MySQL、Redis、NSQ、告警邮件网关。将3个配置文件的mysql和redis配置修改成自己的
按顺序启动
cd /data/lepus.5.1/bin/ ./lepus_proxy --config=../etc/proxy.ini ./lepus_task --config=../etc/config.ini ./lepus_alarm --config=../etc/alarm.ini# 检查进程ps -ef|grep lepus root 3810 3135 0 Jun16 pts/0 00:00:00 ./lepus_proxy --config=../etc/proxy.ini root 3816 3135 0 Jun16 pts/0 00:00:00 ./lepus_task --config=../etc/config.ini root 5329 5000 0 09:55 pts/1 00:00:00 ./lepus_alarm --config=../etc/alarm.ini# 查看日志tail -f /tmp/lepus_proxy.logtail -f /tmp/lepus_task.logtail -f /tmp/lepus_alarm.log
安装 Lepus-console
Lepus Console控制台是用于配置和管理Lepus的WEB管理界面
[官方地址]https://www.lepus.cc/downloads/
包名lepus-console.5.1.linux-amd64.tar.gz解压lepus-console.5.1
cd /lepustar -zxvf lepus-console.5.1.linux-amd64.tar.gzmv lepus-console.5.1.linux-amd64 lepus-console.5.1cd lepus-console.5.1复制和修改lepus-console配置文件
cp setting.example.yml setting.ymlvim setting.yml # 修改mysql的配置
配置lepus 为系统服务
编写lepus启动脚本和停止脚本
#!/bin/shcd /lepusps aux |grep 'lepus_proxy' |grep -v grep |awk '{print $2}'|xargs kill -9ps aux |grep 'lepus_task' |grep -v grep |awk '{print $2}'|xargs kill -9ps aux |grep 'lepus_alarm' |grep -v grep |awk '{print $2}'|xargs kill -9ps aux |grep 'lepus_console' |grep -v grep |awk '{print $2}'|xargs kill -9cd /lepus/lepus.5.1/binnohup /lepus/lepus.5.1/bin/lepus_proxy --config=../etc/proxy.ini &nohup /lepus/lepus.5.1/bin/lepus_task --config=../etc/config.ini &nohup /lepus/lepus.5.1/bin/lepus_alarm --config=../etc/alarm.ini &cd /lepus/lepus-console.5.1nohup /lepus/lepus-console.5.1/lepus_console &
start.shstop.sh
#!/bin/shcd /lepusps aux |grep 'lepus_proxy' |grep -v grep |awk '{print $2}'|xargs kill -9ps aux |grep 'lepus_task' |grep -v grep |awk '{print $2}'|xargs kill -9ps aux |grep 'lepus_alarm' |grep -v grep |awk '{print $2}'|xargs kill -9ps aux |grep 'lepus_console' |grep -v grep |awk '{print $2}'|xargs kill -9编写lepus.service
[Unit]Description=lepus serviceAfter=network.target [Service] Type=forking ExecStart=/lepus/start.shExecReload=/lepus/start.shExecStop=/lepus/stop.shPrivateTmp=true [Install] WantedBy=multi-user.target
在/usr/lib/systemd/system 下建立lepus.service重载系统服务,设置开机启动
systemctl daemon-reload systemctl start lepus.service systemctl stop lepus.service systemctl enable --now lepus.service
完结
访问 服务器IP:8080 ,初始账号密码 admin/lepusadmin