簡潔的開源數(shù)據(jù)庫監(jiān)控軟件lepus
軟件要求
基礎(chǔ)環(huán)境
rhel 8.4
Golang 安裝
yum 安裝Golang
mysql 安裝
略 (有機(jī)會寫一下啊)
redis 安裝
yum 安裝方式,rhel 8.4 ISO 包含 redis 5.0.3
yum list redis yum install redis修改redis配置(服務(wù)IP、關(guān)閉保護(hù)模式、修改密碼)
vim /etc/redis.conf# 使用/bind 搜索bind 127.0.0.1# 添加 bind 本機(jī)IP(作為服務(wù)端的IP)bind 127.0.0.1bind 10.XX.XX.XX# 使用/protect-ed 搜索 protected-mode yes# 關(guān)閉保護(hù)模式 由yes改為noprotected-mode no# 使用/pass 搜索requirepass foobared# 注釋符號刪除,然后后面的foobared改成我們需要的密碼requirepass XXXXXX :wq開機(jī)自啟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腳本內(nèi)容參考
#!/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" ? #修改成服務(wù)器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 &將腳本變成系統(tǒng)服務(wù),使用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關(guān)于注冊成系統(tǒng)服務(wù)的各字段解釋
Description:描述服務(wù) After:描述服務(wù)類別[Service]服務(wù)運(yùn)行參數(shù)的設(shè)置 ?#注意:[Service]的啟動、重啟、停止命令全部要求使用絕對路徑Type=forking是后臺運(yùn)行的形式 ExecStart為服務(wù)的具體運(yùn)行命令 ExecReload為重啟命令 ExecStop為停止命令PrivateTmp=True表示給服務(wù)分配獨(dú)立的臨時空間[Install]運(yùn)行級別下服務(wù)安裝的相關(guān)設(shè)置,可設(shè)置為多用戶,即系統(tǒng)運(yùn)行級別為3重載系統(tǒng)服務(wù)、重啟NSQ服務(wù)、設(shè)置開機(jī)自動啟動
systemctl daemon-reload systemctl stop nsq.service systemctl start nsq.service systemctl status nsq.service systemctl enable nsq.service
安裝Lepus
下載二進(jìn)制版本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數(shù)據(jù)庫
mysql -uroot -p mysql> create database lepus_db;
創(chuàng)建lepus_db數(shù)據(jù)庫建表導(dǎo)數(shù)
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中復(fù)制配置文件,設(shè)置里包含連接MySQL、Redis、NSQ、告警郵件網(wǎng)關(guān)。將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# 檢查進(jìn)程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復(fù)制和修改lepus-console配置文件
cp setting.example.yml setting.ymlvim setting.yml ? ?# 修改mysql的配置
配置lepus 為系統(tǒng)服務(wù)
編寫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重載系統(tǒng)服務(wù),設(shè)置開機(jī)啟動
systemctl daemon-reload systemctl start lepus.service systemctl stop lepus.service systemctl enable --now lepus.service
完結(jié)
訪問 服務(wù)器IP:8080 ,初始賬號密碼 admin/lepusadmin