|
# Desativar SELinux e firewalld em todos os nodes |
|
class { 'selinux': |
|
mode => 'disabled', |
|
} |
|
service { 'firewalld': |
|
ensure => 'stopped', |
|
enable => false, |
|
} |
|
|
|
# Inclui repo EPEL |
|
include epel |
|
|
|
|
|
node 'zabbix-srv-plat-prd01.network.ctbc' { |
|
# Node com Zabbix Server e Web |
|
|
|
class { 'apache': |
|
mpm_module => 'prefork', |
|
} |
|
class { 'apache::mod::php': } |
|
|
|
# Este módulo remove o arquivo /etc/httpd/conf.d/zabbix.conf e cria outro, |
|
# gerenciado por ele, em seu lugar: /etc/httpd/conf.d/25-zabbix-srv-plat-prd01.network.ctbc.conf |
|
class { 'zabbix::web': |
|
zabbix_version => '3.0', |
|
zabbix_url => 'zabbix-srv-plat-prd01.network.ctbc', # domínio para acessar via navegador |
|
zabbix_server => 'zabbix-srv-plat-prd01.network.ctbc', |
|
zabbix_timezone => 'America/Sao_Paulo', |
|
vhost_default => true, # permite que o Zabbix seja acessado pelo IP |
|
apache_php_max_execution_time => '14400', |
|
apache_php_memory_limit => '2048M', |
|
apache_php_post_max_size => '32M', |
|
apache_php_upload_max_filesize => '4M', |
|
apache_php_max_input_time => '14400', |
|
database_host => 'zabbix-mysql-plat-prd01.network.ctbc', |
|
database_type => 'mysql', |
|
} |
|
|
|
class { 'mysql::client': } |
|
|
|
# Módulo que instala o Zabbix Server e |
|
# gerencia o arquivo /etc/zabbix/zabbix_server.conf |
|
class { 'zabbix::server': |
|
zabbix_version => '3.0', |
|
database_host => 'zabbix-mysql-plat-prd01.network.ctbc', |
|
database_type => 'mysql', |
|
# parametros alteraveis (em máq. com pouca RAM, não sobe) |
|
logfilesize => '0', |
|
startpollers => '400', |
|
startpollersunreachable => '200', |
|
startpingers => '400', |
|
startdiscoverers => '100', |
|
maxhousekeeperdelete => '5000', |
|
cachesize => '6G', |
|
historycachesize => '2G', |
|
historyindexcachesize => '2G', |
|
valuecachesize => '6G', |
|
# ---------------------------------------------- |
|
manage_firewall => true, |
|
} |
|
|
|
class { 'zabbix::agent': |
|
zabbix_version => '3.0', |
|
server => 'zabbix-srv-plat-prd01.network.ctbc, zabbix-poller-plat-prd01.network.ctbc, zabbix-poller-plat-prd02.network.ctbc, zabbix-poller-plat-prd03.network.ctbc, zabbix-poller-plat-prd04.network.ctbc', |
|
} |
|
|
|
zabbix::template { 'template': |
|
templ_source => 'puppet:///modules/zabbix/templates/zabbix.xml', |
|
} |
|
|
|
} |
|
|
|
node 'zabbix-mysql-plat-prd01.network.ctbc' { |
|
# Node com MySQL |
|
|
|
class { 'mysql::server': |
|
package_name => 'mysql-commercial-server', |
|
service_name => 'mysqld', |
|
config_file => '/etc/my.cnf', |
|
includedir => '/etc/my.cnf.d', |
|
override_options => { |
|
'mysql' => { |
|
# 'user' => 'zabbix', |
|
# 'password' => 'Z@bb1Xm3tr0', |
|
}, |
|
'mysqladmin' => { |
|
# 'user' => 'zabbix', |
|
# 'password' => 'Z@bb1Xm3tr0', |
|
}, |
|
'mysqld' => { |
|
'bind_address' => '172.20.0.75', # endereço da máquina |
|
# parametros alteraveis (em máq. com pouca RAM, não sobe) |
|
'innodb_buffer_pool_size' => '12G', |
|
'innodb_log_file_size' => '14G', |
|
'max_connections' => '1500', |
|
'slow_query_log' => '1', |
|
'slow_query_log_file' => '/var/log/mysql/slow.log', |
|
'long_query_time' => '10', |
|
'log_queries_not_using_indexes' => '1', |
|
'event_scheduler' => 'ON', |
|
'plugin-load' => 'thread_pool.so', |
|
'optimizer_switch' => 'index_condition_pushdown=off', |
|
'log-error' => '/var/log/mysqld.log', |
|
'pid-file' => '/var/run/mysqld/mysqld.pid', |
|
# 'skip-name-resolve' => true, # descomente após instalar ambiente |
|
'log_timestamps' => 'SYSTEM', |
|
}, |
|
'mysqld_safe' => { |
|
'log-error' => '/var/log/mysqld.log', |
|
}, |
|
}, |
|
} |
|
class { 'zabbix::database': |
|
database_type => 'mysql', |
|
database_collate => 'utf8_bin', |
|
# zabbix_server => 'zabbix-srv-plat-prd01.network.ctbc', |
|
# zabbix_web => 'zabbix-srv-plat-prd01.network.ctbc', |
|
zabbix_server => '172.20.0.76', |
|
zabbix_web => '172.20.0.76', |
|
} |
|
class { 'zabbix::agent': |
|
zabbix_version => '3.0', |
|
server => 'zabbix-srv-plat-prd01.network.ctbc, zabbix-poller-plat-prd01.network.ctbc, zabbix-poller-plat-prd02.network.ctbc, zabbix-poller-plat-prd03.network.ctbc, zabbix-poller-plat-prd04.network.ctbc', |
|
} |
|
|
|
} |
|
|
|
node /zabbix-poller-plat-prd\d+.network.ctbc/ { |
|
# Node(s) com Zabbix Proxy |
|
|
|
file { '/var/lib/sqlite': |
|
ensure => 'directory', |
|
mode => '0777', |
|
} |
|
|
|
# Módulo que instala o Zabbix Proxy e |
|
# gerencia o arquivo /etc/zabbix/zabbix_proxy.conf |
|
class { 'zabbix::proxy': |
|
zabbix_version => '3.0', |
|
zabbix_server_host => 'zabbix-srv-plat-prd01.network.ctbc', |
|
logfilesize => '0', |
|
database_type => 'sqlite', |
|
database_name => '/var/lib/sqlite/zabbix_proxy.db', |
|
snmptrapper => '1', |
|
# parametros alteraveis (em máq. com pouca RAM, não sobe) |
|
startpollers => '500', |
|
startpollersunreachable => '200', |
|
startpingers => '200', |
|
startdiscoverers => '50', |
|
cachesize => '2G', |
|
historycachesize => '1G', |
|
historyindexcachesize => '512M', |
|
# ---------------------------------------------- |
|
manage_firewall => true, |
|
} |
|
|
|
class { 'zabbix::agent': |
|
zabbix_version => '3.0', |
|
server => 'zabbix-srv-plat-prd01.network.ctbc, zabbix-poller-plat-prd01.network.ctbc, zabbix-poller-plat-prd02.network.ctbc, zabbix-poller-plat-prd03.network.ctbc, zabbix-poller-plat-prd04.network.ctbc', |
|
serveractive => 'zabbix-srv-plat-prd01.network.ctbc, zabbix-poller-plat-prd01.network.ctbc, zabbix-poller-plat-prd02.network.ctbc, zabbix-poller-plat-prd03.network.ctbc, zabbix-poller-plat-prd04.network.ctbc', |
|
} |
|
|
|
} |