이메일 알림을 통한 시스템 모니터링


11

현재 Ubuntu Server 16.04 LTS가 있으며 서버의 리소스 사용량에 대한 정보가 포함 된 전자 메일 알림을 받고 싶습니다. CPU, 메모리, 스왑 등 이름을 지정합니다.

로컬 모니터링에 Glances를 사용할 수 있지만 정보를 항상보고있는 콘솔에 있지는 않습니다. 정상 / 중요한 값을 초과하여 알림을받는 리소스를 알려주는 이메일 알림 만 있으면됩니다.

누구든지 내가 이것을 할 수있는 방법을 알고 있습니까?


netdata는 귀하의 요구 사항에 완벽합니다.
luv.preet

답변:


13

나는 당신에게 작은 도구 목록을 줄 것입니다-나는 익숙해지면 Nagios 를 개인적으로 추천 할 것입니다. 큰 사용자 기반, 우수한 플러그인 모음 등이 제공되지만 Icinga 에 대해서도 좋은 소식을 들었습니다 .

Nagios 또는 Icinga 를 설정 하면 기존의 모든 서비스를 포함 / 모니터링하는 완벽하게 작동하는 설정이 될 때까지 약간의 시간이 걸립니다. 시작은 그다지 쉽지는 않지만 일단 작동하면 상태가 변경되면보고 / 정의 된 것으로 정의 된 모든 정의 된 서비스에 알리는 멋진 설정입니다.

프로젝트 이름 및 링크

우선 빠른 개요 :

클라이언트 및 서버 설정

다른 흥미로운 소프트웨어

단일 호스트 설정

추가 정보

나지 오스 소개

위키피디아

Nagios Core로 알려진 Nagios / ˈnɑːɡiːoʊs /는 시스템, 네트워크 및 인프라를 모니터링하는 무료 오픈 소스 컴퓨터 소프트웨어 응용 프로그램입니다. Nagios는 서버, 스위치, 응용 프로그램 및 서비스에 대한 모니터링 및 경고 서비스를 제공합니다. 문제가 발생하면 사용자에게 경고하고 문제가 해결되면 다시 경고합니다.

이미지 예-여러보기 중 하나를 표시합니다.

여기에 이미지 설명을 입력하십시오

다음은 Nagios 설치 방법에 대한 AskUbuntu 게시물 입니다. Nagios Exchange 는 다양한 플러그인, 애드온, 설명서, 확장 기능 등을 제공합니다.

무닌 소개

위키피디아

Munin은 무료 오픈 소스 컴퓨터 시스템 모니터링, 네트워크 모니터링 및 인프라 모니터링 소프트웨어 응용 프로그램입니다. 서버, 스위치, 응용 프로그램, 서비스 등에 대한 모니터링 및 경고 서비스를 제공합니다. 문제가 발생할 경우 사용자에게 경고하고 문제가 해결되면 다시 경고합니다.

이미지 예

여기에 이미지 설명을 입력하십시오

이싱가 소개

위키피디아

Icinga는 오픈 소스 컴퓨터 시스템 및 네트워크 모니터링 응용 프로그램입니다. 원래 2009 년 Nagios 시스템 모니터링 응용 프로그램의 포크로 만들어졌습니다.

Icinga는 Nagios의 개발 과정에서 인식 된 단점을 극복하고 최신 웹 2.0 스타일 사용자 인터페이스, 추가 데이터베이스 커넥터 (MySQL, Oracle 및 PostgreSQL 용) 및 REST API와 같은 새로운 기능을 추가하려고합니다. 관리자는 Icinga 코어의 복잡한 수정없이 수많은 확장을 통합 할 수 있습니다.

여러보기 중 하나를 보여주는 이미지 예 :

여기에 이미지 설명을 입력하십시오

Spiceworks 소개

Wikipedia의 글을 참고하세요 :

Spiceworks는 텍사스 오스틴에 본사를 둔 정보 기술 (IT) 산업을위한 전문 네트워크입니다. 이 회사는 2006 년 1 월 Scott Abel, Jay Hallberg, Greg Kattawar 및 Francis Sullivan이 IT 관리 소프트웨어를 구축하기 위해 설립했습니다.

Spiceworks는 사용자가 서로 협업하고 조언을 구할 수 있고 IT 관련 서비스 및 제품을 구매하기 위해 시장에 참여할 수있는 온라인 커뮤니티입니다. 이 네트워크는 600 만 명 이상의 IT 전문가와 3,000 명의 기술 공급 업체에서 사용하는 것으로 추정됩니다.

monit 소개

