steam auth timeout
前沿拓展:
由于業(yè)務(wù)需要,我司的產(chǎn)品越來(lái)越多,api接口**相對(duì)比較薄弱,對(duì)此要搭建HTTP(s)的**系統(tǒng),之前一直使用第三方的**系統(tǒng),比如阿里云的云**。
基本流程
1.了解需求。
2.通過(guò)各種途徑了解有沒(méi)有相關(guān)的免費(fèi)解決方案
3.本地搭建實(shí)施,評(píng)估上線。
4.上線部署 使用。
本文記錄希望找到開源**系統(tǒng)走的彎路,apimonitor和apitestplatform都有這樣或者那樣的問(wèn)題。最終找到對(duì)應(yīng)的開源**uptime-kuma,并且有意外驚喜,如果有其他的需求也可以按照此流程進(jìn)行。
業(yè)務(wù)需求
1.開源、免費(fèi)
2.定時(shí)**生產(chǎn)環(huán)境的接口鏈接,如果出現(xiàn)訪問(wèn)非200的、超時(shí),則報(bào)警。
3.告**式: 郵件、短信、釘釘群通知、電話等
4.支持本地Linux服務(wù)器部署
5.類似阿里云的“云**”–站點(diǎn)**,如圖。第三方參考解決方案https://www.jiankongbao.com/
測(cè)試系統(tǒng)
服務(wù)器系統(tǒng): Centos7
IP地址: 192.168.1.5
服務(wù)器已安裝: nginx和docker
開源產(chǎn)品
在網(wǎng)上搜索、問(wèn)同事和相關(guān)從業(yè)經(jīng)驗(yàn)的人,是否有相關(guān)的**產(chǎn)品。
一、系統(tǒng)**產(chǎn)品apimonitor(項(xiàng)目已關(guān)閉)
apimonitor有api探測(cè)、api**、http請(qǐng)求模擬、系統(tǒng)接口**等功能,可以模擬http頁(yè)面**作過(guò)程,并根據(jù)請(qǐng)求耗時(shí)和響應(yīng)結(jié)果**系統(tǒng)接口可用性和正確性。
開源地址: https://gitee.com/ecar_team/apimonitor
查看功能部分符合,但是需要二次開發(fā),可以在此開源項(xiàng)目上開發(fā)
1.新增告警功能,通過(guò)郵件、短信、釘釘群通知等。
2.新增訪問(wèn)時(shí)長(zhǎng)記錄。
二、apitestplatform(親測(cè)有bug)
一個(gè)web界面的接口自動(dòng)化測(cè)試平臺(tái)
git地址:https://github.com/342164796/apitestplatform
安裝步驟cd /data
git clone https://github.com/342164796/apitestplatform
cd apitestplatform/
首次部署需要在settings.py文件里修改mysql的地址和賬戶名密碼為自己的數(shù)據(jù)庫(kù)地址
vi apitestplatform/settings.py
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': "*.*.*.*",
'NAME': "apitestplatform",
'USER': "user",
'PASSWORD': "password",
'PORT': "3306",
# 'CHARSET': 'utf8',
# 'COLLATION': 'utf8_general_ci',
}
2.初始化數(shù)據(jù)庫(kù),執(zhí)行如下命令:
python3.6 manage.py makemigrations
python3.6 manage.py migrate
python3.6 manage.py runserver
安裝的踩坑記錄1.SyntaxError: invalid syntax# python manage.py runserver
File "manage.py", line 14
) from exc
^
SyntaxError: invalid syntax
python 版本太低,系統(tǒng)自帶為2.7
升級(jí)安裝 python3.6
# python -V
Python 2.7.5
# python3.6 -V
Python 3.6.82.Couldn't import Djang
沒(méi)有安裝django
# python3.6 manage.py runserver
Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
安裝 Django
虛擬環(huán)境里用python3安django和uwsgi
(如果用于生產(chǎn)的話,則需要指定安裝和你項(xiàng)目相同的版本)
pip3.6 install django
pip3.6 install uwsgi3.沒(méi)有安裝pymysql再次報(bào)錯(cuò):
# python3.6 manage.py runserver
ModuleNotFoundError: No module named 'pymysql'
解決:
# pip3.6 install pymysql
再次報(bào)錯(cuò):
# python3.6 manage.py runserver
ModuleNotFoundError: No module named 'django_crontab'4.沒(méi)有安裝django-crontab報(bào)錯(cuò)
django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on '*.*.*.*' ([Errno -2] Name or service not known)")
解決:
# pip3.6 install django-crontab
啟動(dòng)成功
# python3.6 manage.py runserver
You have 29 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, base, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
March 02, 2022 – 10:31:01
Django version 3.2.12, using settings 'apitestplatform.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.啟動(dòng)成功# python3.6 manage.py runserver
Django version 3.2.12, using settings 'apitestplatform.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.nginx反向**
server {
listen 80;
server_name apitest.test.me;
#root /data/wwwroot/web/apitest.test.me/;
access_log /data/wwwroot/log/apitest.test.me-access.log main_aliyun;
error_log off;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
綁定hosts訪問(wèn)
192.168.1.5 apitest.test.me
添加項(xiàng)目報(bào)錯(cuò):
由于不太清楚報(bào)錯(cuò)的原因。放棄此開源項(xiàng)目。
三、開源**uptime-kuma
繼續(xù)百度搜索查找,在知乎的頁(yè)面中找到一個(gè)@無(wú)為無(wú)謂 的回答,頁(yè)面https://www.zhihu.com/question/23755976
他推薦了一個(gè)開源產(chǎn)品,uptime-kuma。
uptime-kuma地址:https://github.com/louislam/uptime-kuma
反向**教程: https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy
演示網(wǎng)站:
https://demo.uptime.kuma.pet:27000/ 創(chuàng)建管理員賬號(hào),有10分鐘的體驗(yàn)時(shí)間。
查看演示基本能滿足需要,在本地搭建測(cè)試,功能都符合我的要求,居然還有驚喜,首先界面很精美,再次除了有基本的HTTP(S)的**的,還有TCP端口**、PING**、HTTP(s)關(guān)鍵字**、DNS**、Push**、Steam Game Server**,功能相當(dāng)多,重點(diǎn)是都是免費(fèi)的,只要有服務(wù)器,或者局域網(wǎng)的虛擬機(jī)(可訪問(wèn)外網(wǎng))就可以**你的各種服務(wù)。
docker部署uptime-kuma
本次使用docker安裝如果,需要非docker參考開源文檔。
# mkdir -p /data/docker/uptime-kuma/data
# docker run -d –restart=always -p 3001:3001 -v /data/docker/uptime-kuma/data:/app/data –name uptime-kuma louislam/uptime-kuma:1
# netstat -tunpl|grep 3001
tcp6 0 0 :::3001 :::* LISTEN 29542/docker-proxy-
訪問(wèn):
http://192.168.1.5:3001 訪問(wèn),創(chuàng)建管理員賬號(hào)。
nginx**訪問(wèn)server {
listen 80;
server_name uptime.test.me;
location / {
proxy_pass http://localhost:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}
綁定hosts訪問(wèn)
192.168.1.5 uptime.test.me基本設(shè)置
設(shè)置里面功能還比較齊全,有外觀設(shè)置,消息通知重點(diǎn)是消息通知有,郵件、釘釘、短信、飛書等等的第三方通知,相當(dāng)齊全。
外觀設(shè)置
通知設(shè)置
創(chuàng)建**項(xiàng)
HTTPS**圖
端口TCP檢測(cè)
關(guān)閉nginx,80端口:
systemctl stop nginx
報(bào)錯(cuò):
重置密碼
Docker環(huán)境
docker exec -it <container name> npm run reset-password
非Docker環(huán)境
# cd 項(xiàng)目目錄
# npm run reset-password
https://github.com/louislam/uptime-kuma/wiki/Reset-Password-via-CLI
配置消息通知
Uptime Kuma提供多種的消息推送,詳情請(qǐng)參考:https://github.com/louislam/uptime-kuma/issues/284
我這里需要Bark手機(jī)APP、配置郵件、釘釘群通知的演示,還有阿里云短信也是比較方便快捷的提醒。
配置Bark
Brak是蘋果系統(tǒng)的一款推送軟件。ios手機(jī)安裝app,APP內(nèi)可以獲取推送地址: https://api.day.app/{密鑰}/這里改成你自己的推送內(nèi)容
https://api.day.app/{密鑰}/這里改成你自己的推送內(nèi)容
后面不能有中文,有測(cè)試測(cè)試會(huì)報(bào)錯(cuò)
點(diǎn)擊“測(cè)試一下”收到消息
模擬測(cè)試
恢復(fù)測(cè)試:
釘釘群通知
了解更多:https://developers.dingtalk.com/document/robots/custom-robot-access
釘釘群獲取WebHookUrl:假設(shè)為https://oapi.dingtalk.com/robot/send?access_token=abc123456
WebHookUrl:填寫完整的地址、SecretKey則填寫abc123456的值,我開始填寫了錯(cuò)了,測(cè)試很久沒(méi)有通過(guò)。
配置郵箱
如圖配置,主機(jī)名、端口號(hào)、密碼不是163的登錄密碼,需要在163郵箱后臺(tái)開通開啟IMAP/**TP服務(wù)。獲取授權(quán)密碼。
測(cè)試發(fā)送郵件:
禁用身份驗(yàn)證
這是可選的,如果不禁用游客訪問(wèn)需要用戶名和密碼,但是你關(guān)掉后,就可以自由訪問(wèn)了。(后臺(tái)后上角的設(shè)置,然后拉到最下面即可看到!)
設(shè)置Status Page
這個(gè)功能還是很重要的,可以把新建的**服務(wù)放置到這個(gè)**頁(yè)面,這樣就可以隨時(shí)隨地的看到每個(gè)系統(tǒng)的狀態(tài)了。
點(diǎn)擊右上角的Status Page,開始編輯,具體看圖:
首頁(yè)默認(rèn)就會(huì)是這樣的狀態(tài)頁(yè)。
拓展知識(shí):
原創(chuàng)文章,作者:九賢互聯(lián)網(wǎng)實(shí)用分享網(wǎng)編輯,如若轉(zhuǎn)載,請(qǐng)注明出處:http://www.uuuxu.com/20221203517267.html