서버를 모니터링하기 위해 어떤 도구를 사용합니까?


187

보다 포괄적 인 모니터링 도구 및 기능 목록은 이 Wikipedia 페이지를 참조하십시오 .

질문에서 알 수 있듯이이 작업에 가장 일반적으로 사용되는 도구는 무엇이며 장단점은 무엇입니까?


서버가 어떤 플랫폼에서 실행되고 있습니까?
Glenn Slaven

1
내 서버는 데비안 레니 (Debian Lenny)를 실행하고 있지만, 많은 툴이 어떤 형태의 크로스 플랫폼 지원을 가지고 있기 때문에 유닉스 모니터링에만 중점을 두는 것은 아닙니다.
Aron Rotteveel

어쩌면 그들은 다른 도구를 사용하지만 전반적인 시스템 관점에서 다른 시스템에서 동일한 작업을 반복해서 반복하게됩니다. 원하는 마지막 데이터를 압축하는 것은 약간의 스크립팅입니다. 나는이 상황에서 "도구"를 기록 예 (모니터링 서버)가 아닌 데이터를 밖으로 뱉어 실제 플러그인 / 스크립트라고 생각 하는데요
serverhorror

또한 응용 프로그램 (성능, 가용성 등)을 모니터링하고 싶습니다. 모니터링 도구는 한 쪽 끝에서 하드웨어를 모니터링하고 다른 쪽 끝에서 응용 프로그램을 모니터링 할 수있는 능력이있는 것처럼 보입니다. 하드웨어 <----- + -----> 응용 프로그램
Nathan Hartley

답변:


136

나는 과거에 Nagios 를 성공적으로 사용했습니다. 확장 성이 뛰어나고 (200 개가 넘는 애드온) 비교적 사용하기 쉬우 며 많은 보고서가 있습니다. 초기 설정은 부정적인 것입니다.


10
Nagios는 모든 유형의 호스트 (Windows, Linux, 라우터, 스위치 등)를 모니터링하는 데 효과적입니다. Fruity 또는 Lilacto와 같은 구성 도구를 사용하여 구성 문제를 완화하는 것이 좋습니다. 실행중인 프로세스, 디스크 사용량 등을 모니터링하기 위해 창 상자에 NSClient ++ 및 Linux에 nagios-statd
TonyB

불행히도 Nagios는 Windows 상자에 에이전트가 필요합니다. 과거에는 에이전트가 임의로 죽어가는 것으로 악명 높았습니다.
PowerApp101

모니터링을 위해 Nagios와 Zabbix를 모두 살펴 보았습니다. Zabbix는 간단한 배포 및 기능의 용이성으로 인해 짧은 평가 후 승리했습니다 (예 : Zabbix는 그래프를 핵심 기능으로 포함하고 Nagios에는 플러그인이 필요함). Nagios를 구성하는 것이 고통 스럽습니다.

GroundWork OpenSource에는 Nagios를 핵심으로 사용하는 네트워크 모니터링 어플라이언스가 있으며 설정 / 관리를 간소화합니다
Rog

12
icinga라는 새로운 nagios 포크가 있습니다. 아직 어디에도 없지만 그들의 목표는 유망 해 보입니다. icinga.org
cstamas

70

CactiRRDTool의 웹 기반 프론트 엔드로 매우 편리한 그래프와 통계를 제공합니다. RRDTool 은 여러 시스템에서 데이터를 수집하고 광범위한 기술 데이터를 모니터링하는 부분입니다.

우리는 cacti / RRDTool 솔루션을 사용하여 Unix 및 Windows 시스템을 모니터링하고 있습니다. 우리는로드, CPU / RAM 사용량, HD 공간, 로그인 한 사용자, 네트워크 트래픽, 프로세스 실행 등 유용한 메트릭을 많이 얻습니다.

선인장 이란 무엇인가 에 선인장에 대한 자세한 정보를 찾을 수 있습니다 . 페이지.


Cacti는 멋지게 보이고 재미있는 가격으로 제공되는 재미있는 솔루션입니다 (무료). 그러나 네트워크 장치 설정은 PITA이며 문서화가 잘되어 있지 않습니다. 지금은 더 나을 수도 있지만 연구를 마칠 때까지 나는 그것을하지 않을 것입니다.
Chris Porter

