Linux 154

[ZABBIX] 설치 및 실행

ZABBIX 2022.10.12 - [ZABBIX] 구조 / 동작 방식에 이어서 ZABBIX를 설치해보도록 한다. OS는 Ubuntu 20.04 LTS arm이고, ZABBIX 5.0 LTS를 설치할 것이다. DATABASE는 MySQL, Web Server는 Apache를 사용한다. 설치 방법 및 구성 선택 설치 URL : https://www.zabbix.com/download 설치 URL에 접속해 설치 방법을 선택한다. 이 글에서는 패키지로 설치할 것이기 때문에 Zabbix Packages를 선택했다. 그리고 설치할 ZABBIX 버전과 OS 버전, 설치할 요소, 사용할 데이터베이스와 웹 서버를 선택한다. 이 글에서는 아래와 같이 설정했다. 설치 1. Zabbix 레포지터리 설치 wget https:..

Linux 2022.10.13

[ZABBIX] 구조 / 동작 방식

ZABBIX 네트워크 서비스, 서버 등의 네트워크 하드웨어를 감시하고 추적하여 관리자에게 장애가 발생했음을 신속히 알리기 위한 네트워크 관리 시스템. 오픈 소스이다. 데이터베이스로 MySQL, PostgreSQL, SQLite, 오라클 데이터베이스나 IBM DB2를 선택하여 사용할 수 있다. 백엔드는 C로 만들어져 있으며, 프런트엔드는 PHP가 사용된다. ZABBIX 에이전트 소프트웨어를 설치하지 않으면 SNMP, TCP, ICMP, IPMI, SSH, telnet 등을 이용한 감시 방법을 지원한다. OS ZABBIX 에이전트 소프트웨어를 설치하면 CPU 사용량, 네트워크 사용량, 디스크 용량 등을 포함한 더 많은 정보에 대한 감시 방법을 지원한다. 구조 Server : 모니터링을 수행하는 Zabbix ..

Linux 2022.10.12

[Vim] 변경 내역 확인

개요 Vim 편집기에서 편집한 내용을 실행 취소(undo)할 때는 :u를 입력하면 된다. 그리고 실행 취소한 내용을 다시 실행(redo)할 때는 CTRL + R을 입력하면 된다. 그렇다면 변경 내역 자체는 어떻게 확인할 수 있을까? :changes Vim은 변경 사항이 발생한 위치(열 번호, 줄 번호)를 변경 목록에 기록하고, 각 버퍼에는 실행 취소할 수 있는 최근 100개의 변경을 기억한다. 한 줄에 수정이 여러 번 이루어졌다면 나중에 변경된 위치만 기록된다. 변경 목록은 :changes를 입력하여 확인할 수 있다. 예시 예로 들어 위의 내용을 가진 파일이 있다고 하자. # test file import os import re from flask import request @app.route('/met..

Linux 2022.10.02

[Linux] ~<username> - 사용자 홈 디렉터리

~ 쉘 스크립트를 보다 아래와 같은 구문을 보았다. BASE_DIR=~ # 예시 BASE_DIR=~ubuntu 특정 디렉터리 정보를 담은 변수를 선언한 것 같긴 한데, 정확히 어느 경로인지 확인해보려고 한다. 확인 쉘에서 변수를 직접 선언한 뒤, echo 명령으로 확인해봤다. BASE_DIR=~ubuntu echo $BASE_DIR ubuntu 계정의 홈 디렉터리였다. 사용자 이름 앞에 ~ 기호를 붙이면 해당 사용자의 홈 디렉터리를 의미한다. ~root인 경우 root 사용자의 홈 디렉터리를 의미한다.

Linux 2022.09.30

[Shell Script] #! - Shebang

#! shebang, sharpbang, shabang, hashbang 등으로 칭해지는 문자로, 스크립트 파일의 첫 줄에 사용하여 스크립트가 어떤 명령으로 실행될지를 지정한다. 명령어의 경로는 절대 경로 또는 현재 디렉터리로부터의 상대 경로로 지정할 수 있다. 변수는 사용할 수 없고, 사용할 수 있는 옵션은 하나로 제한된다. 예시 #! /bin/bash # bash 스크립트 실행을 위한 shebang line ... #! /bin/sed -f # sed 스크립트 실행을 위한 shebang line ... #! /usr/bin/awk -f # awk 스크립트 실행을 위한 shebang line ... #! /usr/bin/perl # perl 스크립트 실행을 위한 shebang line ... #! /u..

Linux/Shell Script 2022.09.24