위키피디아

Monit은 Unix 및 Linux를위한 무료 오픈 소스 프로세스 감독 도구입니다. Monit를 사용하면 시스템 상태를 명령 줄 또는 기본 HTTP (S) 웹 서버를 통해 직접 볼 수 있습니다. Monit은 Ruby on Rails와 Mongrel 웹 서버로 인기를 얻었습니다. 확장 가능한 Ruby on Rails 사이트를 지원하기 위해 실행해야하는 동일한 Mongrel 프로세스를 관리 할 수있는 도구가 필요했으며 Monit은 상당히 독특했습니다. Ruby on Rails 커뮤니티의 요구에 적합합니다. Twitter 및 scribd를 포함하여 많은 유명한 Rails 사이트에서 Monit을 사용했습니다.

선인장 소개

Wikipedia의 글을 참고하세요 :

Cacti는 공개 소스, 업계 표준 데이터 로깅 도구 RRDtool의 프론트 엔드 애플리케이션으로 설계된 공개 소스 웹 기반 네트워크 모니터링 및 그래프 도구입니다. Cacti는 사용자가 미리 결정된 간격으로 서비스를 폴링하고 결과 데이터를 그래프로 표시 할 수 있습니다. 일반적으로 CPU로드 및 네트워크 대역폭 사용률과 같은 메트릭의 시계열 데이터를 그래프로 표시하는 데 사용됩니다. 일반적으로 SNMP (Simple Network Management Protocol)를 통해 네트워크 스위치 또는 라우터 인터페이스를 폴링하여 네트워크 트래픽을 모니터링합니다.

프런트 엔드는 각각 고유 한 그래프 세트를 가진 여러 사용자를 처리 할 수 ​​있으므로 웹 호스팅 공급자 (특히 전용 서버, 가상 개인 서버 및 배열 공급자)가 고객에 대한 대역폭 통계를 표시하는 데 종종 사용됩니다. RRDtool을 수동으로 구성하지 않고도 특정 설정을 모니터링 할 수 있도록 데이터 수집 자체를 구성하는 데 사용할 수 있습니다. 쉘 스크립트와 실행 파일을 통해 모든 소스를 모니터링하도록 Cacti를 확장 할 수 있습니다.

Zabbix 소개

Wikpedia의 글을 참고 하세요 :

Zabbix는 Alexei Vladishev가 만든 네트워크 및 애플리케이션을위한 엔터프라이즈 오픈 소스 모니터링 소프트웨어입니다. 다양한 네트워크 서비스, 서버 및 기타 네트워크 하드웨어의 상태를 모니터링하고 추적하도록 설계되었습니다.

Zabbix는 MySQL, PostgreSQL, SQLite, Oracle 또는 IBM DB2를 사용하여 데이터를 저장합니다. 백엔드는 C로 작성되고 웹 프론트 엔드는 PHP로 작성됩니다. Zabbix는 여러 모니터링 옵션을 제공합니다


4

여러 가지 솔루션을 사용할 수 있습니다. 그들 중 하나는입니다 monit.

명령 행에서 다음 명령을 실행하십시오.

sudo apt-get install monit

다음 URL 중 하나를 통해 Monit을 설치하고 액세스 할 수 있습니다.

http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)

모니터 구성

Monit자동 서버 모니터링에 사용하기 전에 몇 가지 기본 구성을 수행해야합니다. 먼저 Monit다음 명령을 사용하여 기존 기본 구성을 백업하십시오 .

sudo mv /etc/monit/monitrc /etc/monit/monitrc.bak

다음 monitrc명령을 사용하여 새 파일을 만듭니다

sudo /etc/monit/monitrc 

다음 내용을 복사하십시오.

# How often in seconds should monit check your services.
set daemon 120

set logfile /var/log/monit.log
set idfile /var/lib/monit/id
set statefile /var/lib/monit/state

# Configure your SMTP out server. 
set mailserver smtp-server.columbus.rr.com port 25,localhost

set eventqueue
    basedir /var/lib/monit/events # set the base directory where events will be stored
    # optionally limit the queue size
    slots 100 

# Use one of the following 2 lines. The second line alerts on every little change and can be annoying.
set alert admin@domain.com but not on { instance, pid, ppid } #does not send alert on pid changes
#set alert admin@domain.com 

set httpd port 2812 and
    #Change username and password
    allow Username:Password
    # To enable SSL for WebUI uncomment the next 2 lines
    #ssl enable
    #pemfile /path/to/unified/certificate.pem
    # To restrict access to localhost only uncomment the following line
    #allow localhost

