DevOps

DevOps/Linux_리눅스

[Linux] Logrotate (로그 분산 관리)

Logrotate Logrotate는 Linux에서 로그를 저장하며 관리할 때, 로그 파일이 하나의 파일로 크기가 커지며 저장되는것을 분산시켜줄 때 사용한다. 한 파일에 로그가 지속적으로 쌓이게 도면 로그 확인이 필요한 경우 파일이 너무 방대해 확인이 어려워지고 디스크 용량 또한 낭비된다. Logrotate 실행 순서 & 구조 Logrotate은 위와 같은 순서로 실행하며, 구성하는 파일들은 아래와 같은 구조를 가진다. /usr/sbin/logrotate : Logrotate 데몬 프로그램 /etc/logrotate.conf : Logrotate 데몬 설정 파일 /etc/logrotate.d/ : Logrotate 프로세스 설정 파일 /etc/cron.daily/logrotate : Logrotate 작..

DevOps/Linux_리눅스

[Linux] 로그관리 (/etc/syslog.conf)

/etc/syslog.conf 파일의 이해와 활용 /etc/syslog.conf 파일의 각 행의 형식(포맷) = 서비스 종류.우선순위;서비스 종류.우선순위 /로그파일 위치 ex. authpriv.* /var/log/secure 각 행의 의미 = 서비스 종류(데몬)에 대하여 우선순위의 상황이 발생하면 로그파일 위치의 파일에 그 내용을 기록한다. 규칙 서비스 종류는 facility, 우선순위는 priority, 로그파일위치는 logfile-location을 각각 의미한다. 서비스 종류와 우선순위는 .(점)으로 구분한다. “서비스종류.우선순위” 그리고 “서비스종류.우선순위” 사이에는 ;(세미콜론)으로 구분한다. 서비스종류에는 mail, cron, kern, uucp 등과 같은 해당 서비스의 종류를 의미한다. ..

DevOps/Linux_리눅스

[Linux] IPv6 비활성화 작업

오늘 전 서버의 IPv6 비활성화하는 작업을 진행하였는데, 진행이 더디었던 부분과 해결된 부분까지 작성해보겠다. 예시로 생성한 서버이다. 서버를 체크해보면 IPv6로 올라온 포트들이 나타난다. (IPv6 = tcp6) (보통 tcp6으로 올라오는 포트는 죽이고 다시 데몬올 올리면 tcp4로 올라온다.) 제일 간단한 방법은 IPv6 사용을 disable 하는 것이다. cat /proc/sys/net/ipv6/conf/all/disable_ipv6 0 해당 파일을 열어보면, 0은 사용중 1은 사용 안함으로 나타난다. (IPv6를 사용하지 않느냐 → 1(참) 으로 이해하면 된다.) tcp6를 disalbe하기 위해 시스템 환경변수를 수정한다. vi /etc/sysctl.conf net.ipv6.conf.all..

DevOps/Linux_리눅스

[Linux] netstat 네트워크 상태 확인

netstat 네트워크 연결상태, 라우팅 테이블, 인터페이스 상태등을 보여주는 명령어로, 네트워크 및 통계라는 단어에서 파생되었다. 사용법 netstat [옵션] 옵션 사용 예시 1. 모든 네트워크 연결 확인하기 2. netstat -a 3. 프로토콜 별로 출력하기 netstat -at # TCP 만 확인 netstat -au # UDP 만 확인 4. LISTEN 상태인 포트만 출력하기 접속중인 상태 : ESTABLISHED 대기중인 상태 : LISTEN netstat -nap | grep LISTEN

DevOps/Linux_리눅스

[Linux] chage 사용자 패스워드 만기 정보 관리

chage란? 사용자의 패스워드 만기 정보를 변경 및 설정하는 명령어이다. (root 권한을 가진 사용자만 사용 가능) 즉, 사용자 패스워드 정보 관리 명령어이며, 시스템에게 로그인한 사용자가 패스워드를 변경해야 하는지를 알려준다. 옵션 l (L) : 특정 계정의 정보 확인 d : 최근 패스워드 변경 날짜 확인 E : 계정 만료일을 설정 m : 패스워드 최소 의무 사용일 수를 지정 M : 패스워드 최종 변경일로부터 패스워드 변경 없이 사용할 수 있는 최대 일수 설정 I (i) : 패스워드 만료일까지 패스워드를 바꾸지 않으면 계정 만료(비활성화) 설정 옵션 W : 패스워드 만료 몇일 전부터 사용자에게 경고 메세지 발송 설정 패스워드 만료일 갱신 및 확인 1. 만료일 확인 chage -l 계정명 | grep..

DevOps/Linux_리눅스

[Linux] LVM 용량 추가 및 축소

학습 목적 동일한 VG를 사용하는 LVM 2개가 있다. LVM1, LVM2라고 설명하겠다. LVM1의 용량을 축소하고,축소한 만큼의 용량을 다른 LVM, 즉 VLM2에 이어 붙여 용량을 증설하는 실습을 진행하고자 한다. 대부분 LVM 실습에서 ext.4 파일시스템으로 진행하였으나, 이번 실습은 xfs 파일시스템으로 진행하였다. ext.4는 LVM 증설 및 축소에 문제없이 동작하지만, xfs는 lvm 축소를 지원하지 않으며, 그래도 축소를 진행하게 되면 lvm 내의 데이터들이 손상되게 된다. 그래도 "xfs lvm이라도 축소를 어쩔수없이 해야하는 상황이 오게된다면.."이라는 가정을 바탕으로 실습을 진행하였다. (실제로 해당 작업의 경험이 있다.) 축소가 불가하기에 기존 lvm 파일시스템을 image로 저장..

