請注意
阿里云監(jiān)控提供三種方式上報(bào)數(shù)據(jù) OpenAPI、Java SDK 和阿里云命令行工具(CLI);
此配置只針對托管在阿里云公有云服務(wù)器上的ECS;
Linux發(fā)行版 Minimal_CentOS7.2;
目的是以統(tǒng)計(jì)某個(gè)地區(qū):“當(dāng)前實(shí)時(shí)在線牌桌信息”為例;
所有安裝操作必須連接互聯(lián)網(wǎng),上報(bào)監(jiān)控?cái)?shù)據(jù)方式采用阿里云CLI方式;
構(gòu)建步驟
首先構(gòu)建AccessKey
登陸阿里云控制臺-右側(cè)選擇賬戶信息-點(diǎn)擊accesskeys(若出現(xiàn)繼續(xù)使用AccessKey,請點(diǎn)擊繼續(xù)使用) 注意:為了安全起見,建議使用RAM子賬號
安裝Python
安裝2.7以上的Python工具,已安裝請忽略
[root@test_majiang_aliyun ~]# wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz [root@test_majiang_aliyun ~]# tar -zxvf Python-2.7.8.tgz[root@test_majiang_aliyun ~]# cd Python-2.7.8[root@test_majiang_aliyun ~]# ./configure[root@test_majiang_aliyun ~]# make[root@test_majiang_aliyun ~]# make install
升級pip
[root@test_majiang_aliyun ~]# pip install -U pip
安裝pip(已安裝跳過)
[root@test_majiang_aliyun ~]# curl "https://bootstrap.pypa.io/get-pip.py" -o "pip-install.py"[root@test_majiang_aliyun ~]# python pip-install.py
安裝阿里云命令行工具
[root@test_majiang_aliyun ~]# pip install aliyuncli
在線安裝阿里云Python SDK
阿里云Python SDK參考文檔
[root@test_majiang_aliyun ~]# pip install aliyun-python-sdk-cms
配置命令行工具
[root@test_majiang_aliyun ~]# aliyuncli configureAliyun Access Key ID [None]: <輸入 Access Key ID> --->accesskey Aliyun Access Key Secret [None]: <輸入 Access Key Secret> --->accesskey secretDefault Region Id [None]: <輸入您購買的阿里云產(chǎn)品的 Region Id> --->cn-qingdaoDefault output format [None]: <輸入您需要的輸出格式> ---json 注意:輸入剛注冊生成的accesskey和accesskey secret
手動上報(bào)監(jiān)控?cái)?shù)據(jù)到阿里云監(jiān)控控制臺
創(chuàng)建應(yīng)用分組:
登陸控制臺--云監(jiān)控--應(yīng)用分組--創(chuàng)建組--選擇云服務(wù)器ECS--填好名稱和實(shí)例通知對象確定即可;
上報(bào)過程會調(diào)用api,上報(bào)成功后返回200狀態(tài)碼
[root@test_majiang_aliyun ~]# aliyuncli cms PutCustomMetric --MetricList '[{"groupId":41864,"metricName":"online_tables_count","dimensions": {"regin":"game_server"},"type":0,"values": {"value":1}}]'
整條語句是命令行+json語句串;
groupId:填寫組ID,metricName:根據(jù)服務(wù)業(yè)務(wù)自定義標(biāo)題,dimensions:監(jiān)控的維度,regin:自定義;
重點(diǎn)說兩個(gè)值:
type:值默認(rèn)為0不用變,表示上傳原始數(shù)據(jù);
values:這個(gè)值就是腳本計(jì)算出來的在線牌桌數(shù),手動上傳values給的是多少就是多少,后期可通過變量引用;
錯(cuò)誤狀態(tài)碼:
200 正常,400 客戶端請求中的語法錯(cuò)誤,403 校驗(yàn)失敗、限速、沒有授權(quán),500 服務(wù)器內(nèi)部錯(cuò)誤;
手動驗(yàn)證上報(bào)的數(shù)據(jù)正確性
登陸阿里云控制臺--云監(jiān)控--自定義監(jiān)控--在時(shí)間序列欄目下會顯示個(gè)時(shí)間序列,序列名對應(yīng)region給的值;
如果有證明上傳正確并點(diǎn)擊進(jìn)去再次點(diǎn)擊metricName所給的值名稱,選中Dimensions 即會看到圖表;
然后就可以根據(jù)這個(gè)自定義監(jiān)控來設(shè)置對應(yīng)報(bào)警規(guī)則了;
編寫統(tǒng)計(jì)牌桌腳本并把上報(bào)的CLI寫在腳本里面讓其自動執(zhí)行
給出示例腳本
配置定時(shí)任務(wù)自動上報(bào)數(shù)據(jù)到云監(jiān)控
每分鐘上報(bào)一次
*/1 * * * * root bash /devops/scripts/tns.sh
done