57

개인적으로, 나는 매우 간단한 아키텍처를 가지고 있기 때문에 설치 및 플러그인 작성이 매우 쉬운 Munin 을 좋아 합니다. 상상할 수있는 모든 목적을 위해 이미 많은 플러그인이 있으므로, 처음부터 플러그인을 작성하지 않아도됩니다.

또한 아름다운 그래프와 (매우 기본적인) 경고를 구성하는 옵션을 제공합니다.


2
나는 Munin의 큰 팬이기도합니다. Nagios와의 통합을 지원하고 (둘 다 실행할 수 있음) 모든 일반적인 유닉스 맛을 지원합니다. Windows 노드 모니터링에 대한 지원은 없다고 생각합니다. 그러나 Perl로 작성되었으므로 사소하지는 않지만 확실히 가능 해야 합니다 .
John Dalton

2
@남자. Windows 노드는 기본 munin 노드 인 munin-node-win32 또는 호스트와 마찬가지로 SNMP를 통해 지원됩니다.
Steve Schnepp

34

Zabbix . 오픈 소스이며 설정 및 사용자 정의가 상당히 간단합니다. zabbix 서버에 공급되는 많은 사용자 정의 모니터링 스크립트가 있지만 데이터를 중앙 집중화하고 적절하게 표시하고 알림 (이메일, IM, SMS, 트위터 등)을 처리합니다.


2
우리는 또한 Zabbix를 사용하고 있으며 매우 강력하고 구성 가능한 것으로 나타났습니다. 우리는 Zabbix와 Nagios를 모두 테스트하고 결국 Zabbix를 선택했습니다 .Nagios는 평판이 좋지만 설치하기가 약간 어려우며 핵심 응용 프로그램 내에서 제공되는 것이 아니라 플러그인에서 많은 기능이 제공되기 때문입니다 (그래프는 이것의 좋은 예는 Zabbix로 무료로 얻는 것입니다).

3
Zabbix는 인프라를 그래프로 표시하고 매핑 할 수있는 유연성 (가용성 측면)과 유연한 모니터링 방법으로 인해 Zabbix를 선호합니다.
Andrioid

29

저는 회사에서 Spiceworks 를 출시 했으며 서버 모니터링뿐만 아니라 네트워크의 다른 모든 도구를위한 훌륭한 도구라는 것을 알게되었습니다.

문제가있을 때 이메일을 보내기 위해 자동 인벤토리 및 사용자 정의 모니터링과 같은 작업을 수행합니다 (예 : 프린터가 잉크의 10 % 이하이거나이 서버의 하드 드라이브의 비율이 20 %입니다).

단점은 아마도 컴퓨터 당 정보의 밀도 일 것입니다. 컴퓨터 당 많은 데이터가 있다고 잘못하지는 않지만 많은 통계를 원할 수있는 서버와 같은 경우 다른 도구를 사용해야 할 수도 있습니다.

편집 : 오, 나는 그것의 비즈니스 모델이 영원히 무료라는 것을 기반으로 언급했다.


Spiceworks는 많은 훌륭한 작업을 수행하며 무료입니다.

3
SpiceWorks는 ServerFault와 겹치는 매우 큰 커뮤니티를 가지고 있습니다. 지역 사회 간의 상호 작용을보고 흥미로울 것입니다. SpiceWorks도 사용합니다. 멋진 도구입니다.
Scott Alan Miller

이제 귀하의 권장 사항에 따라 이것을 사용하고 있습니다. 훌륭한 도구입니다.
Marko Carter

우리는 직장에서 사용합니다. 꽤 인상적입니다. 소프트웨어는 말할 것도없이 하드웨어 자체만으로도 가치가 있습니다.
Terry

마지막으로 Spiceworks (버전 3)를 사용했을 때 모니터, 비디오 카드 등과 같은 하드웨어 구성 요소를 추가하거나 수정할 수있는 방법이 없었습니다. 따라서 나는 여전히 싫어하는 GLPI + OCSNG를 사용하고 있습니다.
Boden 2016 년

18

Smokeing 은 다양한 서버 및 서비스의 가용성을 확인할뿐만 아니라 대기 시간을 추적하면서 사용하기 쉽고보기 좋으며 그래프를 빠르게 표시 합니다.

