Differences

This shows you the differences between two versions of the page.

Link to this comparison view

instalacao_e_configuracao_do_cacti_e_de_cliente_cacti_no_centos_6_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== Instalação e Configuração do Cacti e de Cliente Cacti no CentOS 6  ======
  
 +
 +Aqui vou Abordar a instalação e configuração do Cacti e de um cliente para ele, vou fazer a instalação também o Spine que é um poller para melhorar a performance do cacti.
 +
 +   * **Nome Servidor Cacti:** cacti
 +    * **Ip:** 10.101.0.25
 +
 +   * **Nome Cliente Cacti:** ldap
 +     * **Ip:** 10.101.0.26
 +
 +Prepare o seu sistema com o seguinte script ​ http://​wiki.douglasqsantos.com.br/​doku.php/​confinicialcentos6_en para que não falte nenhum pacote ou configuração. ​
 +
 +
 +Agora vamos instalar as dependências para o cacti
 +<sxh bash>
 +
 +yum install rrdtool rrdtool-devel rrdtool-php net-snmp net-snmp-devel net-snmp-utils net-snmp-libs -y
 +yum install mysql mysql-devel mysql-libs mysql-server ​ php-mysql php-adodb php-snmp httpd-devel -y
 +</​sxh>​
 +
 +Agora vamos obter o cacti
 +<sxh bash>
 +
 +cd /usr/src
 +wget -c http://​wiki.douglasqsantos.com.br/​Downloads/​monitoring/​cacti-0.8.8a.tar.gz
 +</​sxh>​
 +
 +Agora vamos desempacotar ele
 +<sxh bash>
 +
 +tar -xzvf cacti-0.8.8a.tar.gz
 +</​sxh>​
 +
 +Agora vamos mover ele para /var/www
 +<sxh bash>
 +
 +mv cacti-0.8.8a /​var/​www/​cacti
 +</​sxh>​
 +
 +Agora vamos cadastrar um usuário para ele
 +<sxh bash>
 +
 +useradd -m -r -s /bin/false cacti
 +</​sxh>​
 +
 +Agora vamos acertar as permissões do diretório com os arquivos
 +<sxh bash>
 +
 +chown -R cacti:​apache /​var/​www/​cacti
 +find /​var/​www/​cacti -type f -exec chmod 664 {} \;
 +find /​var/​www/​cacti -type d -exec chmod 775 {} \;
 +</​sxh>​
 +
 +Agora vamos colocar o mysql na inicialização do sistema
 +<sxh bash>
 +
 +chkconfig --add mysqld
 +</​sxh>​
 +
 +Agora vamos ativar ele
 +<sxh bash>
 +
 +chkconfig mysqld on
 +</​sxh>​
 +
 +Agora vamos iniciar ele
 +<sxh bash>
 +
 +/​etc/​init.d/​mysqld start
 +</​sxh>​
 +
 +Agora vamos definir uma senha para o root do mysql
 +<sxh bash>
 +
 +mysqladmin -u root password '​senha'​
 +</​sxh>​
 +
 +Agora vamos criar o banco de dados para o cacti
 +<sxh sql>
 +mysql -u root -p
 +CREATE DATABASE cacti;
 +GRANT ALL PRIVILEGES ON cacti.* TO cacti@localhost IDENTIFIED BY '​senha';​
 +FLUSH PRIVILEGES;
 +QUIT
 +</​sxh>​
 +
 +Agora vamos acertar o arquivo de controle de acesso ao banco de dados
 +<sxh php>
 +vim /​var/​www/​cacti/​include/​config.php
 +$database_type = "​mysql";​
 +$database_default = "​cacti";​
 +$database_hostname = "​localhost";​
 +$database_username = "​cacti";​
 +$database_password = "​senha";​
 +$database_port = "​3306";​
 +$database_ssl = false;
 +[...]
 +$url_path = "/";​
 +</​sxh>​
 +
 +Agora vamos importar o banco de dados
 +<sxh bash>
 +
 +mysql -u cacti -psenha cacti < /​var/​www/​cacti/​cacti.sql
 +</​sxh>​
 +
 +Agora vamos aplicar um patch no cacti
 +
 +Vamos acessar o diretório com os arquivos
 +<sxh bash>
 +
 +cd /​var/​www/​cacti
 +</​sxh>​
 +
 +Agora vamos obter o patch
 +<sxh bash>
 +
 +wget -c http://​wiki.douglasqsantos.com.br/​Downloads/​monitoring/​snmpv3_priv_proto_none.patch
 +</​sxh>​
 +
 +Agora vamos aplicar o patch
 +<sxh bash>
 +
 +patch -p1 -N < snmpv3_priv_proto_none.patch
 +</​sxh>​
 +
 +Agora vamos remover o patch
 +<sxh bash>
 +
 +rm -rf snmpv3_priv_proto_none.patch
 +</​sxh>​
 +
 +Agora vamos criar um virtualhost para o cacti
 +<sxh apache>
 +
 +vim /​etc/​httpd/​conf.d/​cacti.conf
 +<​VirtualHost ​  ​*:​80>​
 +        ServerName cacti.douglasqsantos.com.br
 +        ServerAdmin webmaster@douglasqsantos.com.br
 +        DocumentRoot "/​var/​www/​cacti"​
 +         <​Directory "/​var/​www/​cacti">​
 +                 ​Options -Indexes +FollowSymLinks +MultiViews
 +                 ​AllowOverride All
 +                 Order Allow,deny
 +                 Allow From All
 +         </​Directory>​
 +
 +        CustomLog /​var/​log/​httpd/​cacti.access.log combined
 +        ErrorLog /​var/​log/​httpd/​cacti.error.log
 +        LogLevel warn
 +        ServerSignature Off
 +</​VirtualHost>​
 +</​sxh>​
 +
 +Agora vamos inserir o apache na inicialização do sistema
 +<sxh bash>
 +
 +chkconfig --add httpd
 +</​sxh>​
 +
 +Agora vamos ativar ele
 +<sxh bash>
 +
 +chkconfig httpd on
 +</​sxh>​
 +
 +Agora vamos iniciar o apache
 +<sxh bash>
 +
 +/​etc/​init.d/​httpd start
 +</​sxh>​
 +
 +Agora vamos acessar http://​cacti.douglasqsantos.com.br/​install para acertamos a configuração do cacti.
 +
 +Responda da seguinte forma:
 +   * Next
 +   * Next
 +   * Finish
 +
 +Após isso vamos ser redirecionados para a página de login o usuário: admin senha: admin, após informar isso vai ser solicitado a alteração da senha altere a senha e vamos logar ;)
 +
 +Agora vamos alguns ajustes no snmpd do servidor cacti
 +<sxh bash>
 +
 +vim /​etc/​snmp/​snmpd.conf
 +[...]
 +#Vamos adicionar a linha abaixo la na linha 76 do arquivo abaixo de com2sec mynetwork NETWORK/24 COMMUNITY
 +com2sec local localhost public
 +[...]
 +#Vamos deixar sysLocation e sysContact como abaixo
 +sysLocation ​   Servidor Cacti Matriz
 +sysContact ​    ​Douglas <​douglas@douglasqsantos.com.br>​
 +</​sxh>​
 +
 +Agora vamos inserir o snmpd na inicialização do sistema
 +<sxh bash>
 +
 +chkconfig --add snmpd
 +</​sxh>​
 +
 +Agora vamos ativar ele
 +<sxh bash>
 +
 +chkconfig snmpd on
 +</​sxh>​
 +
 +Agora vamos inserir o snmptrapd na inicialização do sistema
 +<sxh bash>
 +
 +chkconfig --add snmptrapd ​
 +</​sxh>​
 +
 +Agora vamos ativar ele
 +<sxh bash>
 +
 +chkconfig snmptrapd on
 +</​sxh>​
 +
 +Agora vamos iniciar o serviço do snmtp e o snmptrapd
 +<sxh bash>
 +
 +/​etc/​init.d/​snmpd start
 +/​etc/​init.d/​snmptrapd start
 +</​sxh>​
 +
 +Podemos testar a saída do snmtp da seguinte forma
 +<sxh bash>
 +
 +snmpwalk -v 1 localhost -c public system
 +SNMPv2-MIB::​sysDescr.0 = STRING: Linux cacti 2.6.32-279.5.2.el6.centos.plus.x86_64 #1 SMP Fri Aug 24 00:25:34 UTC 2012 x86_64
 +SNMPv2-MIB::​sysObjectID.0 = OID: NET-SNMP-MIB::​netSnmpAgentOIDs.10
 +DISMAN-EVENT-MIB::​sysUpTimeInstance = Timeticks: (15266) 0:02:32.66
 +SNMPv2-MIB::​sysContact.0 = STRING: Douglas <​douglas@douglasqsantos.com.br>​
 +SNMPv2-MIB::​sysName.0 = STRING: cacti
 +SNMPv2-MIB::​sysLocation.0 = STRING: Servidor Cacti Matriz
 +SNMPv2-MIB::​sysORLastChange.0 = Timeticks: (1) 0:00:00.01
 +SNMPv2-MIB::​sysORID.1 = OID: SNMP-MPD-MIB::​snmpMPDMIBObjects.3.1.1
 +SNMPv2-MIB::​sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::​usmMIBCompliance
 +SNMPv2-MIB::​sysORID.3 = OID: SNMP-FRAMEWORK-MIB::​snmpFrameworkMIBCompliance
 +SNMPv2-MIB::​sysORID.4 = OID: SNMPv2-MIB::​snmpM
 +[...]
 +</​sxh>​
 +
 +Por recomendação do Cacti vamos instalar o spine que é um poller escrito em C que tem uma melhor performace do que o padrão
 +
 +Vamos acessar o diretório para armazenar os fontes
 +<sxh bash>
 +
 +cd /usr/src
 +</​sxh>​
 +
 +Agora vamos obter o spine
 +<sxh bash>
 +
 +wget -c http://​wiki.douglasqsantos.com.br/​Downloads/​monitoring/​cacti-spine-0.8.8a.tar.gz
 +</​sxh>​
 +
 +Agora vamos desempacotar ele
 +<sxh bash>
 +
 +tar -xzvf cacti-spine-0.8.8a.tar.gz
 +</​sxh>​
 +
 +Agora vamos acessar o seu o diretório com os fontes
 +<sxh bash>
 +
 +cd cacti-spine-0.8.8a/​
 +</​sxh>​
 +
 +Vamos mandar ele gerar a configuração
 +<sxh bash>
 +
 +./configure
 +</​sxh>​
 +
 +Vamos mandar ele compilar
 +<sxh bash>
 +
 +make
 +</​sxh>​
 +
 +Agora vamos mandar ele instalar
 +<sxh bash>
 +
 +make install
 +</​sxh>​
 +
 +Agora vamos acertar o nome do arquivo de configuração do spine
 +<sxh bash>
 +
 +cp /​usr/​local/​spine/​etc/​spine.conf.dist /​usr/​local/​spine/​etc/​spine.conf
 +</​sxh>​
 +
 +Agora vamos acertar a configuração do spine
 +<sxh bash>
 +
 +vim /​usr/​local/​spine/​etc/​spine.conf
 +[...]
 +DB_Host ​        ​localhost
 +DB_Database ​    cacti
 +DB_User ​        cacti
 +DB_Pass ​        senha
 +DB_Port ​        3306
 +DB_PreG ​        0
 +</​sxh>​
 +
 +Agora no cacti em **Console/​Settings/​Paths**
 +   * Em Spine Poller File Path: informe: **/​usr/​local/​spine/​bin/​spine**
 +   * Agora selecione save
 +
 +Agora Selecione em **Console/​Management/​Devices**
 +   * Selecione o Localhost
 +   * Em snmp version selecione version 1 as opções que irão aparecer não precisam ser modificadas agora no final da página selecione save.
 +   * Agora selecione o link **Create Graphs for this Host**
 +   * Agora selecione os dispositivos que deseja monitorar e selecione create.
 +
 +Agora vamos agendar no cron a geração de relatório
 +<sxh bash>
 +
 +crontab -e
 +[...]
 +*/5   ​* ​  ​* ​  ​* ​  ​* ​   php /​var/​www/​cacti/​poller.php > /dev/null 2>&1 && chown -R cacti:​apache /​var/​www/​cacti/​rra
 +</​sxh>​
 +
 +Agora é só ir acompanhando os gráficos em graphs o primeiro gráfico demora 5 minutos pra gerar por causa do cron.
 +
 +====== Agora vamos a configuração do Cliente ======
 +
 +Prepare o seu sistema com o seguinte script ​ http://​wiki.douglasqsantos.com.br/​doku.php/​confinicialcentos6_en para que não falte nenhum pacote ou configuração. ​
 +
 +No cliente somente precisamos instalar o snmp
 +<sxh bash>
 +
 +yum install net-snmp net-snmp-devel net-snmp-utils net-snmp-libs -y
 +</​sxh>​
 +
 +Agora vamos fazer backup do arquivo de configuração do snmpd
 +<sxh bash>
 +
 +cp /​etc/​snmp/​snmpd.conf{,​.bkp}
 +</​sxh>​
 +
 +Agora vamos acertar a configuração do snmpd
 +<sxh bash>
 +
 +vim /​etc/​snmp/​snmpd.conf
 +[...]
 +#Vamos adicionar a linha abaixo la na linha 76 do arquivo abaixo de com2sec mynetwork NETWORK/24 COMMUNITY
 +com2sec local 10.101.0.0/​24 douglas
 +[...]
 +#Vamos deixar sysLocation e sysContact como abaixo
 +sysLocation ​   Servidor Ldap Matriz
 +sysContact ​    ​Douglas <​douglas@douglasqsantos.com.br>​
 +</​sxh>​
 +
 +
 +Agora vamos inserir o snmpd na inicialização do sistema
 +<sxh bash>
 +
 +chkconfig --add snmpd
 +</​sxh>​
 +
 +Agora vamos ativar ele
 +<sxh bash>
 +
 +chkconfig snmpd on
 +</​sxh>​
 +
 +Agora vamos inserir o snmptrapd na inicialização do sistema
 +<sxh bash>
 +
 +chkconfig --add snmptrapd ​
 +</​sxh>​
 +
 +Agora vamos ativar ele
 +<sxh bash>
 +
 +chkconfig snmptrapd on
 +</​sxh>​
 +
 +Agora vamos iniciar o serviço do snmtp e o snmptrapd
 +<sxh bash>
 +
 +/​etc/​init.d/​snmpd start
 +/​etc/​init.d/​snmptrapd start
 +</​sxh>​
 +
 +Podemos testar a saída do snmtp da seguinte forma
 +<sxh bash>
 +
 +snmpwalk -v 1 localhost -c public system
 +SNMPv2-MIB::​sysDescr.0 = STRING: Linux ldap 2.6.32-279.5.2.el6.centos.plus.x86_64 #1 SMP Fri Aug 24 00:25:34 UTC 2012 x86_64
 +SNMPv2-MIB::​sysObjectID.0 = OID: NET-SNMP-MIB::​netSnmpAgentOIDs.10
 +DISMAN-EVENT-MIB::​sysUpTimeInstance = Timeticks: (653) 0:00:06.53
 +SNMPv2-MIB::​sysContact.0 = STRING: Douglas <​douglas@douglasqsantos.com.br>​
 +SNMPv2-MIB::​sysName.0 = STRING: ldap
 +SNMPv2-MIB::​sysLocation.0 = STRING: Servidor Ldap Matriz
 +SNMPv2-MIB::​sysORLastChange.0 = Timeticks: (1) 0:00:00.01
 +SNMPv2-MIB::​sysORID.1 = OID: SNMP-MPD-MIB::​snmpMPDMIBObjects.3.1.1
 +SNMPv2-MIB::​sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::​usmMIBCompliance
 +SNMPv2-MIB::​sysORID.3 = OID: SNMP-FRAMEWORK-MIB::​snmpFrameworkMIBCompliance
 +SNMPv2-MIB::​sysORID.4 = OID: SNMPv2-MIB::​snmpMIB
 +SNMPv2-MIB::​sysORID.5 = OID: TCP-MIB::​tcpMIB
 +SNMPv2-MIB::​sysORID.6 = OID: IP-MIB::ip
 +SNMPv2-MIB::​sysORID.7 = OID: UDP-MIB::​udpMIB
 +[...]
 +</​sxh>​
 +
 +
 +   * Agora no cacti selecione **Console/​Management/​Devices**
 +   * Do lado superior direito selecione add ele esta abaixo de Logout
 +   * Informe uma descrição para o servidor EX: Ldap
 +   * Em hostname informe o ip
 +   * Host template selecione local linux machine
 +   * Em snmp options selecione snmp version -> Version 1
 +   * Em snmp community informe **douglas** que nos definimos em rocommunity em **/​etc/​snmp/​snmpd.conf**
 +   * Agora  selecione Create na parte inferior direita da tela, se a configuração do snmpd estiver correta vamos receber uma mensagem de **Save Sucessful**
 +   * Agora na parte superior da tela em Azul temos Create graphs for this host selecione este link
 +   * Agora selecione todos os necessarios e selecione create na parte inferior direita da tela.
 +   * Na proxima tela temos algums configurações sobre as cores das legendas eu sempre deixo as default e selecione create
 +   * Agora selecione **Console/​Menagement/​Graph Trees**
 +   * Agora selecione Default Tree
 +   * Agora do lado supeiror direito selecione Add
 +   * Em parent item deixe como [root]
 +   * Em tree item type selecione host
 +   * Agora selecione o seu servidor Ldap e selecione Create.
 +
 +Agora podemos acompanhar os gráficos em graphs os relatórios atualizam a cada 5 minutos que agendamos no cron ;)
 +
 +No painel direito temos os nossos hosts para adicionar mais hosts siga o mesmo procedimento ;)
 +
 +
 +====== Referências ======
 +
 +   * http://​www.cacti.net/​
 +   * http://​docs.cacti.net/​
 +   * http://​docs.cacti.net/​wiki:​documentation
 +   * http://​docs.cacti.net/​manual:​088
 +   * http://​docs.cacti.net/​howto
 +   * http://​docs.cacti.net/​faq
 +   * http://​www.cacti.net/​download_patches.php
 +   * http://​www.cacti.net/​download_cacti.php
 +   * http://​www.cacti.net/​downloads/​docs/​html/​requirements.html