전체 글 썸네일형 리스트형 MariaDB - Replication 복구 (Error 1062 해결 및 Slave 상태 점검) MariaDB 복제(Replication) 환경에서 종종 발생하는 오류 중 하나가 Error 1062: Duplicate entry입니다.복제 과정에서 기본 키 중복 문제로 인해 발생하며 복제가 중단되는 상황이 발생할 수 있습니다.1. Error 1062: Duplicate Entry주로 Primary Key 값이 중복되어 발생하는 문제입니다. 복제 환경에서는 주로 mysql.gtid_slave_pos 테이블에서 중복된 키로 인해 에러가 발생하는데, 이로 인해 Slave SQL 스레드가 멈추고 동기화가 중단됩니다. 로그를 보면 다음과 같은 에러 메시지를 확인할 수 있습니다:Error during XID COMMIT: failed to update GTID state in mysql.gtid_slave_p.. 더보기 DevOps - Zabbix 로그 파일 모니터링 | "Accessible only as active check" 에러 해결 가이드 Zabbix로 로그 파일 모니터링을 설정할 때, "Accessible only as active check"라는 에러 메시지를 만나는 경우가 있습니다.이 에러는 로그 파일 모니터링 항목이 Active 모드에서만 동작할 수 있다는 것을 의미하는데요, 이 문제를 해결하는 방법에 대해 알아보겠습니다.로그 파일 모니터링은 왜 Active 모드에서만 동작할까?로그 파일은 시스템에서 실시간으로 변경되며, 그 내용이 빠르게 쌓일 수 있습니다.Passive 모드에서는 Zabbix 서버가 주기적으로 에이전트에게 데이터를 요청하는 방식인데, 로그 파일처럼 빈번하게 변동되는 데이터를 이런 방식으로 관리하면 비효율적일 수 있습니다.그래서 Active 모드에서는 Zabbix 에이전트가 로그 파일의 변동을 감지하고, 그 데이터를.. 더보기 DevOps - Zabbix Agent 모드 비교와 호스트 자동 등록 설정 Zabbix Agent는 모니터링 대상 시스템에서 데이터를 수집해 Zabbix 서버로 전송하는 역할을 합니다.이때 Agent와 Zabbix 서버 간의 통신 방식에는 Active Mode와 Passive Mode가 있고, 상황에 따라 모드를 선택하시면 됩니다.Zabbix Agent의 통신 방식: Active Mode와 Passive Mode모드Passive (Default)Active통신 흐름서버 → 에이전트 → 서버에이전트 → 서버설명Zabbix 서버가 에이전트에 접속해 데이터를 요청에이전트가 주기적으로 데이터를 서버로 전송장점서버에서 통신 제어 가능, 실시간 데이터 요청 가능서버 부하 감소, NAT/방화벽 환경에서 설정 간편단점대규모 환경에서 서버 부하가 커질 수 있음 방화벽 설정 복잡함실시간 데이터 .. 더보기 Linux - 일반계정으로 1024이하 포트 사용방법 (setcap / getcap) 리눅스에서 1024 이하의 포트는 일반적으로 root 권한이 있어야만 사용할 수 있습니다.하지만 보안 이유로 인해 일반 사용자 계정으로 웹 서버(Apache 또는 Tomcat)를 실행해야 하는 경우가 많습니다.이때 capabilities 기능을 사용하여 일반 사용자도 root 권한 없이 1024 이하의 포트를 사용할 수 있습니다.Capabilities란?root 계정은 모든 권한을 갖고 있지만 일반 사용자 계정에게 root 권한을 부여하지 않으면서 특정 작업을 허용하려면 capabilities 기능을 사용할 수 있습니다. root 권한을 나누어 특정 작업(예: 포트 바인딩)을 수행할 수 있게 해 줍니다.특히 cap_net_bind_service라는 권한을 사용하면 일반 사용자도 1024 이하의 포트(“p.. 더보기 DevOps - Zabbix UserParameter 설정 | API 연동 및 금액 모니터링 자동화 UserParameter는 Zabbix 에이전트에서 사용자 정의 스크립트를 실행하여 그 결과를 Zabbix 서버에 전송하는 방법입니다.curl과 jq를 사용하여 API로부터 JSON 데이터를 가져와 Zabbix 트리거로 사용할 수 있도록 하는 예제를 설명합니다.[OS/Linux] - Linux - 리눅스 jq 명령어 사용법 | JSON 데이터 필터링 및 파싱 방법 설정 과정1. Zabbix UserParameter 설정Zabbix 에이전트 설정 파일(/etc/zabbix/zabbix_agentd.d/userparameter.conf)에 사용자 정의 파라미터를 추가합니다. 이 파라미터는 Zabbix 서버가 해당 키로 요청을 보냈을 때 실행할 스크립트를 지정합니다.UserParameter=check_bizm.. 더보기 Linux - 리눅스 jq 명령어 사용법 | JSON 데이터 필터링 및 파싱 방법 1. jq란 무엇인가?jq는 JSON 데이터를 처리하고 파싱 할 수 있도록 도와주는 유틸리티입니다. 마치 sed나 awk처럼 사용되며, JSON 포맷의 데이터를 필터링하고 변환하는 데 특화되어 있습니다. 복잡한 JSON 데이터 구조에서 특정 값만 추출하거나 데이터를 재구성하는 데 매우 유용합니다.2. jq 설치하기 # aptsudo apt-get updatesudo apt-get install jq# apt(select version)sudo apt-get install jq=1.5*# yumsudo yum install jq# yum(select version)sudo yum install jq-1.5# dnfsudo dnf install jq# source codegit clone cd jqautor.. 더보기 Linux - /proc/[PID]/status 파일 정보 리눅스에서는 각 프로세스에 대한 정보를 /proc 디렉토리를 통해 확인할 수 있습니다. 이 디렉토리는 시스템이 동작하는 동안 생성되며, 각 프로세스에 대한 상태 정보를 제공하는 가상 파일 시스템입니다. /proc 아래에는 각 프로세스 ID(PID)를 이름으로 하는 디렉토리가 있으며, 그 아래 status라는 파일을 통해 해당 프로세스의 상세 정보를 확인할 수 있습니다./proc/[PID]/status 파일 개요status 파일은 프로세스의 상태를 설명하는 정보가 있고 성능 모니터링, 문제 해결, 시스템 최적화를 위해 사용합니다.주요 정보 필드Name프로세스 이름 (예: sshd)Umask파일 생성 마스크 (권한 설정 시 기본 마스크 값)State프로세스의 현재 상태 (R: 실행 중, S: 대기 중, D:.. 더보기 Linux - Date 명령어로 타임스탬프 변환하기 리눅스(Linux)에서 date 명령어는 시스템의 날짜와 시간을 출력하거나 설정하는 데 사용됩니다. 날짜와 시간을 다루는 다양한 형식을 지원하며, 이를 통해 타임스탬프를 읽기 쉽거나 특정 형식으로 변환할 수 있습니다. 또한, 타임스탬프 값을 받아 사람이 이해할 수 있는 날짜로 변환하는 기능도 제공합니다.1. date 명령어 기본 사용법리눅스의 date 명령어는 기본적으로 현재 시스템의 날짜와 시간을 출력합니다.# date2024. 10. 02. (수) 09:17:42 KST기본 출력 형식은 시스템의 로케일 설정에 따라 다를 수 있지만, 일반적으로 "년-월-일 시:분:초" 형식으로 나타납니다.특정 형식으로 날짜와 시간을 출력하고 싶다면 + 옵션을 사용하여 원하는 포맷을 지정할 수 있습니다.# date +".. 더보기 이전 1 ··· 4 5 6 7 8 9 10 ··· 18 다음