광범위한 대기 시간 측정 플러그인을 즉시 사용할 수 있습니다. Perl을 알고 있다면, 이국적인 요구에 따라 자신 만의 것을 쉽게 만들 수 있습니다.

대규모 설치의 경우 분산 측정을 위해 마스터 / 슬레이브 시스템의 이점이 있습니다.

고도로 구성 가능한 경보 시스템은 사용자에게 영향을 미치기 시작하거나 중대한 정전으로 발전하기 전에 문제를 발견하는 데 도움이됩니다.

Smokeing은 MRTG 및 RRDtool의 제작자 인 Tobi Oetiker가 Perl로 작성한 무료 오픈 소스 소프트웨어입니다.


흡연은 귀하의 네트워크가 어떤지보기에 좋습니다
Rory

스모킹은 대기 시간을 시각화하는 데 놀랍습니다.
James

15

OpenNMS 는 수천 대가 넘는 Linux 컴퓨터를 모니터링하는 데 사용됩니다. 각 컴퓨터의 하드웨어와 컴퓨터에서 실행되는 응용 프로그램을 모니터링합니다.


OpenNMS의 경우 +1로, 수천 대의 컴퓨터와 인터페이스를 모니터링하기 위해 직장에서도 사용합니다. 다양한 운영 체제가 있으며 OpenNMS를 사용하여 모든 운영 체제를 모니터링 할 수 있습니다.
Steve K

나의 첫번째 선택은 아니지만 매우 유용하다

새 하드웨어에 MIB를 추가하는 방법은 무엇입니까?
slovon

OpenNMS에는 이미 기본 구성에 많은 snmp 통계가 있으므로 자동 검색하고 즉시 그래프를 시작할 수 있습니다. 새로운 SNMP 통계는 추가하기가 매우 쉽습니다. RRD, OID 및 데이터 유형의 이름을 지정하고 통계가 적용되는 장치 유형에 대한 그룹에 넣습니다.
mtinberg

15

Zenoss Core 는 일부 사용 중이며 서버, 네트워크 스위치 및 UPS의 경량 모니터링에 약 1 년 동안 사용하고 있습니다.

Zenoss Core는 수상 경력에 빛나는 오픈 소스 IT 모니터링 제품으로 단일 통합 소프트웨어 패키지를 통해 네트워크, 서버 및 응용 프로그램의 구성, 상태 및 성능을 효과적으로 관리합니다.


무료 버전의 Zenoss Core를 사용하는 경우 많은 SNMP MIB 조정을 준비하십시오. 또한 일부 서버에서 운영 체제 데이터 수집을 꾸준히 거부했으며 웹 페이지의 내용 확인과 같은 간단한 작업을 설정하기가 놀랍게도 어렵다는 것을 알았습니다.
gareth_bowles

MIB 문제에 동조 할 수 있지만 Zenoss의 Nagios 플러그인으로 웹 페이지 검사를 수행 할 수 있습니다.
gimel

12

Nagios는 무료이며 많은 플러그인이 있기 때문에 훌륭합니다. 그러나 UI와 구성은 매우 어렵습니다.

무료로 제공되지는 않지만 플러그인이 적지 만 설정 및 구성이 훌륭하고 쉽다는 Microsoft SCOM (System Center Operations Manager)도 훌륭한 장점입니다.

내가 주로 Microsoft 회사에 있거나 매우 높은 의존성 요구 사항 (예 : 모니터링을 감당할 여유가 없음)이 있거나 개발자가이를 사용하게하는 것에 대해 생각해야한다면 SCOM이 Nagios에 대한 나의 추천이 될 것입니다.


12

나는 사용했다 :

  • Nagios- 예전은 아니지만 튼튼하고 기능적인 구식 명령 줄 설정이 필요합니다. 다음으로 대체되었습니다.
  • Zenoss- 설치하는 데 훨씬 적은 노력이 필요하며 상용 변형이 있습니다. 일단 실행되면 나머지는 브라우저를 통해 제어됩니다. 매우 강력하지만 무료 버전을 사용하는 경우 약간의 MIB 작업이 필요합니다.
  • Intermapper- 상용 프로그램으로 모니터링 할 노드가 많은 경우 비용이 많이 듭니다 . 더 나은지 나쁜지 Java로 작성된 것으로 나타납니다.
  • Spiceworks- 최신 버전을 시도하지 않았습니다. 이전 버전에서는 반응을하기 위해 후드 아래에 약간 더 많은 움푹 파인 것이 필요했지만 그렇지 않으면 훌륭하게 작동합니다. 무료 버전은 잔소리 광고와 함께 제공됩니다.

