Commit 805e68f3 authored by Javier's avatar Javier

installing ganglia from de repos

parent 5a90d586
Pipeline #385 failed with stages
in 2 minutes and 40 seconds
......@@ -41,7 +41,9 @@
# data_source "my grid" 50 1.3.4.7:8655 grid.org:8651 grid-backup.org:8651
# data_source "another source" 1.3.4.7:8655 1.3.4.8
data_source "mambi" 1 10.12.31.9
data_source "mambi" 60 10.12.31.9:8649 # Ganglia Master node
data_source "mambi" 60 10.12.31.154 # nodos
data_source "mambi" 60 10.12.31.155 # nodos
#
# Round-Robin Archives
......@@ -69,7 +71,7 @@ data_source "mambi" 1 10.12.31.9
# The name of this Grid. All the data sources above will be wrapped in a GRID
# tag with this name.
# default: unspecified
# gridname "MyGrid"
gridname "UCLV HPC"
#
#-------------------------------------------------------------------------------
# The authority URL for this grid. Used by other gmetads to locate graphs
......
......@@ -28,7 +28,7 @@ globals {
*/
cluster {
name = "mambi"
owner = "uclv"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}
......@@ -42,7 +42,7 @@ host {
used to only support having a single channel */
udp_send_channel {
host = 10.12.31.9
host = localhost
port = 8649
ttl = 1
}
......@@ -52,7 +52,7 @@ udp_recv_channel {
# mcast_join = 239.2.11.71
port = 8649
# bind = 239.2.11.71
retry_bind = true
# retry_bind = true
# Size of the UDP buffer. If you are handling lots of metrics you really
# should bump it up to e.g. 10MB or even higher.
# buffer = 10485760
......
/* This configuration is as close to 2.5.x default behavior as possible
The values closely match ./gmond/metric.h definitions in 2.5.x */
globals {
daemonize = yes
setuid = yes
user = nobody
debug_level = 0
max_udp_msg_len = 1472
mute = no
deaf = no
allow_extra_data = yes
host_dmax = 86400 /*secs. Expires (removes from web interface) hosts in 1 day */
host_tmax = 20 /*secs */
cleanup_threshold = 300 /*secs */
gexec = no
# By default gmond will use reverse DNS resolution when displaying your hostname
# Uncommeting following value will override that value.
# override_hostname = "mywebserver.domain.com"
# If you are not using multicast this value should be set to something other than 0.
# Otherwise if you restart aggregator gmond you will get empty graphs. 60 seconds is reasonable
send_metadata_interval = 0 /*secs */
}
/*
* The cluster attributes specified will be used as part of the <CLUSTER>
* tag that will wrap all hosts collected by this instance.
*/
cluster {
name = "mambi"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}
/* The host section describes attributes of the host, like the location */
host {
location = "unspecified"
}
/* Feel free to specify as many udp_send_channels as you like. Gmond
used to only support having a single channel */
udp_send_channel {
mcast_join = 239.2.11.71
host = localhost
port = 8649
ttl = 1
}
/* You can specify as many udp_recv_channels as you like as well. */
udp_recv_channel {
mcast_join = 239.2.11.71
port = 8649
bind = 239.2.11.71
retry_bind = true
# Size of the UDP buffer. If you are handling lots of metrics you really
# should bump it up to e.g. 10MB or even higher.
# buffer = 10485760
}
/* You can specify as many tcp_accept_channels as you like to share
an xml description of the state of the cluster */
tcp_accept_channel {
port = 8649
# If you want to gzip XML output
gzip_output = no
}
/* Channel to receive sFlow datagrams */
#udp_recv_channel {
# port = 6343
#}
/* Optional sFlow settings */
#sflow {
# udp_port = 6343
# accept_vm_metrics = yes
# accept_jvm_metrics = yes
# multiple_jvm_instances = no
# accept_http_metrics = yes
# multiple_http_instances = no
# accept_memcache_metrics = yes
# multiple_memcache_instances = no
#}
/* Each metrics module that is referenced by gmond must be specified and
loaded. If the module has been statically linked with gmond, it does
not require a load path. However all dynamically loadable modules must
include a load path. */
modules {
module {
name = "core_metrics"
}
module {
name = "cpu_module"
path = "modcpu.so"
}
module {
name = "disk_module"
path = "moddisk.so"
}
module {
name = "load_module"
path = "modload.so"
}
module {
name = "mem_module"
path = "modmem.so"
}
module {
name = "net_module"
path = "modnet.so"
}
module {
name = "proc_module"
path = "modproc.so"
}
module {
name = "sys_module"
path = "modsys.so"
}
}
/* The old internal 2.5.x metric array has been replaced by the following
collection_group directives. What follows is the default behavior for
collecting and sending metrics that is as close to 2.5.x behavior as
possible. */
/* This collection group will cause a heartbeat (or beacon) to be sent every
20 seconds. In the heartbeat is the GMOND_STARTED data which expresses
the age of the running gmond. */
collection_group {
collect_once = yes
time_threshold = 20
metric {
name = "heartbeat"
}
}
/* This collection group will send general info about this host*/
collection_group {
collect_every = 60
time_threshold = 60
metric {
name = "cpu_num"
title = "CPU Count"
}
metric {
name = "cpu_speed"
title = "CPU Speed"
}
metric {
name = "mem_total"
title = "Memory Total"
}
metric {
name = "swap_total"
title = "Swap Space Total"
}
metric {
name = "boottime"
title = "Last Boot Time"
}
metric {
name = "machine_type"
title = "Machine Type"
}
metric {
name = "os_name"
title = "Operating System"
}
metric {
name = "os_release"
title = "Operating System Release"
}
metric {
name = "location"
title = "Location"
}
}
/* This collection group will send the status of gexecd for this host
every 300 secs.*/
/* Unlike 2.5.x the default behavior is to report gexecd OFF. */
collection_group {
collect_once = yes
time_threshold = 300
metric {
name = "gexec"
title = "Gexec Status"
}
}
/* This collection group will collect the CPU status info every 20 secs.
The time threshold is set to 90 seconds. In honesty, this
time_threshold could be set significantly higher to reduce
unneccessary network chatter. */
collection_group {
collect_every = 20
time_threshold = 90
/* CPU status */
metric {
name = "cpu_user"
value_threshold = "1.0"
title = "CPU User"
}
metric {
name = "cpu_system"
value_threshold = "1.0"
title = "CPU System"
}
metric {
name = "cpu_idle"
value_threshold = "5.0"
title = "CPU Idle"
}
metric {
name = "cpu_nice"
value_threshold = "1.0"
title = "CPU Nice"
}
metric {
name = "cpu_aidle"
value_threshold = "5.0"
title = "CPU aidle"
}
metric {
name = "cpu_wio"
value_threshold = "1.0"
title = "CPU wio"
}
metric {
name = "cpu_steal"
value_threshold = "1.0"
title = "CPU steal"
}
/* The next two metrics are optional if you want more detail...
... since they are accounted for in cpu_system.
metric {
name = "cpu_intr"
value_threshold = "1.0"
title = "CPU intr"
}
metric {
name = "cpu_sintr"
value_threshold = "1.0"
title = "CPU sintr"
}
*/
}
collection_group {
collect_every = 20
time_threshold = 90
/* Load Averages */
metric {
name = "load_one"
value_threshold = "1.0"
title = "One Minute Load Average"
}
metric {
name = "load_five"
value_threshold = "1.0"
title = "Five Minute Load Average"
}
metric {
name = "load_fifteen"
value_threshold = "1.0"
title = "Fifteen Minute Load Average"
}
}
/* This group collects the number of running and total processes */
collection_group {
collect_every = 80
time_threshold = 950
metric {
name = "proc_run"
value_threshold = "1.0"
title = "Total Running Processes"
}
metric {
name = "proc_total"
value_threshold = "1.0"
title = "Total Processes"
}
}
/* This collection group grabs the volatile memory metrics every 40 secs and
sends them at least every 180 secs. This time_threshold can be increased
significantly to reduce unneeded network traffic. */
collection_group {
collect_every = 40
time_threshold = 180
metric {
name = "mem_free"
value_threshold = "1024.0"
title = "Free Memory"
}
metric {
name = "mem_shared"
value_threshold = "1024.0"
title = "Shared Memory"
}
metric {
name = "mem_buffers"
value_threshold = "1024.0"
title = "Memory Buffers"
}
metric {
name = "mem_cached"
value_threshold = "1024.0"
title = "Cached Memory"
}
metric {
name = "swap_free"
value_threshold = "1024.0"
title = "Free Swap Space"
}
}
collection_group {
collect_every = 40
time_threshold = 300
metric {
name = "bytes_out"
value_threshold = 4096
title = "Bytes Sent"
}
metric {
name = "bytes_in"
value_threshold = 4096
title = "Bytes Received"
}
metric {
name = "pkts_in"
value_threshold = 256
title = "Packets Received"
}
metric {
name = "pkts_out"
value_threshold = 256
title = "Packets Sent"
}
}
/* Different than 2.5.x default since the old config made no sense */
collection_group {
collect_every = 1800
time_threshold = 3600
metric {
name = "disk_total"
value_threshold = 1.0
title = "Total Disk Space"
}
}
collection_group {
collect_every = 40
time_threshold = 180
metric {
name = "disk_free"
value_threshold = 1.0
title = "Disk Space Available"
}
metric {
name = "part_max_used"
value_threshold = 1.0
title = "Maximum Disk Space Used"
}
}
include ("/etc/ganglia/conf.d/*.conf")
......@@ -5,67 +5,7 @@
# @example
# include ganglia::common
class ganglia::common inherits ganglia::params {
package { $common_repos_pack:
package { 'ganglia-gmond':
ensure => installed,
#notify => File['/root/ganglia/libconfuse-2.7-7.el7.x86_64.rpm'],
}
file {'/root/ganglia/libconfuse-2.7-7.el7.x86_64.rpm':
ensure => present,
source => 'puppet:///modules/ganglia/libconfuse-2.7-7.el7.x86_64.rpm',
# notify => File['/root/ganglia/libconfuse-devel-2.7-7.el7.x86_64.rpm'],
}
file {'/root/ganglia/libconfuse-devel-2.7-7.el7.x86_64.rpm':
ensure => present,
source => 'puppet:///modules/ganglia/libconfuse-devel-2.7-7.el7.x86_64.rpm',
}
package { 'libconfuse':
ensure => '2.7-7.el7',
provider => rpm,
source => '/root/ganglia/libconfuse-2.7-7.el7.x86_64.rpm',
require => File['/root/ganglia/libconfuse-2.7-7.el7.x86_64.rpm'],
}
package { 'libconfuse-devel':
ensure => '2.7-7.el7',
provider => rpm,
source => '/root/ganglia/libconfuse-devel-2.7-7.el7.x86_64.rpm',
require => File['/root/ganglia/libconfuse-devel-2.7-7.el7.x86_64.rpm'],
}
file {'/root/ganglia':
ensure => directory,
#require => Package['libconfuse-devel-2.7-7.el7.x86_64.rpm'],
}
file {'/root/ganglia/ganglia-3.7.2.tar.gz':
ensure => present,
source => 'puppet:///modules/ganglia/ganglia-3.7.2.tar.gz',
require => File['/root/ganglia'],
}
exec { 'rpmbuild -tb ganglia-3.7.2.tar.gz':
cwd => '/root/ganglia',
#path => '/usr/bin:/usr/sbin:/bin:/usr/local/bin',
path => ['/usr/bin', '/usr/sbin',],
subscribe => File['/root/ganglia/ganglia-3.7.2.tar.gz'],
refreshonly => true,
}
exec { 'yum install *ganglia*.rpm -y':
cwd => '/rpmbuild/RPMS/x86_64/',
path => ['/usr/bin', '/usr/sbin',],
#path => '/usr/bin:/usr/sbin:/bin:/usr/local/bin',
subscribe => Exec['rpmbuild -tb ganglia-3.7.2.tar.gz'],
refreshonly => true,
}
file {'/etc/ganglia':
ensure => directory,
}
file { '/etc/ganglia/gmond.conf':
ensure => file,
mode => '0644',
source => 'puppet:///modules/ganglia/gmond.conf',
require => File['/etc/ganglia'],
notify => Service['gmond'],
}
}
......@@ -5,8 +5,7 @@
# @example
# include ganglia
class ganglia (
String $version = $ganglia::params::version,
Boolean $with_server = $ganglia::params::with_server,
Boolean $with_server = $ganglia::params::with_server,
) inherits ganglia::params
{
include ganglia::common
......
......@@ -6,6 +6,11 @@
# include ganglia::nodes
class ganglia::nodes {
include ganglia::common
file { '/etc/ganglia/gmond.conf':
ensure => file,
mode => '0644',
source => 'puppet:///modules/ganglia/gmond.conf.nodes',
}
service { 'gmond':
ensure => running,
enable => true,
......
......@@ -5,27 +5,12 @@
# @example
# include ganglia::params
class ganglia::params {
$version = '3.7.2'
$with_server = false
$common_repos_pack = [
'freetype-devel',
'rpm-build',
'libpng-devel',
'libart_lgpl-devel',
'python-devel',
'pcre-devel',
'autoconf',
'automake',
'libtool',
'expat-devel',
'apr-devel',
'gcc-c++',
'make',
'pkgconfig'
]
$server_pack = [
'php',
'httpd',
'php-gd',
'ganglia',
'rrdtool',
'ganglia-gmetad',
'ganglia-gmond',
'ganglia-web'
]
}
......@@ -14,26 +14,11 @@ class ganglia::server inherits ganglia::params {
source => 'puppet:///modules/ganglia/gmetad.conf',
notify => Service['gmetad'],
}
file { '/root/ganglia/ganglia-web-3.1.1-1.noarch.rpm':
ensure => file,
mode => '0644',
source => 'puppet:///modules/ganglia/ganglia-web-3.1.1-1.noarch.rpm',
}
package { 'ganglia-web':
ensure => '3.1.1-1',
provider => rpm,
source => '/root/ganglia/ganglia-web-3.1.1-1.noarch.rpm',
require => File['/root/ganglia/ganglia-web-3.1.1-1.noarch.rpm'],
notify => Service['httpd'],
}
service { 'gmond':
ensure => running,
enable => true,
hasrestart => true,
hasstatus => true,
subscribe => File['/etc/ganglia/gmetad.conf'],
# pattern => 'gmond',
}
service { 'gmetad':
ensure => running,
......@@ -47,7 +32,5 @@ class ganglia::server inherits ganglia::params {
enable => true,
hasrestart => true,
hasstatus => true,
# pattern => 'httpd',
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment