스토리아

2024.04.05 23:14

웹페이지에서 서버상태 확인하기

간단히 서버의 상태를 확인하기 위해 콘솔로 접속을 해서 확인하는 것이 귀찮을 때가 있습니다.


그럴 때 웹페이지에서 간단히 확인할 수 있는 코드들이 많이 있죠.


서버의 상태를 확인하는 몇 가지 예를 아래 내용 참고하세요.


980ea3c7178c7e5c1ea462f5290736acc5d707ba.png

<div class="row">
    <div class="col-md-12">
        <h3 class="h3 f-lg en">
            서버 상태
        </h3>
        <hr class="hr"/>
        <div class="mt-3 mb-4 p-2" style="background-color:#fafafa;">
            <div class="form-group row">
                <label class="col-sm-2 col-form-label" for="reg_mb_hp">시스템 정보</label>
                <div class="col-sm-10">
                    <?php system("uname -a"); ?>
                </div>
            </div>
            <div class="form-group row">
                <label class="col-sm-2 col-form-label" for="reg_mb_hp">CPU 사용량</label>
                <div class="col-sm-10">
                    <?php
                        $load = sys_getloadavg();
                        $load0 = $load[0]*100;
                        $load1 = $load[1]*100;
                        $load2 = $load[2]*100;
                        echo "1분 : ".$load0." %<br>";
                        echo "5분 : ".$load1." %<br>";
                        echo "15분 : ".$load2." %";
                    ?>
                </div>
            </div>
            <div class="form-group row">
                <label class="col-sm-2 col-form-label" for="reg_mb_hp">메모리 사용량</label>
                <div class="col-sm-10">
                    <?php
                        $free         = shell_exec('free');
                        $free         = (string) trim($free);
                        $free_arr     = explode("n", $free);
                        $mem          = explode(" ", $free_arr[1]);
                        $mem          = array_filter($mem);
                        $mem          = array_merge($mem);
                        $memory_usage = $mem[2] / $mem[1] * 100;


                        $report['total']         = $mem[1];
                        $report['used']          = $mem[2];
                        $report['usage_percent'] = $memory_usage;


                        echo "전체 : ".number_format($report['total'])." byte<br>";
                        echo "사용량 : ".number_format($report['used'])." byte<br>";
                        echo "사용량 : ".number_format($report['usage_percent'])." %";
                    ?>
                </div>
            </div>
            <div class="form-group row">
                <label class="col-sm-2 col-form-label" for="reg_mb_hp">디스크 사용량</label>
                <div class="col-sm-10">
                    <?php
                        $ds                    = disk_total_space("/");
                        $df                    = disk_free_space("/");
                        $disk['free']          = $df;
                        $disk['use']           = $ds - $df;
                        $disk['entire']        = $ds;
                        $disk['usage_percent'] = $df / $ds * 100;


                        echo "전체공간 : ".number_format($disk['entire'])." byte<br>";
                        echo "여유공간 : ".number_format($disk['free'])." byte<br>";
                        echo "이용중인 : ".number_format($disk['use'])." byte<br>";
                        echo "여유량 : ".number_format($disk['usage_percent'])." %";
                    ?>
                </div>
            </div>
            <div class="form-group row">
                <label class="col-sm-2 col-form-label" for="reg_mb_hp">폴더 사용량</label>
                <div class="col-sm-10">
                    <?php 
                        $du1 = exec("du -sh /var/log"); // 절대경로 또는 상대경로
                        $du2 = exec("du -sh /var/log/apache2"); // 절대경로 또는 상대경로
                        echo $du1."<br>";
                        echo $du2."<br>";
                    ?>
                </div>
            </div>
            <div class="form-group row">
                <label class="col-sm-2 col-form-label" for="reg_mb_hp">DB 사용량</label>
                <div class="col-sm-10">
                    <?php 
                        $db = sql_query(" SELECT table_schema as 'DBName', ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) as 'MB' 
                        FROM information_schema.tables GROUP BY table_schema ");
                        for($i=0;$row=sql_fetch_array($db);$i++){
                        echo $row['DBName']." : ".$row['MB']." MB<br>";
                        }                    
                    ?>
                </div>
            </div>
        </div>
    </div>
</div>
  • 공유링크 복사
    미니홈 쪽지 구독하기
    구독하고 알림받기
  • 이전글소리없는 세계에2024.04.07
  • 다음글캘리그라피 배우기 3일차2024.04.02
  • 댓글목록

    등록된 댓글이 없습니다.