우리는 Intermapper를 광범위하게 사용합니다.
sysadmin1138

InterMapper도 사용합니다. 콘솔 클라이언트는 Java로 작성되었습니다. 서버는 Python으로 작성되었습니다. Postgres는 데이터 집계 및보고를위한 백엔드 데이터베이스로 사용됩니다.
lsiu

11

우리 는 몇 주부터 AlertFox를 사용 하며 매우 기쁩니다. 가동 시간과 성능을 확인할뿐만 아니라 쇼핑 스크립트, 사용자 로그인 및 웹 사이트의 기타 중요한 부분을 트랜잭션 스크립트 (iMacros 기반)를 통해 모니터링합니다.

내부 모니터링 (디스크 공간 등)에는 Nagios 를 사용 합니다.


10

PRTG 네트워크 모니터-그것에 대해 충분히 좋은 말을 할 수 없습니다. 멋진 웹 프론트 엔드이며 SNMP를 통해 라우터 (대역폭 등) 및 기타 장치를 모니터링하고 SLA 등의 가동 시간을 측정하는 데 특히 좋습니다.

www.paessler.com


9

Windows 사용자 인 MOM. SCOM (Systems Center Operations Manager)으로 업그레이드하려고하지만 Windows 2008 배포를 시작하기 전까지는 필요하지 않습니다.


MOM도 사용합니다. 나는 그것을 사랑하고 동시에 싫어합니다.
spoulson 2009

SCOM은 Windows 기반 엔터프라이즈 환경을위한 훌륭한 모니터링 플랫폼입니다. 여기에서 가장 중요한 것은 Microsoft 제품 그룹 자체에서 릴리스 한 관리 팩입니다 (이는 모든 제품이 RTM 후 90 일 이내에 SCOM MP를 갖는 MS 공통 엔지니어링 기준의 일부입니다). 제품 팀 자체로부터 조언과 지식을 얻으면 운영 부서가 모든 사소한 일에 대해 상급 관리자를 괴롭히지 않고 일을 건강하게 유지하는 능력을 크게 향상시킬 수 있습니다.
Kevin Colby

8

운영 모니터링 업그레이드 프로젝트에 참여하고 있습니다. 우리는 몇 가지 큰 달러 시스템을 제시하기 위해 다양한 벤더가 현장에 와서 비교할 수있는 저렴한 대안을 혼합했습니다.

그 중 하나는 Hyperic 이며 무료 오픈 소스 솔루션으로도 제공됩니다. 나는 맞춤형 에이전트를 위해 제공되는 기능과 확장성에 깊은 인상을 받았습니다.


리소스가 쉽지는 않지만 반드시 훌륭한 모니터링 도구입니다!
Vincent De Baere

8

통계 (메모리 사용,로드, mysql 활동, 아파치 활동 등)를 모니터링하기 위해 Munin을 사용 합니다. 기본적으로 이미 많은 것을 추적하고 서로 다른 시간 간격 (지난 24 시간, 지난 7 일, 지난 달, 작년)에 대한 그래프를 표시합니다. 플러그인을 통해 더 많은 것을 모니터링 할 수 있습니다. 출력은 예쁜 그래프가있는 HTML 페이지입니다.

Munin에는 마스터 / 노드 아키텍처가 있습니다. 노드는 서버에서 통계를 수집하고 마스터는 데이터를 저장하고 HTML 및 그래프를 생성합니다.

Monit 을 사용 하여 실행중인 프로세스를 추적하고 특정 구성 가능한 조건 (높은 CPU로드, 높은 메모리 사용량, HTTP 응답 없음 등)이 발생할 때 다시 시작하거나 경고합니다. Monit은 또한 CPU와 같은 서버에 대한보다 일반적인 사항을 모니터링 할 수 있습니다 로드, 메모리 사용량, 하드 디스크 상태 또는 디스크 사용량.

