監控MySQL|Redis|MongoDB的執行語句(go-sniffer)


上節回顧:https://www.cnblogs.com/dotnetcrazy/p/9986873.html

以CentOS為例:

1.環境

PS:如果不需要Golang環境,可以編譯后把執行文件copy到服務器(相同環境下,編譯的執行文件可以直接執行)

1.安裝Golang

yum install golang -y(這一步需要root權限)

2.安裝go-sniffer

go get -v -u github.com/40t/go-sniffer

3.配置環境

方法一

vi ~/.profile

確保~/go/bin/在環境變量中,eg:

PATH="$HOME/go/bin:$PATH"

然后刷新一下:source ~/.profile

方法二

echo 'export PATH="$HOME/go/bin:$PATH"' >> ~/.bashrc

然后刷新一下:source ~/.bashrc

2.案例

1.go-sniffer幫助

先簡單看看幫助文檔:

[dnt@localhost ~]$ go-sniffer 
==================================================================================
[Usage]

    go-sniffer [device] [plug] [plug's params(optional)]

    [exp]
          go-sniffer en0 redis          Capture redis packet
          go-sniffer en0 mysql -p 3306  Capture mysql packet

    go-sniffer --[commend]
               --help "this page"
               --env  "environment variable"
               --list "Plug-in list"
               --ver  "version"
               --dev  "device"
    [exp]
          go-sniffer --list "show all plug-in"

==================================================================================
[device] : lo :   127.0.0.1
[device] : eth0 : 00:15:5d:24:90:00  192.168.36.123
==================================================================================

2.MySQL案例

我是在MariaDB服務器端監控的:go-sniffer eth0 mysql(需要root權限,本地就用lo)

隨便運行一個Python的案例:

ok,監控起效了~

PS:並不是有些人說的批量執行哦~

3.Redis案例

前置條件:/etc/redis.conf

  1. 注釋掉bind=127.0.0.1
  2. 添加密碼:requirepass 密碼

Python案例

PS:6379端口權限記得給一下:

# 開放6379端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
# 刷新
firewall-cmd --reload

4.另一款神器soar

【推薦】SQL自動優化和改寫的工具:(小米開源,之前推過)
https://github.com/lotapp/soar

不用配置什么環境,直接echo "你的sql語句" | soar來運行即可

拓展文章:https://mp.weixin.qq.com/s/XJvRjkSab4B5zPdWBOhi1w

Web版擴展:https://github.com/lotapp/soar-web


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM