“Putty + mRemoteng 를 주로 사용하다 Xshell 을 사용하면서 동시에 Linux 서버를 모니터링할 수 있는 표준화된 스크립트가 있었으면 하는 요구사항으로 모니터링 스크립트를 작성했습니다. CentOS, Ubuntu 일부에서 사용할 수 있도록 작성했습니다. “
* 요구사항 *
1) 스크립트 실행 시 파라미터를 함께 입력하여 모니터링 정보의 전환속도, 정보의 Depth, 로그 기록 여부를 설정합니다.
2) 가능한 하나의 스크립트로 CentOS 버전과 상관없이 주요 정보를 모니터링 합니다.
3) Linux 기본 기본 제공되는 명령어를 최대한 활용한다.
4) 스크립트 상단에 Config 설정으로 서버환경에 따른 유연성 있는 스크립트를 작성합니다.
5) 모니터링 정보는 다음과 같습니다.
? 서버 일반 정보 : OS 버전, Uptime, OS 설치일자, Hosted or VM 구분, PID 1번
? 하드웨어 리소스 정보 : 디스크사용량, 레이드 구성정보, cpu정보, 메모리
? 네트워크 정보 : IP, DNS, 방화벽 활성화여부, 소켓상태(LISTEN, ESTABLISHED),
? 설치된 주요 서버 프로그램 및 프로세스(httpd, mysqld, samba, qmail, glusterfs, 등)
* 테스트환경 *
CentOS 7 VM, Lubuntu 15.10 VM
1. 모니터링 주요 명령어
1) 서버 일반정보 ? OS 버전, OS 설치일자, Uptime, PID 1번, Hosted or VM
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #### OS 버전 확인 명령어 [root@localhost ~]# find /etc/*-release | xargs cat | grep 'PRETTY_NAME' | awk -F = '{print $2}' | tr -d '"' CentOS Linux 7 (Core) #### OS 설치일자 확인방법 1 [root@localhost scripts]# ll --time-style full-iso /root/anaconda-ks.cfg | awk '{print $6}' 2015-09-20 #### OS 설치일자 확인방법 2 [root@localhost ~]# iDIR=("/root/install.log" "/root/anaconda-ks.cfg" "/var/log/installer/syslog") [root@localhost ~]# for no in ${!iDIR[@]}; do ll --time-style full-iso ${iDIR[$no]} | awk '{print $6}';done ls: cannot access /root/install.log: 그런 파일이나 디렉터리가 없습니다 2015-09-20 ls: cannot access /var/log/installer/syslog: 그런 파일이나 디렉터리가 없습니다 #### Uptime 확인 [root@localhost ~]# uptime #### PID 1번 [root@localhost ~]# ps -p 1 | tail -1 | awk '{print $4}' systemd #### 호스트인지 VM 인지 확인 [root@localhost ~]# lscpu | grep 'Hypervisor' | awk -F : '{print $2}' | tr -d " " KVM [root@localhost ~]# virt-what virtualbox kvm |
2) 하드웨어 리소스 정보 ? CPU 정보, 메모리, 디스크 파티션
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #### CPU 모델명 [root@localhost ~]# lscpu | grep 'Model name' | awk -F : '{print $2}' | tr -d " " Intel(R)Core(TM)i3CPU530@2.93GHz #### 메모리 정보 [root@localhost ~]# cat /proc/meminfo | grep 'MemTotal\|MemFree' MemTotal: 501080 kB MemFree: 343668 kB [root@localhost ~]# free -m total used free shared buff/cache available Mem: 489 44 335 4 109 363 Swap: 1023 0 1023 #### 디스크 파티션 정보 [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 15G 1.1G 14G 8% / devtmpfs 236M 0 236M 0% /dev tmpfs 245M 0 245M 0% /dev/shm tmpfs 245M 4.4M 241M 2% /run tmpfs 245M 0 245M 0% /sys/fs/cgroup /dev/sda1 497M 160M 337M 33% /boot |
3) 네트워크정보 ? IP주소, DNS, 방화벽 ,
1 2 3 4 5 6 7 8 9 10 11 12 13 |

댓글목록
등록된 댓글이 없습니다.