모니터링하려는 모든 서비스 또는 하드웨어와 문제가 발생했을 때 대응하는 방법에 대해 Monit을 구성해야합니다. 가장 많이 사용되는 옵션은 아무 것도하지 않고 경고 이메일을 보내거나 서비스를 다시 시작하는 것입니다.

Monit은 작동 할 때 훌륭하지만 때로는 서비스를 시작, 중지 또는 다시 시작하지 못하며 잘못된 정보를 알려주는 진단 정보가 많지 않습니다. 즉, 문제가 서비스 또는 Monit 구성과 관련이 있는지 알 수 없으며 이는 cron과 같은 최소 환경에서 실행됩니다.

두 도구는 대부분의 Linux 배포에서 기본적으로 사용 가능합니다.


8

아무도 리눅스 서버에 대한 logwatch 또는 logcheck 를 언급하지 않은 것에 놀랐습니다. 로그를 읽는 데 많은 시간을 절약 할 수 있습니다 !!


이러한 도구는 실제로 인프라 추세에 대한 메트릭과 장기 가독성을 제공하지 않습니다. 그들은 좋은 추가이지만 나는 그들에게 의존하지 않을 것입니다. Afaik "logwatch"는 툴에 알려진 좋은 정보를 알려주는 다른 "logcheck"와 달리 사용자가 알려주는 오류에 대해서만보고하기 때문에 다소 악의적입니다.
serverhorror 2016 년


7

우리 프로젝트는 100 개 이상의 노드 클러스터에 Ganglia 를 사용 합니다. 우리가 그것을 사용하는 한 가지 이유는 그것이 Rocks 와 함께 제공되는 모니터링 도구이기 때문 입니다 .

각 노드에서 오버 헤드가 매우 낮아 계산에 사용할 수있는 리소스를 최대한 많이 확보하는 것이 중요합니다. Ganglia는 클러스터에 대한 좋은 개요를 제공하며 필요한 경우 개별 노드로 드릴 다운 할 수 있습니다. 지금 무슨 일이 일어나고 있는지 아는 것 외에도 지난 1 시간, 1 주일, 1 주일, 1 년, 1 년, 1 년 동안 무슨 일이 있었는지 잘 볼 수 있습니다. 다양한 통계 그래프는 기본적이고 기능적입니다.


6

그것은 모두 "모니터"의 의미에 달려 있습니다!

  • (시스템 또는 서비스)를 사용할 수 있습니까? 우리는 nagios를 사용 합니다.
  • 뭐하는거야? 우리는 리눅스 서버에 munin 을 사용 하고 때로는 구성 하기가 힘들지만 다른 모든 것에 cacti 를 사용합니다 ...
  • 무슨 짓을 한거야? syslog-ng를 사용하여 한 곳에서 syslog를 집중시킨 다음 매일 사용자 정의 된 logcheck 스크립트를 실행하여 전자 메일을 통해 보고서를 보냅니다. 우리는 Windows 서버와 비슷한 것을 찾고 있습니다.

5