DevOps/Monitoring_모니터링

[ZABBIX] 자빅스 모니터링 시스템 구축하기

Zabbix 란? Zabbix는 엔터프라이즈에 대응한 모니터링 솔루션이며, 오픈 소스로 배포된다. 다수의 네트워크 매개 변수 및 서버의 상태와 무결성을 모니터링하는 소프트웨어이며, 유연한 알림 메커니즘을 갖추고 있어 메일 기반의 통지를 하도록 설정할 수 있다. 즉, 이러한 기능을 통해 서버의 장애에 신속하게 대응할 수 있다. 💡 Zabbix는 저장된 데이터를 바탕으로 보고서 및 그래프 표시 기능을 제공하며 폴링과 트래핑을 모두 지원함 장점 강력한 모니터링 기능과 그래프를 하나의 도구로 결합시킴 알림에 대해 구성을 고도화할 수 있음 기본적으로 30초마다 지표를 수집하며, 인터벌 조정도 가능 빠른 웹 인터페이스 시스템에 대한 사용자 권한 설정으로 특정 사용자를 특정 뷰에 한정 수집된 데이터를 유연하지 못한 ..

DevOps/Monitoring_모니터링

[Scouter] Scouter 설치 및 Agent 연동 (Linux)

Scouter는 LG CNS에서 개발 및 배포한 무료 APN이다. 이 툴을 통해 WAS의 성능 모니터링이 가능하다. (heap memory, session 수, SQL 조회 등) 크게 세 가지의 프로그램 설치가 필요하다. Agent : WAS가 설치된 서버에 설치하며, 실시간 서비스 성능 정보, Heap Memory, Thread 등 Java 성능을 조사하여 정보를 획득함 Server (Collector): WAS가 설치된 서버에 설치하며, Agent가 전송한 데이터 수집/처리 Client (Viewer): 수집된 성능 정보를 확인하기 위한 Client 프로그램 다운로드 및 설치 Scouter 파일 다운로드(https://github.com/scouter-project/scouter/releases)) ..

DevOps

[Nginx] Failed to start The nginx HTTP and reverse proxy server (Nginx 실행 오류)

문제발생 nginx를 설치한 뒤, 실행 중 오류가 발생하였다. 원인 기본 port인 80을 이미 사용중인 PID가 존재하여 발생하였다. 해당 서버는 promethus 및 여러 docker container들이 동작하던 서버라 apache2 등 기존 사용하던 포트가 존재하였다. 해결방법 80 port를 소유한 pid를 찾고, kill 명령어로 해당 pid를 정지시킨다. 혹은 /etc/nginx/nginx.conf 파일에서 nginx port를 변경한다. # pid search netstat -tulpn # pid stop kill -9 [pid] 사용 예시 [root@woos-server ~] # netstat -tulpn Active Internet connections (only servers) Pro..

DevOps

[Redmine] 프로젝트 관리 툴 Redmin 설치 및 실행

레드마인(Redamine)은 오픈소스 프로그램으로 웹 기반의 프로젝트 관리와 버그 추적 기능을 제공하는 도구이다. 주요 기능으로는, 달력과 칸트 차트 일정관리 기능 화면기반의 기능을 제공하여 프로젝트 관리에 도움을 줄 수 있다. redmine의 디자인은 Trac에 영향을 많이 받았으며 ruby에 기반하여 작성되었고 멀티 플랫폼을 지원하며 여러가지 종류의 데이터베이스 및 34개의 언어를 지원한다. Ubuntu 20.04 LTS , install database(mariaDB) 설치 # database를 설치한다. apt-get update apt-get install mariadb-server -y mysql -u root -p # db 버전에 따라서 utf8로 진행하여도 된다. MariaDB > crea..

DevOps/Network_네트워크

[NetWork] Alteon L4 로드밸런싱

SLB 설정 순서 VLAN 생성과 Real IP 설정 Real server group 설정 후, real server ip 추가 가상 IP 주소(VIP, 실제 외부에 알려지는 IP)아 서비스 타입 지정 서버와 클라이언트 포트 Enable SLB 활성화 적용/저장 SLB 설정 Real Server 구성 # Real Server 구성 main $ cfg configuration $ slb [slb 메뉴로 들어감] layer4 $ real 1 [real server 1번 지정] real server 1$ rip 192.168.1.3 [real server의 ip를 설정할때는 rip address이다] real server 1$ en real server 1$ .. [마침표 두번으로 상위 메뉴로 이동] # Re..

DevOps/Network_네트워크

[NetWork] Alteon L4 기본 설정

L4 기본 설정 순서 L4 IP 설정 게이트웨이 설정 admpwd 설정 및 telnet 접속 활성화 1. interface 설정 가장 먼저 cfg/ip/interface 1 에서 외부에서 L4에 접근할 수 있도록 L4 IP를 설정해준다. main$ cfg [configuration 메뉴로 들어가는 명령어] configration$ ip [ip관련 설정을 위한 메뉴로 들어가는 명령어] ip$ if 1 [interface 설정 - 256개의 interface 설정 가능] IP interface$ addr 10.10.1.4 [스위치의 interface 주소] IP interface$ mask 255.255.255.0 [주소에 대한 mask] IP interface$ broad 10.10.1.255 [주소에 대..