[HTTPie] http 요청 도구

HTTPie 명령줄 HTTP 클라이언트. '에이치티티파이'라고 읽는다고 소개한다. CLI와 웹 서비스 간의 인간친화적인 상호작용을 목표로 하는 프로젝트로, API와 HTTP 서버의 테스트, 디버깅, 전반적인 상호작용을 위해 설계되었다. https도 지원하는 것으로 보인다. 설치 apt install httpie 공식 문서에서 여러 환경에서의 설치 방법을 확인할 수 있다. 요청 http 메소드, URI을 지정하여 요청을 보낸다. 메소드는 생략 가능하다. http [flags] [METHOD] URL [ITEM [ITEM]] -v : 요청과 응답 둘 다 확인. # 예시 http -v GET http://localhost:5000 요청 URI에 매개변수 추가 ==를 사용하여 요청 URI에 매개변수를 추가할 수..

Linux 2022.09.21

[read] 사용자 입력 / 파일 입력

read 파일 디스크립터에서 값을 읽는 명령어다. 사용자로부터 값을 입력받아 변수에 저장하거나, 파일의 내용을 입력받을 때 사용한다. 사용자 입력 read 명령어로 사용자의 키보드 입력을 변수에 저장하여 사용한다. #! /bin/bash echo "name: " read NAME echo "Your name is" $NAME 파일 입력 파일 디스크립터를 이용하여 파일의 한 행을 변수에 저장한다. #! /bin/bash # 내용을 읽을 파일 FILE=user.sh # 파일 디스크립터로 입력 읽기 read line < $FILE echo $line 파일 내용 전체를 읽을 때는 while 문을 사용할 수 있다. #! /bin/bash FILE=user.sh while read line do echo $line..

Linux/Shell Script 2022.09.19

[journalctl] service 로그 확인

journalctl Linux 서비스 매니저인 systemd는 로그 데이터를 journal이라는 바이너리 형식으로 저장한다. journalctl은 journal에서 로그를 검색하고 조회할 수 있는 systemd 유틸리티 중 하나이다. 보통 systemctl status와 함께 사용한다. 표시한 부분이 바로 로그 데이터에 해당한다. journalctl로 동일한 내용을 확인할 수 있다. 사용법 옵션 없이 실행하면 systemd의 로그를 확인할 수 있다. journalctl 최근 n개 메시지 확인 journalctl -n # 예시 journalctl -n# 최근 10게 journalctl -n 20# 최근 20개 message catalog로부터의 상세 설명 추가 확인 journalctl -x 최신 에러 메시..

Linux 2022.09.12

[awk] 개념

awk 파일 또는 input 데이터로부터 레코드를 선택하고, 선택된 레코드에 포함된 값을 조작하거나 데이터화하는 프로그램이다. AWK를 이용하면 다음과 같은 작업을 할 수 있다. 텍스트 파일 전체 내용 출력 파일의 특정 필드 출력 특정 필드에 문자열을 추가하여 출력 패턴이 포함된 레코드 출력 특정 필드의 연산 수행 결과 출력 필드 값을 비교한 결과에 따른 레코드 출력 awk 기능을 개발한 사람들의 이니셜(Alfred V. Aho, Peter J. Weinberger, Brian W. Kernighan)을 조합하여 명명되었다. 동작 방식 awk는 awk programming language로 작성된 프로그램을 실행하는데, 입력 데이터로부터 주어진 패턴을 포함하는 라인(레코드)을 탐색한 후, 라인을 발견하면..

Linux 2022.09.10

[linux] n초 주기로 스크립트/명령어 실행

개요 일정한 주기마다 스크립트나 명령어를 실행하는 대표적인 방법은 크론탭을 사용하는 것이다. 다만 크론탭의 최소 주기는 1분이라 초 단위로 명령어나 스크립트를 실행해야 할 때에는 사용할 수 없다. 이 글에서는 초 단위로 스크립트나 명령어를 실행하는 방법을 간단히 정리해둔다. watch 프로그램을 주기적으로 실행하여 결과를 전체 화면에 표시한다. watch [options] command # -n : --interval. 실행 주기 # -t : header 제외하여 출력 # 예시 watch -n 1 -t "date >> date.log" 예시 명령어의 경우 표준 출력을 리다이렉션 했기 때문에 출력이 보이지 않는다. 하지만 tail -f로 출력 파일을 확인하면 정상적으로 실행되는 상태임을 확인할 수 있다. ..

Linux 2022.09.03
1 2 3 4 5 6 7 8 ··· 16