Cacti 및 RRDTool 기반 솔루션과의 경쟁을 확인하기위한 새로운 참가자는 Graphite입니다 ( http://graphite.wikidot.com/ ).

RRDTool은 Whisper라는 백업 저장소로 대체되었습니다. 문서는 왜 그것이 다른지에 대한 꽤 좋은 개요를 제공하며 무언가를 조사 할 때 임시 그래프를 만드는 CLI를 정말로 좋아합니다.


4

우리는 비교적 작은 Windows 네트워크에 Ipswitch의 WhatsUp 을 사용 합니다. 설치가 쉽고 비교적 관리하기 쉬우 며 표준 서버뿐만 아니라 Windows 서버를 처리하는 방법을 알고 있습니다.

더 큰 규모의 네트워크, 비 Windows 지향 네트워크 또는 다양한 종류의 네트워크가있는 경우 OpenNMS를 적극 권장 합니다. OpenNMS 소프트웨어는 무료이며 회사는 지원 및 구현 서비스를 기꺼이 판매합니다. 그것은 또한 대학에서 내 날카로운 친구 에 의해 실행됩니다 !


4

Nagios 웹 인터페이스가 마음에 들지 않는 사람들을 위해 Cacti 내에서 Nagios UI를 사용할 수있게 해주는 CPC 플러그인 용 NPC 가 있습니다.

NDO2DB가 제공하는 데이터베이스에서 읽습니다 . 이는 스크립트 및 기타 도구에서 사용하기 위해 데이터베이스 내에서 인프라를 사용할 수있는 좋은 방법입니다.


4

현재 Paessler의 PRTG를 사용하고 있습니다 . 훌륭합니다. 에이전트가 필요하지 않고 뛰어난 Ajax 웹 인터페이스, 히스토리 로깅, 그래프 작성, WMI 등이 있습니다. 무료로 사용할 수있는 10 개의 센서 버전이 있지만 엔터프라이즈 버전에는 몇 가지 장점이 있습니다. 돈을 잘 보냈다.



4

급한 시간에 MS 서버를 모니터링하는 빠른 도구를 원한다면 Windows 용 성능 모니터를 사용하고 사용자 지정 모니터링 템플릿과 사용자 지정 일정으로 카운터 로그를 설정하십시오 (예 : 매시간 5 분 동안 데이터 수집). 그런 다음 Microsoft의 LogParser 및 Codeplex의 PAL (Performance Analysis of Logs) 도구 ( http://pal.codeplex.com/ )를 다운로드하여 카운터 로그를 처리하십시오. PAL은 가능한 문제 해결 문서 / 도구에 대한 링크가 포함 된 훌륭한 문서화 된 보고서를 생성합니다.


3

Solarwinds, VMware 서버 성능 탭 및 사용자 지정 스크립트의 조합을 사용합니다.

Solarwinds Orion 네트워크 성능 모니터는 Windows 시스템에서 사용하는 것입니다. 내 웹 서버의 관리자. 여전히 유용한 앱 메트릭스가 실행되고 있지만 기본 상자 수준 항목 (디스크, 네트워크, CPU)에 대한 좋은 정보가 있습니다.

VMware 게스트에게는 성능 탭이 마음에 듭니다.

Sun 서버의 경우, Solarwinds에서 사용할 수없는 항목이 필요할 때 (관리자가 추가하지 않았거나 무엇 때문에) 미러 상태, 스왑 사용량 등과 같은 항목을 모니터링하기 위해 사용자 지정 스크립트 (일반적으로 Perl)를 작성합니다.

Solarwinds에 대해 더 많이 알고 싶지만 하루에 26 시간 밖에 걸리지 않아 상사가 믿는다는 것은 약간의 제한이 될 수 있습니다.


3

Nagios 위에서 실행되는 OpsView를 사용 합니다. webUI를 사용하면 SSH 액세스를 허용하지 않고도 새로운 호스트 모니터 정의를 배포하고 공개 뷰를 제공하며 기록 값을 기록 할 수 있습니다. 이는 적절한 기준을 프로비저닝하고 결정하는 데 편리합니다.



2

유감스럽게도 많은 사용자 정의 스크립트를 사용했습니다. 이상과는 거리가 멀지 만 더 일반적인 솔루션이 있는지 의심합니다.


항상 사용자 정의 스크립트가 필요합니다!
Techboy

2

우리는 우리 자신의 모니터링 소프트웨어를 작성했습니다. 우리 코드는 상용 패키지만큼 정교하지는 않지만 많은 기능이 필요하지 않았습니다. 다른 패키지를 조사하고 사용 방법을 배우는 것보다 직접 작성하는 것이 더 쉬웠습니다. 코드는 우리가 원하는 것을 수행하고 확장하기 쉽습니다.


2
이와 같은 결정의 의미를 통해 생각하는 것이 중요하다고 생각합니다. 처음부터 무언가를 작성하는 것은 그리 큰 노력이 아닐 수 있지만 도로를 유지 관리하는 것은 곰입니다.
Adam

유지 보수에 문제가 있다고 생각할 수 있지만, 수년간이 시스템을 운영했지만 우리에게는 그렇지 않았습니다. 코드베이스는 작고 친숙하기 때문에 필요에 따라 새로운 기능을 쉽게 추가 할 수 있습니다. 상업적인 솔루션을 유지하는 것도 시간이 지남에 따라 문제가 될 수 있으며, 원래 제품이 필요한 모든 것을 수행하지 못하는 경우 새로운 공급 업체의 제품에 접목 할 수 있습니다.
John D. Cook
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.