工具研發者介紹
賀春暘, 凡普金科DBA團隊負責人,《MySQL管理之道:性能調優、高可用與監控》第一、二版作者,曾任職於中國移動飛信、安卓機鋒網。致力於MariaDB、MongoDB等開源技術的研究,主要負責數據庫性能調優、監控和架構設計。
工具下載:
https://github.com/hcymysql/os_monitor/
簡介
一款輕量級OS系統可視化監控指標工具,採集的指標包括cpu idle空閒使用率、cpu load負載使用率、內存使用率、磁盤空間使用率。
工作流程:Agent端從Server端os_status_info表中,獲取被監控主機的各項系統閥值,採集客戶端主機資源信息完成入庫和報警,Server端用來監控客戶端主機ssh是否存活和頁面信息展示,可實現微信和郵件報警。
只需一條SQL,簡單的配置,即可完成部署。
1、Dashboard首頁
點擊圖表,可以查看歷史曲線圖。
2、cpu idle空閒使用率
3、cpu load負載使用率
4、內存使用率
5、磁盤空間使用率
環境搭建
監控管理端
# yum install httpd mysql php php-mysqlnd -y
# service httpd restart
被監控端
# yum install php php-mysqlnd -y
os_monitor監控工具搭建
監控管理端
1、把 https://github.com/hcymysql/os_monitor/archive/master.zip 安裝包解壓縮到/var/www/html/目錄下
# cd /var/www/html/os_monitor/
# chmod 755 ./mail/sendEmail
# chmod 755 ./weixin/wechat.py
注:郵件和微信報警調用的第三方工具,所以這裡要賦予可執行權限755。
2、導入os_monitor監控工具表結構(os_monitor_db庫)
# cd /var/www/html/os_monitor/
# mysql -uroot -p123456 < os_monitor_schema.sql
3、錄入被監控主機的信息
mysql> insert into os_status_info(host,ssh_port,tag,monitor,send_mail, send_mail_to_list,send_weixin,send_weixin_to_list,threshold_alarm_cpu_idle, threshold_alarm_cpu_load,threshold_alarm_memory_usage,threshold_alarm_disk_free)values ('127.0.0.1',22,'測試機',1,1,'[email protected],[email protected]',1,'hechunyang',60,6,80,85);
注,以下字段可以按照需求變更:
host字段含義:輸入被監控主機的IP地址
ssh_port字段含義:輸入被監控主機的ssh端口
tag字段含義:輸入被監控主機的名字
monitor字段含義:0為關閉監控(也不採集數據,直接跳過),1為開啟監控(採集數據)
send_mail字段含義:0為關閉郵件報警,1為開啟郵件報警
send_mail_to_list字段含義:郵件人列表,多個郵件用逗號分隔
send_weixin字段含義:0為關閉微信報警,1為開啟微信報警
send_weixin_to_list字段含義:微信公眾號
threshold_alarm_cpu_idle字段含義:設置空閒CPU使用率閥值,即CPU處於空閒狀態時間比例
threshold_alarm_cpu_load字段含義:設置cpu load負載使用率閥值
threshold_alarm_memory_usage字段含義:設置memory內存使用率閥值
threshold_alarm_disk_free字段含義:設置磁盤空間使用率閥值
4、修改conn.php配置文件
# vim /var/www/html/os_monitor/conn.php
$conn = mysqli_connect("127.0.0.1","admin","hechunyang","os_monitor_db","3306") or die("數據庫鏈接錯誤" . PHP_EOL .mysqli_connect_error);
改成你的os_monitor監控工具表結構(os_monitor_db庫)連接信息。
5、修改郵件報警信息
# cd /var/www/html/os_monitor/mail/
# vim mail.php
system("./mail/sendEmail -f [email protected] -t '{$this->send_mail_to_list}' -s smtp.139.com:25 -u '{$this->alarm_subject}' -o message-charset=utf8 -o message-content-type=html -m '報警信息:
{$this->alarm_info}' -xu [email protected] -xp '123456' -o tls=no");
改成你的發件人地址,賬號密碼,裡面的變量不用修改。
# cd /var/www/html/os_monitor/weixin/
# vim wechat.py
微信企業號設置移步 https://github.com/X-Mars/Zabbix-Alert-WeChat/blob/master/README.md 看此教程配置。
7、crontab定時任務每分鐘抓取一次
*/1 * * * * cd /var/www/html/os_monitor/; /usr/bin/php /var/www/html/os_monitor/check_os_server.php > /dev/ 2 >&1
*/1 * * * * cd /var/www/html/os_monitor/; /usr/bin/php /var/www/html/os_monitor/check_os_agent.php > /dev/ 2 >&1
8、更改頁面自動刷新頻率
# vim os_status_monitor.php
http-equiv="refresh" content="600"
默認頁面每600秒自動刷新一次。
9、頁面訪問
http://yourIP/os_monitor/os_status_monitor.php
加一個超鏈接,可方便地接入你們的自動化運維平臺裡。
被監控端Agent
需要check_os_agent.php和conn.php文件,以及mail和weixin目錄文件。
crontab定時任務每分鐘抓取一次。
*/1 * * * * cd /usr/local/os_monitor_agent/; /usr/bin/php /usr/local/os_monitor_agent/check_os_agent.php > /dev/ 2 >&1
注:conn.php文件要和監控管理端的信息內容一致。
下載方式
此工具現通過dbaplus社群免費為大家提供下載使用。若使用過程中有任何問題或建議,可隨時與我們聯繫,歡迎大家試用。
登錄以下鏈接即可下載:
https://github.com/hcymysql/os_monitor/
更多開源工具&腳本
詳情及下載:http://dbaplus.cn/list-142-1.html
從過去40年至今,數據庫的形態基本經歷了傳統商業數據庫、開源數據庫到雲原生數據庫的演進過程。雲時代下數據庫將如何革新與創變?金融行業核心數據庫遷移與建設如何安全平穩展開?來
Gdevops全球敏捷運維峰會北京站尋找答案:《All in Cloud 時代,下一代雲原生數據庫技術與趨勢》阿里巴巴集團副總裁/達摩院首席數據庫科學家 李飛飛(飛刀)
《AI和雲原生時代的數據庫進化之路》騰訊數據庫產品中心總經理 林曉斌(丁奇)
《ICBC的MySQL探索之路》工商銀行軟件開發中心 魏亞東
《金融行業MySQL高可用實踐》愛可生技術總監 明溪源
《民生銀行在SQL審核方面的探索和實踐》民生銀行 資深數據庫專家 李寧寧
《OceanBase分佈式數據庫在西安銀行的落地和實踐》螞蟻金服P9資深專家/OceanBase核心負責人 蔣志勇
讓我們9月11日在北京共同眺望數據庫發展變革更長遠的未來!
閱讀更多 dbaplus社群 的文章