모든 명령을 웹 브라우저에서 실행해 봅니다.
개요
잠자리면서 서버의 정보를 보고 싶은 것이 있었으므로, 커멘드를 실행한 결과가 WEB 브라우저로부터 볼 수 있도록 해 보았습니다. 기술적으로는 Nginx에서 요청시 쉘 스크립트가 작동하고 HTML로 그릴 수 있습니다. Docker 컨테이너 위에서 움직이기 때문에 이식도 시작도 간단합니다. 아무렇지도 않지만 좋아하는 명령을 추가하거나 CSS로 정돈하는 것은 기호로 · ·
요건은 이런 느낌입니다.
사용법
git clone https://github.com/shun-sa/ps-webapp.git
cd ps-webapp
docker-compose up -d
사용자 정의 예
명령을 추가하고 싶습니다.
top.sh에 보고 싶은 명령을 cecho <コマンド>
로 작성해 가면 OK입니다. ps의 경우는 cecho ps
네요.
top.sh#!/bin/sh
eval $QUERY_STRING
echo 'Content-type: text/html'
echo ''
echo '<html>'
echo '<head></head>'
echo '<h1>Server Overview</h1>'
cecho(){
echo "<h2>${@}</h2>"
echo "<pre>"
eval $@
echo "</pre>"
}
# ここに足していく
cecho sensors
cecho top -b -n 1 -c | head -n 30
echo '<body>'
GPU 사용률을보고 싶습니다.
컨테이너 내에서 nvidia-smi 명령을 실행할 수 있다면 docker-compose.yml,top.sh에 다음을 추가하면 볼 수 있습니다.
docker-compose.yml environment:
- NVIDIA_DRIVER_CAPABILITIES=all
- NVIDIA_VISIBLE_DEVICES=all
runtime: nvidia
top.shcecho nvidia-smi
GET 메소드의 인수를 사용하고 싶습니다.
GET 메소드에 지정된 값을 스크립트에서 사용할 수 있습니다. URL에 testkey를 지정하고 top.sh로 보면 제대로 표시됩니다. 그리고는 커멘드를 건네주거나 PID를 건네주어 프로세스를 떨어뜨리는 등은 기호로・・・
http://<서버 IP>:8081/top.sh?testkey=val
top.shecho $testkey
⚠️주의
모든 명령을 실행할 수 있는 특성상 호스트 머신 호스트 머신을 재시작하거나 최악의 경우 범죄 발판에 활용될 수 있습니다. 인터넷에서 볼 수 있는 장소에 두는 등은 그만두자.
Reference
이 문제에 관하여(모든 명령을 웹 브라우저에서 실행해 봅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sammrai/items/5f189bccd25b04ada4fc
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#!/bin/sh
eval $QUERY_STRING
echo 'Content-type: text/html'
echo ''
echo '<html>'
echo '<head></head>'
echo '<h1>Server Overview</h1>'
cecho(){
echo "<h2>${@}</h2>"
echo "<pre>"
eval $@
echo "</pre>"
}
# ここに足していく
cecho sensors
cecho top -b -n 1 -c | head -n 30
echo '<body>'
environment:
- NVIDIA_DRIVER_CAPABILITIES=all
- NVIDIA_VISIBLE_DEVICES=all
runtime: nvidia
cecho nvidia-smi
echo $testkey
모든 명령을 실행할 수 있는 특성상 호스트 머신 호스트 머신을 재시작하거나 최악의 경우 범죄 발판에 활용될 수 있습니다. 인터넷에서 볼 수 있는 장소에 두는 등은 그만두자.
Reference
이 문제에 관하여(모든 명령을 웹 브라우저에서 실행해 봅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sammrai/items/5f189bccd25b04ada4fc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)