# Accessing JSON data works via status_data
# Return State::UP, State::Down, or State::Warning
# Icinga states: 0 (ok), 1 (warning), 2 (critical), 3 (unknown), 4 (dependent)
###############################################################################
# IMPORTANT: Make your changes as well in monitoring:/etc/aggregate-icinga-data.conf
Services do
name 'gentoo.org Website'
service 'www' do
if service_flapping? 'avocet', 'http_www' and service_flapping? 'auklet', 'http_www'
State::WARNING
elsif service_up? 'avocet', 'http_www' or service_up? 'auklet', 'http_www'
State::UP
else
State::DOWN
end
end
name 'Forums'
service 'forums' do
if service_flapping? 'godwit', 'http_forums' or service_flapping? 'gannet', 'http_forums'
State::WARNING
elsif service_up? 'godwit', 'http_forums' or service_up? 'gannet', 'http_forums'
State::UP
else
State::DOWN
end
end
name 'Wiki'
service 'wiki' do
default 'geese', 'http_wiki'
end
name 'Planet Gentoo'
service 'planet' do
default 'brambling', 'http_planet'
end
name 'Package Database'
service 'pgo' do
default 'trogan', 'http_packages'
end
name 'Mailing Lists'
service 'lists' do
default 'pigeon', 'smtp_lists'
end
name 'Mailing List Archives'
service 'archives' do
default 'manakin', 'http_archives'
end
name 'CVS and Git Repositories'
service 'vcs' do
default 'oystercatcher', 'ssh_cvs'
end
name 'Anonymous Repository Access'
service 'anonvcs' do
if service_flapping? 'manakin', 'http_anongit' or service_flapping? 'oystercatcher', 'http_anongit'
State::WARNING
elsif service_up? 'manakin', 'http_anongit' or service_up? 'oystercatcher', 'http_anongit'
State::UP
else
State::DOWN
end
end
name 'Developer Manual'
service 'devmanual' do
default 'brambling', 'http_devmanual'
end
name 'Git Source Code Browser'
service 'gitweb' do
default 'manakin', 'http_gitweb'
end
name 'CVS Source Code Browser'
service 'sources' do
default 'motmot', 'http_sources'
end
name 'rsync Mirrors'
service 'rsync' do
if host_flapping? 'albatross' or host_flapping? 'dipper'
State::WARNING
elsif host_up? 'albatross' and host_up? 'dipper'
State::UP
else
State::DOWN
end
end
name 'Distfile Mirrors'
service 'distfiles' do
if host_flapping? 'dipper'
State::WARNING
elsif host_up? 'dipper'
State::UP
else
State::DOWN
end
end
name 'Bugzilla'
service 'bugzilla' do
default 'gannet', 'http_bugs'
end
name 'Project File Hosting'
service 'projects' do
default 'dipper', 'http_projects'
end
name 'dev.gentoo.org Shell Access'
service 'dgo_ssh' do # dev.gentoo.org SSH
default 'woodpecker', 'ssh_dgo'
end
name 'dev.gentoo.org Web Hosting'
service 'dgo_http' do # dev.gentoo.org HTTP
default 'woodpecker', 'http_dgo'
end
name 'In-/Outbound Email (SMTP)'
service 'dgo_smtp' do # dev.gentoo.org SMTP
default 'woodpecker', 'smtp_dgo'
end
name 'Mailbox Access (POP/IMAP)'
service 'dgo_mbox' do # dev.gentoo.org IMAP/POP
default 'woodpecker', 'imap_dgo'
end
name 'Blog Hosting'
service 'blogs' do
default 'bittern', 'http_blogs'
end
category 'Community Services' do
column 1
%w[www forums wiki planet pgo lists archives]
end
category 'Development Services' do
column 2
%w[bugzilla devmanual projects]
end
category 'Code Repositories' do
column 2
%w[vcs anonvcs gitweb sources]
end
category 'Developer Resources' do
column 3
%w[dgo_ssh dgo_http dgo_smtp dgo_mbox blogs]
end
category 'Mirrors' do
column 3
%w[rsync distfiles]
end
end