전체 글 402

[Zabbix 5.0] 자빅스 텔레그램 그룹방 연동 (zabbix telegram bot group)

자빅스 텔레그램 그룹방 연동 (zabbix telegram bot group) 자빅스 텔레그램 연동을 하되 봇을 그룹방으로 연동 시키는 방법 입니다. 그룹방을 함으로써 아래와 같은 상황에서 이점을 얻을 수 있습니다. 모니터링 알람을 받아야 할 사람이 여러명일 경우 용도에 따라 그룹방을 나눈 후, 알람을 수신받아야 할 담당자들이 각각 따로 있을 경우 봇 개인 메세지와 연동하는 방법과 큰 차이가 없어서 이전에 포스팅한 내용(https://nirsa.tistory.com/269?category=868727)과 많이 겹치지만, 가독성을 위해 처음부터 다루겠습니다. 테스트 환경은 CentOS 7.7, Python 3.8.1 버전으로 진행 했습니다. (파이썬 2버전은 중간에 에러가 발생 합니다) 또한 그룹방으로 연..

Monitoring/Zabbix 2020.07.22

[Python 3.8] 파이썬 pip3 ssl error (WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pip3/)

파이썬 pip3 ssl error 파이썬 pip3 실행할 때 생기는 SSL error는 openssl과 openssl-devel 설치가 되지 않아 발생하는 에러 입니다. 파이썬을 설치하기 전에 openssl, openssl-devel 패키지가 설치되어 있어야 에러가 발생하지 않기 때문에 python3 설치가 된 상태에서 openssl, openssl-devel 설치만 하면 적용이 되지 않아 에러를 해결할 수 없습니다. 때문에 소켓 관련된 설정을 수정 후 재컴파일을 해주어야 합니다. openssl, openssl-devel 패키지 설치 각자 환경에 맞게 openssl, openssl-devel 패키지를 설치 해주세요. yum -y install openssl openssl-devel Setup 파일 수정 ..

Programming/Python 2020.07.16

[CentOS 7] 리눅스 Python 3 설치 후 yum 에러 (SyntaxError: invalid syntax)

리눅스 Python 3 설치 후 yum 에러 (SyntaxError: invalid syntax) python2 버전과 python3 버전의 문법 차이가 있어서 python3 설치 후 yum 에러가 발생할 수 있습니다. 에러 해결 방법은 크게 2가지가 있습니다. 심볼릭 링크 복원 yum 파일 수정 심볼릭 링크는 다시 python2 버전으로 링크 걸어주는 것 인데 python3으로 링크 걸때와 방법에 큰 차이가 없으니 패스하고 2번을 기준으로 작성 할텐데, 방법은 굉장히 간단 합니다. 아래 두개의 파일에서 #! /usr/bin/python 을 #! /usr/bin/python2.7 로 변경만 시켜주어 python2 버전으로 yum이 실행되도록 해주면 끝납니다. /usr/bin/yum /usr/libexec..

[Zabbix 5.0] 자빅스 텔레그램 연동 (zabbix telegram)

자빅스 텔레그램 연동 (zabbix telegram) 자빅스에서 텔레그램을 연동하는 방법 입니다. 기존에 자빅스가 설치 되어 있어야 하고 자빅스의 버전에는 크게 영향을 받지 않아 보이네요. 테스트 환경은 CentOS 7.7, Python 3.8.1 버전으로 진행 했습니다. (파이썬 2버전은 중간에 에러가 발생 합니다) Zabbix 5.0 설치 : https://nirsa.tistory.com/252?category=868727 Zabbix 4.4 설치 : https://nirsa.tistory.com/152?category=868727 Centos 7.7 파이썬 3.8 설치 : https://nirsa.tistory.com/112?category=861479 1) 초기 셋팅 yum -y install e..

Monitoring/Zabbix 2020.07.15

[CentOS 7] 리눅스 AWK 개념 (awk 필드와 레코드에 대해, linux awk)

리눅스 AWK 개념 (awk 필드와 레코드에 대해, linux awk) awk는 텍스트 파일을 처리하는 라인 지향 프로그램 입니다. 아래 이미지와 같이 필드와 레코드로 구분하여 데이터를 처리하게 되는데, 구분자를 사용하여 표와 같은 모양이 됩니다. 레코드 구분자 : 엔터(개행) 필드 구분자 : 탭, 스페이스 첫번째 필드는 $1, 두번째 필드는 $2와 같이 표현되며 $0은 전체 필드를 가르킵니다. 아래와 같은 리스트가 있을 경우 -rw-r--r-- 은 $1 그 다음의 1로 표시된것(Link Count)은 $2가 됩니다. 띄어쓰기로 필드를 구분하여 표로 그려보면 아래와 같은 이미지처럼 됩니다. 필드의 구분자는 탭 또는 스페이스라고 했으므로 touch "spa ce"를 입력하여 파일명에 띄어쓰기를 주고나서 a..

[Bash Shell Script] 쉘 스크립트 파일 내용 변수에 담은 후 개행 처리 하는 방법

쉘 스크립트 파일 내용 변수에 담은 후 개행 처리 하는 방법 쉘 스크립트를 파일 내용 변수에 담은 후 개행 처리하는 방법 입니다. 보통 파일을 변수에 담을 때 아래와 같은 방법으로 하는데, 이럴 경우 개행 처리가 되지 않습니다. #!/bin/bash var=`cat /root/test` echo $var 이러한 내용을 개행 처리 하는 방법은 크게 3가지 정도가 있습니다. 1) echo를 따옴표로 묶어서 출력 하나의 파일을 출력할 때 사용 합니다. echo로 변수를 출력할 때 따옴표를 없이하면 개행 처리가 안되고, 따옴표 안에 변수를 넣어주어야 개행 처리가 됩니다. 따옴표의 역할과 차이점은 추후 포스팅 하겠습니다. #!/bin/bash var=`cat /root/test` echo "$var" 2) 배열로..

[IBM Cloud] 간단히 보는 클라우드 네이티브(Cloud Native)란?

간단히 보는 클라우드 네이티브(Cloud Native) 란? RedHat과 CNCF(Cloud Native Computing Foundation)는 클라우드 네이티브에 대해 아래와 같이 정의 했습니다. "클라우드 네이티브" 애플리케이션은 프라이빗, 퍼블릭 및 하이브리드 클라우드 환경 전체에 지속적인 개발과 자동화된 관리 환경을 제공하기 위해 특별히 설계된 애플리케이션을 뜻합니다. - RedHat 클라우드 네이티브 기술을 사용하는 조직은 현대적인 퍼블릭, 프라이빗, 그리고 하이브리드 클라우드와 같이 동적인 환경에서 확장성 있는 애플리케이션을 만들고 운영할 수 있다. 컨테이너, 서비스 메시, 마이크로서비스, 불변의 인프라스트럭처, 그리고 선언적 API가 전형적인 접근 방식에 해당한다. 이 기술은 회복성이 있..

Cloud/IBM Cloud 2020.07.13

[IBM Cloud] IBM 클라우드 계정 유형과 설명 (IBM Cloud Account types)

IBM 클라우드 계정 유형과 설명 (IBM Cloud Account types) 각 계정들의 유형과 설명을 보기전에 IBM Cloud docs 페이지를 보면 아래와 같이 보기 좋게 표로 작성되어 있습니다. Lite는 무료 계정, Pay-As-You-Go는 학습/구축용, Subscription은 기업용에 적합하다고 되어 있네요. Lite account Lite 계정은 이름처럼 가볍게 IBM Cloud를 사용해볼 수 있는 계정이고 설명은 아래와 같이 되어 있습니다. 보통 다른 클라우드 플랫폼의 경우 무료 크레딧을 할당하고 특정 기간동안은 무료 크레딧만큼의 클라우드를 사용하는 방식으로 되어 있어 무료 크레딧을 모두 사용하거나 기간이 지나면 계정이 만료되는 형태로 되어 있는데, IBM Cloud는 크레딧 개념과..

Cloud/IBM Cloud 2020.07.10

[Bash Shell Script] 쉘 스크립트 2진수 계산 구현 예제 (if문을 이용한 비트 OR 연산자 구현)

쉘 스크립트 2진수 계산 구현 예제 (if문을 이용한 비트 OR 연산자 구현) 쉘 스크립트에서 if문을 이용해 비트 OR 연산자를 구현해볼 수 있습니다. 비트 OR 연산자는 비트1, 2중 하나라도 1이 있을 경우 결과가 1이 되고 비트 1, 2 둘 다 0일 경우 결과가 0이 됩니다. 비트1 비트2 결과 0 1 1 1 1 1 1 0 1 0 0 0 아래와 같이 비트1, 2를 모두 더한 값에서 2가 되는 값만 1로 변경해주면 쉘 스크립트에서 if문을 이용하여 간단히 비트 OR 연산자를 구현해볼 수 있습니다. 1+1=2 → 2진수에는 0과 1밖에 없으므로 2는 모두 1로 변경 0+1=1, 1+0=1 → 비트 OR 연산자의 결과와 같으므로 유지 0+0=0 → 비트 OR 연산자의 결과와 같으므로 유지 #!/bin/..