include /etc/monit/conf.d/*

#으로 시작하는 줄은 구성을 사용자 정의하는 데 도움이되는 주석입니다. 최소한 관리자 이메일, SMTP 서버 및 SMTP 포트가 올바르게 구성되어 있는지 확인하십시오. Monit WebUI 사용자 이름 및 비밀번호 변경도 고려해야합니다. SSL 인증서가있는 경우 HTTPS 액세스에도 사용할 수 있습니다.

Monit이 제대로 작동하도록하려면 다음 명령을 사용하십시오.

Monit구문 오류에 대한 구성 을 테스트하려면 다음을 수행하십시오 .

sudo monit -t

Monit를 시작하려면 :

sudo monit

Monit 상태를 확인하려면 :

sudo monit status

Monit를 사용한 시스템로드 모니터링

적절한 /etc/monit/monitrc파일 이있는 Monit 인스턴스가 작동해야 합니다. 다양한 서비스에 대한 Monit 구성이 /etc/monit/conf.d폴더 에서로드됩니다 . 로 서버로드를 모니터링하려면 다음 명령을 사용하여 구성 파일을 Monit작성하십시오 Monit.

sudo /etc/monit/conf.d/systemload

다음 내용을 복사하여 저장하고 종료하십시오.

# domain.com could be IP, hostname, or localhost
check System domain.com
    if loadavg (1min) > 4 then alert
    if loadavg (5min) > 2 then alert
    if memory usage > 75% then alert
    if swap usage > 25% then alert
    if cpu usage (user) > 80% then alert
    if cpu usage (system) > 30% then alert
    if cpu usage (wait) > 20% then alert

이 코드는 Monit위의 조건 중 하나가 충족 될 때 (예 : 평균로드가 >41 분 이상이거나 75% RAM가득 찼을 때) 이메일 알림 을 보내도록합니다 . 위의 규칙을 원하는대로 사용자 정의 할 수 있습니다. 다음은 경고를 Monit일으킨 조건에 대한 설명과 함께 전송 된 이메일 경고의 예 입니다.

Monit 테스트 및 새로 고침

변경 한 후에는 Monit구성 을 테스트해야 합니다.

sudo monit -t

다음과 같은 메시지가 나타납니다. Control File Syntax OK.

그런 Monit다음 다음 명령을 사용하여 이미 실행 중인지 확인하십시오 .

sudo /etc/init.d/monit status

Monit실행중인 경우 Monit다음 명령을 사용하여 구성을 다시로드 하십시오.

sudo /etc/init.d/monit reload

이제 Monit 구성 방법에 따라 웹 브라우저를 시작하고 다음 URL 중 하나를 방문하십시오 (올바른 포트 번호를 사용해야합니다).

http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)

시스템 상태,로드, CPU로드, 메모리로드 및 스왑로드가 표시되어야합니다.

Monit을 사용한 스토리지 모니터링

다음으로, Monit적절한 /etc/monit/monitrc파일 이있는 작업 인스턴스가 있어야 합니다. Monit다양한 서비스 구성이 /etc/monit/conf.d폴더 에서로드됩니다 . Monit, create a다음 명령을 사용하여 Monit` 구성 파일을 사용한 드라이브 공간 모니터링의 경우 :

sudo /etc/monit/conf.d/storagespace

다음 내용을 복사하여 저장하고 종료하십시오.

# add each drive you want to monitor below
check filesystem Ubuntu with path /dev/sda1
    if space usage > 90% then alert
check filesystem Home with path /dev/sda3
    if space usage > 90% then alert
check filesystem Media with path /dev/sdb1
    if space usage > 90% then alert

위의 코드는 2 개의 드라이브에서 3 개의 파티션에있는 하드 드라이브 공간을 모니터링합니다. 그들 중 하나가 90 % 이상 가득 차면 경고를 받게됩니다.

또한 특정 서비스를 모니터링 할 수 있습니다.

Monit으로 Apache 서버 모니터링

Apache 서버 모니터링 설정 MonitMonit’s사전 구성된 구성 템플리트를 사용합니다. 기존 템플릿 /etc/monit/monitrc.d/etc/monit/conf.d폴더로 복사 하기 만하면됩니다.

sudo cp /etc/monit/monitrc.d/apache2 /etc/monit/conf.d/

복사하는 대신 심볼릭 링크를 만들 수도 있습니다. 아파치 웹 서버 프로세스가 생성 apache2.pid됩니다. 위의 코드 모니터 apache2.pid파일이 존재하지 않으면 MonitApache를 다시 시작하려고합니다. 다시 시작하면 이메일 알림이 트리거됩니다. 재시작이 여러 번 실패하면 Monit은 Apache 서버 모니터링을 중지합니다.

...


2

또한 한 번 봐 가질 수 강치 당신은 또한, 당신은 또한뿐만 아니라 그들을 위해 자신의 통계 및 구성 알림을 추가 할 수 있습니다 CPU 사용량, 메모리 등의 경고를 사용자 설정할 수 있습니다. 또한 특정 간격으로 명령이 실행되도록 예약하고 타임 라인 디스플레이에서 해당 출력을 볼 수 있습니다. 자세한 내용은 여기를 참조 하십시오 .


1

위의 도구는 모두 전자 메일 생성에 탁월합니다. 하루 종일 앉아서 대시 보드를보고 싶지 않기 때문에 매일 모니터링 할 수있는 이메일을 선호합니다. 문제는 당신이 전자 우편으로 넘쳐지고 무언가 잘못되었을 때에 만 관심이 있다는 것입니다. 또한 어떤 이유로 전자 메일이 배달되지 않았으며 모든 것이 제대로 작동한다고 생각하는지 어떻게 알 수 있습니까?

오랜 시간 동안 검색 한 결과 보고서 전자 메일을 읽고 조치를 취해야 할 때 경고 할 수있는 2 개의 제품을 발견했습니다.

  1. PRTG 특정 단어가 포함 된 전자 메일을 검색하도록 메일 필터를 설정할 수 있습니다. 조금 복잡했습니다.
  2. wwww.smtpviewer.com이라는 온라인 도구는 실제로 작업을 수행하며 시간 초과 설정이있어 모니터링되는 장치의 전자 메일이 정해진 시간 동안 도착하지 않았을 때 경고합니다.

많은 메일 클라이언트에는 이미 메일을 필터링, 정렬, 태그 지정하는 기능이 있습니다. 따라서 실제로 외부 솔루션이 필요하지 않습니다. 예를 들어, 썬더 버드의 필터를 사용하여 몇 년 동안 이것을 해왔습니다. 메일 서버가 지원하는 경우, Sieve 스크립트 를 사용 하여 서버에서 직접 메일을 필터링, 정렬, 태그 등을 지정할 수 있습니다 .
Henning Kockerbeck

0

우리 학교에서 선생님은 우리에게 서버 모니터링, 응용 프로그램 및 네트워크까지 포함하는 모니터링 솔루션 인 Pandora FMS 교육을 제공했습니다!

나는 당시까지 Zabbix와 Nagios를 알고 있었지만 이전에는이 ​​솔루션에 대해 들어 본 적이 없었지만 이제는 추가 기능으로 인해 프로젝트를 기반으로하고 있습니다. 서버 모니터링 부분은 매우 성숙하여 제 생각에 성능 통계를 최대한 빨리 구성하고 얻는 것이 더 간단합니다. http://pandorafms.com/monitoring-solutions/server-monitoring/


-1 상용 패키지 ...
Fabby

0

그것이 바로 당신이 원하는 것을 정확하게하지는 않지만, 나는 logwatch매우 유용하지만 간단한 도구 라는 것을 알았습니다 .

/var/log디렉토리 에서 발생한 모든 이벤트 와 현재 디스크 공간과 같은 다른 중요한 시스템 정보를 매일 요약 합니다. 누락 된 것은 매우 간단하게 추가 할 수 있습니다 (예 : 특정 데몬이 여전히 실행 중인지 확인하는 스크립트를 추가했습니다).


0

내가 이해 한 바에 따르면 귀하의 필요는 매우 기본입니다. 특정 키워드에 대한 전자 메일 내용을 텍스트로 검색 한 다음 이러한 상황이 발생하면 알림을 받으려고합니다. 따라서 예를 들어 이메일에 실패라는 단어가 포함 된 경우에만 성공을 알리는 것이 아니라 알림을 받으려고합니다. 또한 John Grobbelaar가 언급 한대로 www.smtpviewer.com을 사용하여 알림을받습니다. 온라인 도구를 사용하면 이메일이 도착하지 않을 때 항상 알림을받을 수 있다는 장점이 있습니다. 내가 가지고있는 모든 메일 모니터 도구에서 가장 간단하고이 작업 만 수행합니다.


이것은 질문에 대답하지 않는 것 같습니다. 질문에 답변하려면이 문구를 바꾸거나이 답변을 삭제하거나 의견으로 이동하십시오. 감사합니다. Ask Ubuntu에 오신 것을 환영합니다!
zwork
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.