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

上節回顧:http://www.javashuo.com/article/p-qgzbfpec-dd.htmlhtml

以CentOS爲例:python

1.環境

PS:若是不須要Golang環境,能夠編譯後把執行文件copy到服務器(相同環境下,編譯的執行文件能夠直接執行)mysql

1.安裝Golang

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

2.安裝go-sniffer

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

3.配置環境

方法一

vi ~/.profilegolang

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

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

而後刷新一下:source ~/.profileredis

方法二

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

而後刷新一下:source ~/.bashrcshell

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

相關文章
相關標籤/搜索