본문

웹페이지에서 서버상태 확인하기
0 0 9,625

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


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


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


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>

해당 콘텐츠는 엠스토리아 작가에 의해 공개 또는 유료로 제공되는 콘텐츠로 무단 갭쳐 및 불법 공유시 법적 제재를 받을 수 있습니다.
해당 M스토리는 무료로 제공중입니다.
구독을 통해 더 많은 M스토리를 만나보세요.

관련자료

댓글 0
등록된 댓글이 없습니다.
알림 0