Ⅰ 如何設計一個mysql性能監控的軟體
首先介紹下 pt-stalk,它是 Percona-Toolkit 工具包中的一個工具,說起 PT 工具包大家都不陌生,平時常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自於這個工具包,這里就不多介紹了。
pt-stalk 的主要功能是在出現問題時收集 OS 及 MySQL 的診斷信息,這其中包括:
1. OS 層面的 CPU、IO、內存、磁碟、網路等信息;
2. MySQL 層面的行鎖等待、會話連接、主從復制,狀態參數等信息。
而且 pt-stalk 是一個 Shell腳本,對於我這種看不懂 perl 的人來說比較友好,腳本裡面的監控邏輯與監控命令也可以拿來參考,用於構建自己的監控體系。
三、使用
接著我們來看下如何使用這個工具。
pt-stalk 通常以後台服務形式監控 MySQL 並等待觸發條件,當觸發條件時收集相關診斷數據。
觸發條件相關的參數有以下幾個:
function:
∘默認為 status,代表監控 SHOW GLOBAL STATUS 的輸出;
∘也可以設置為 processlist,代表監控 show processlist 的輸出;
variable:
∘默認為 Threads_running,代表 監控參數,根據上述監控輸出指定具體的監控項;
threshold:
∘默認為 25,代表 監控閾值,監控參數超過閾值,則滿足觸發條件;
∘監控參數的值非數字時,需要配合 match 參數一起使用,如 processlist 的 state 列;
cycles:
∘默認為 5,表示連續觀察到五次滿足觸發條件時,才觸發收集;
連接參數:host、password、port、socket。
其他一些重要參數:
iterations:該參數指定 pt-stalk 在觸發收集幾次後退出,默認會一直運行。
run-time:觸發收集後,該參數指定收集多長時間的數據,默認 30 秒。
sleep:該參數指定在觸發收集後,sleep 多久後繼續監控,默認 300 秒。
interval:指定狀態參數的檢查頻率,判斷是否需要觸發收集,默認 1 秒。
dest:監控數據存放路徑,默認為 /var/lib/pt-stalk。
retention-time :監控數據保留時長,默認 30 天。
daemonize:以後台服務運行,默認不開啟。
log:後台運行日誌,默認為 /var/log/pt-stalk.log。
collect:觸發發生時收集診斷數據,默認開啟。
∘collect-gdb:收集 GDB 堆棧跟蹤,需要 gdb 工具。
∘collect-strace:收集跟蹤數據,需要 strace 工具。
∘collect-tcpmp:收集 tcpmp 數據,需要 tcpmp 工具。
Ⅱ linux如何開啟nas服務
NAS伺服器(Network Attached Storage:網路附屬存儲)是一種將分布、獨立的數據整合為大型、集中化管理的數據中心,以便於對不同主機和應用伺服器進行訪問的技術。
Linux的系統選擇
我選擇的是Ubuntu 18.04。但是對於NAS來說,穩定且更新少是必要需求,所以我更加推薦Arch Linux。簡潔干凈,最好減少桌面配置,減少GPU佔用。
系統安裝
下載好.iso文件以後,用UltraISO燒錄進U盤里。然後重啟,按F12進入BIOS,檢查啟動列表,要打開UEFI啟動選項。然後保存設置退出,按F8打開啟動列表,選擇UEFI 你的U盤。進入系統選擇第一項,直接安裝。關於硬碟配置,我只有一個SSD和一個HDD,所以把系統安裝在SSD,讓安裝程序自動分區,HDD自動掛載用來做數據盤。其餘沒什麼好說的,按照自己的需求一直下一部就行了。
SAMBA配置
一、安裝Ubuntu SAMBA伺服器 更新軟體源:輸入命令sudo apt-get update更新軟體源
安裝SAMBA服務:輸入命令sudo apt-get install samba安裝SAMBA伺服器。
二、創建SAMBA配置文件
備份原配置文件:sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
創建共享目錄:sudo mkdir -p /你的共享文件夾路徑#mkdir -p 用來創建路徑中不存在的路徑。
更新目錄許可權:sudo chmod -R 777 /你的共享文件夾路徑 #chmod -R 可以給你共享的目錄和該目錄下所有文件和子目錄進行相同的許可權變更。777即所有用戶對該目錄都有讀寫權。
修改配置文件:sudo vim /etc/samba/smb.conf#沒有vim的請輸入命令sudo apt-get vimvim的使用方法
進入配置文件之後,按i進入編輯模式,把所有欄位全部刪除,輸入以下配置(#號後注釋文字可刪除):
[global] #這里是全局設置workgroup = WORKGROUP #與Windows的工作組名保持一致security = user #這里是訪問安全級別,user為最低安全等級,需要輸入用戶名和密碼。(網上的教程中的的share許可權在更新之後已經關閉了,輸入share許可權默認最高安全等級。)usershare owner only = false #給予其他設備訪問許可權public = yesbrowseable = yes[你的NAS Name] #這里是分享路徑配置comment = User's NAS #這一段是標記,對配置沒有影響。path = /你的共享文件夾路徑 #寫上你自己的共享路徑read only = no #是否只讀writeable = yes #是否可寫browseable = yes #是否可瀏覽guest ok = yes #是否可以給其他用戶使用public = yes #是否公開create mask = 0777 #創建許可權directory mask = 0777 #目錄許可權vaild users = user #輸入當前用戶名 [你的NAS名字]#如果同一台機子你想分開共享路徑,就把上面的配置復制到這里。
三、創建SAMBA用戶
輸入命令
sudo smbpasswd -a username
注意!在創建samba用戶之前請確保有一個同名的linux用戶。
如果想創建其他linux用戶來使用samba,請輸入命令sudo adser username來創建新用戶
四、重啟SAMBA服務 * 輸入命令
sudo systemctl restart smbd
五、檢查SAMBA服務是否正在運行 * 要檢查samba 服務是否正在運行,請輸入命令:
systemctl status smbd
systemctl status nmbd
要啟用這兩個服務,請運行以下命令:
sudo systemctl start smbd
sudo systemctl start nmbd
開始運行後,smbd將在139和445埠上偵聽,若有無法訪問,可以檢查是否為埠封鎖。
PS:Manjaro等Arch系用戶請使用下面的命令來啟用samba服務。
六、從其他設備訪問SAMBA文件夾 * 在同一網路的Windows 設備上,打開此電腦,點擊上方選項卡計算機,選擇選項映射網路驅動器,在文件欄輸入Host ip #你的NAS ip地址你的共享文件夾名 (此處可以不輸入根目錄)
然後就可以直接使用了。
離線下載和遠程式控制制的配置
BT下載
一、BT軟體下載
以下以Transmission為例進行介紹
輸入命令:sudo apt-get install transmission下載transmission。
輸入命令:sudo apt-get install transmission-daemon下載transmission的web管理端
這樣你就可以在桌面打開了,可以在應用程序頁面中找到啟動應用程序應用,把transmission勾選進開機自啟動。
二、web管理BT下載
打開Transmission,點擊編輯選項,點擊首選項選項卡,點擊遠程選項卡。打開遠程連接選項,輸入你覺得比較好記的埠。
在其他設備上打開瀏覽器,在地址欄輸入你的NASIP和你剛剛設置好的埠,例如192.168.1.100:12345, 你就已經可以使用web來管理BT下載了。
如果想要更加美觀的界面和更多的設置選項,可以繼續以下步驟:
Transmission-web-control安裝
1.獲取最新腳本
輸入命令:
2.執行安裝腳本
離線下載
一、關於離線下載軟體
二、Aria2安裝與配置 * Aria2 下載 輸入命令:sudo apt-get install aria2
Aria2完整安裝:
Aria2 配置 vim 打開aria2.conf,將下列配置直接拷貝進文檔內再自行進行編輯。
注意!注釋號內的配置皆為不生效使用默認配置,如果要自定義配置一定要把配置前的注釋號刪除!
啟動aria2
輸入命令:sudo aria2c --conf-path=/etc/aria2/aria2.conf
如果沒有提示錯誤,按ctrl+c停止運行命令,轉為後台運行:
sudo aria2c --conf-path=/etc/aria2/aria2.conf -D
設置開機自動啟動
輸入命令創建:sudo vim /etc/init.d/aria2c
添加以下內容
修改文件許可權:sudo chmod 755 /etc/init.d/aria2c
添加aria2c服務到開機啟動:sudo update-rc.d aria2c defaults
啟動服務:sudo service aria2c start
查看服務狀態:sudo systemctl status aria2c
Aria2的使用
打開瀏覽器,在地址欄輸入http://aria2c.com打開aria2的web管理器。打開右上角的設置,輸入你的NAS機地址和你的aria2配置文件的埠,如果沒有更改就是6800。
在chrome下載aria2插件,可以方便直接調用aria2下載東西,如果無響應可以直接拷貝鏈接下載。
三、關於Docker Docker功能正在研究學習,後續會更新。
配置NAS的遠程管理
一、關於遠程管理
個人推薦SSH多一些,畢竟Linux用命令還是多一些的,而Webmin會稍微直觀一些。
二、SSH的配置 * 安裝SSH
輸入命令:sudo apt-get install ssh
啟動服務:service sshd start
配置埠:vim /etc/ssh/sshd_config
去除Port前的注釋鍵,自定義埠。
查看服務是否啟動:ps -e | grep ssh
無報錯且ssh-agent和sshd兩個程序在運行即可。
Windows下載putty,輸入你的NAS地址和埠即可遠程使用Terminal來管理NAS主機。
三、Web管理
*Webmin安裝
使用wget來下載包:
cd /你的下載目錄
wget https://prdownloads.sourceforge.net/webadmin/webmin_1.910_all.deb
然後運行安裝命令
dpkg --install webmin_1.910_all.deb
安裝程序將會自動把Webmin安裝進/usr/share/webmin目錄內。如果沒有任何報錯,你就可以在其他設備中輸入http://NASIPAddress:10000/,請自行更換NAS的IP。
若遇到缺少依賴的報錯,請輸入該命令解決依賴:apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python
若安裝依賴庫的過程中報錯為無法找到包,請輸入vim /etc/apt/sources.list,檢查最後一行是否以universe結尾。
在使用NAS時,需要先確定NAS上的NFS服務和SMB的服務都開啟了;
然後需要用NAS上的用戶去登錄,這里用的是admin:
# smbclient -L 192.168.1.40 -U admin
Enter admin's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 4.1.20]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service ()
Public Disk
Project Disk
PM_Team Disk
Member Disk
Layout_Team Disk
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 4.1.20]
Server Comment
--------- -------
DISKSTATION_SH
PROSERVER Main Server
Workgroup Master
--------- -------
WORKGROUP PROSERVER
說明連接成功!
如果要使用NAS中的存儲,需要掛載到Linux伺服器中,例如:
# mount -o username=admin,password=********** //192.168.1.40/BackUp /mnt/nasBackup/
然後就可以使用了。