quinta-feira, 29 de setembro de 2016

Zabbix 3 no CentOS

Olá!
Nesse post vou mostrar a instalação do ZABBIX 3 no CentOS 7. Precisei instalar o Zabbix para apresentação de um trabalho de redes na faculdade... espero ganhar uns pontinhos a mais com o Zabbix... xD
Agora vamos ao que interessa...

Infraestrutura

Eu utilizei duas VMs (maquinas virtuais) no VirtualBox, e criei uma rede NAT. Segue abaixo:

Servidor Zabbix Server/WEB:

  • SO: CentOS Linux release 7.2.1511 (Core)
  • Hostname: zabbix.rlvalente.com
  • IP: 10.10.10.20 (estático)

Node com Zabbix Agent

  • SO: Linux Mint LMDE 2 Betsy
  • Hostname: host01.rlvalente.com
  • IP: 10.10.10.10 (estático)

 

Instalação e configuração do Zabbix Server


Repositório

Instalação dos repositórios EPEL e Zabbix
# yum install epel-release
# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

Instalação

Instalação do Zabbix Server, Zabbix WEB, MariaDB, HTTPD e PHP
# yum -y install zabbix-server-mysql zabbix-web-mysql mysql mariadb-server httpd php

MariaDB

Configuração do serviço do MariaDB
# systemctl start mariadb
# systemctl enable mariadb
# ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service'

Use o comando "mysql_secure_installation" para configurar a senha de root MariaDB e outro parâmetros, como "Remove anonymous users", "Disallow root login remotely" e "Remove test database and access to it".
# mysql -u root -p MariaDB [(none)]> create database zabbix_db;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix_db.* to zabbix_user@localhost identified by ;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit

Importação do Schema do base de dados do Zabbix
# cd /usr/share/doc/zabbix-server-mysql-3.0.3
# gunzip create.sql.gz
# mysql -u root -p zabbix_db < create.sql

zabbix.conf

Antes de editar o arquivo, eu fiz um backup e copiei apenas as configurações ativas para o novo "zabbix.conf", ignorando as linhas comentadas, com o objetivo de facilitar a leitura do arquivo, porém isso não interfere no funcionamento do Zabbix. Edite o arquivo de configuração do Zabbix Server (/etc/zabbix/zabbix_server.conf) e especifique o nome da base de dados, usuário e senha, configurados nos tópicos acima:
# vim /etc/zabbix/zabbix_server.conf
  DBHost=localhost
  DBName=zabbix_db
  DBUser=zabbix_user
  DBPassword=XXXXXXX

PHP

Configure o PHP, editando os parâmetros no arquivo "/etc/php.ini".
# vim /etc/php.ini
  max_execution_time = 600
  max_input_time = 600
  memory_limit = 256M
  post_max_size = 32M
  upload_max_filesize = 16M
  date.timezone = Asia/Kolkata

Libere as portas abaixo no FirewallD
# firewall-cmd --permanent --add-port=10050/tcp
# firewall-cmd --permanent --add-port=10051/tcp
# firewall-cmd --permanent --add-port=80/tcp

Reload e Restart do Firewalld
# firewall-cmd --reload
# systemctl restart firewalld

SELinux

Adicione a seguinte regra no SELinux:
# setsebool -P httpd_can_connect_zabbix=1

Serviço do Zabbix Server e HTTPD

Configurando serviço do Zabbix Server e HTTPD
# systemctl start zabbix-server
# systemctl enable zabbix-server
# ln -s '/usr/lib/systemd/system/zabbix-server.service' '/etc/systemd/system/multi-user.target.wants/zabbix-server.service'
# systemctl start httpd
# systemctl enable httpd
# ln -s /usr/lib/systemd/system/httpd.service /etc/systemd/system/multi-user.target.wants/httpd.service

Primeiro acesso e configuração do Zabbix WEB

Abra o navegador e acesse o Zabbix Web, utilizando o "IP do servidor/zabbix" no navegador, verifique os pré-requisitos e demais configurações.

Figura 1 - Welcome to Zabbix 3.0

Figura 2 - Check of pre-requisites

Figura 3 - Configure DB connection

Figura 4 - Zabbix server details

Figura 5 - Pre-installation summary

Figura 6 - Install

Figura 7 - Zabbix Login
Username: admin
Password: zabbix

Figura 8 - Pagina Inicial Zabbix 3: Dashboard
 

Monitorando um host no Zabbix Server

Agora vamos instalar e configurar o Zabbix Agent na VM "host01.rlvalente.com".
# sudo apt-get update && apt-get install -y zabbix-agent
# sudo vim /etc/zabbix/zabbix_agentd.conf
  max_execution_time = 600
  max_input_time = 600
  memory_limit = 256M
  post_max_size = 32M
  upload_max_filesize = 16M
  date.timezone = America/Sao_Paulo

# /etc/init.d/zabbix-agent restart


Agora entre no Zabbix WEB, vá em "Configurações", "Hosts", "Criar Host" e preencha as informações solicitadas, utilizando os dados da VM Linux Mint LMDE. Após adicionar, volte para página de inicial veja o novo host aparece nas dashboards.
Pronto! Agora explore o Zabbix e adicione novos hosts, crie grupos, templates, mapas...

Have Fun!!

quarta-feira, 28 de setembro de 2016

Trópico 5 - Venci no jogo!!



     Finalmente consegui vencer no trópico 5, observe a grana, o poder, os prédios, a única frustração é a limitação populacional do jogo no PS4, não se pode ultrapassar 2 mil habitantes, e quando se chega em 2 mil começa a dar travar, dos males o menor, demorei muito mas consegui pegar as manhas dos jogo, logo postarei outro vídeo com dicas pra conseguir se desenvolver no jogo:


OCS Inventory - manual de instalação






1. Objetivo
Este artigo tem como finalidade auxiliar na criação de um servidor de aplicação com o OCSInventory e um servidor de Banco de Dados para o OCSInventory. O servidor foi montado em um DEBIAN6. O conteúdo desta documentação foi adquirido através da documentação oficial e de experiências pessoais.
 Salientamos que a documentação oficial recomenda que NÃO UTILIZE O SERVIDOR OCS EM MÁQUINA VIRTUAL EM AMBIENTE DE PRODUÇÃO.

2. Definição 
O OSCI é um software utilizado para realizar o inventário de equipamentos que estão contidos em uma mesma rede de comunicação. Neste software podemos levantar características de hardware e software dos equipamentos clientes.

3. Estrutura
     3.1 Servidor de gerenciamento é composto de três componentes principais:
       3.1.1 Servidor de banco de dados
     3.1.2 Servidor de comunicação (que lida com as comunicações HTTP entre servidor e os agentes de banco de dados)
     3.1.3 Servidor de implantação (que armazena todas as configurações de implantação de pacotes) 

De acordo com a documentação oficial, estes componentes podem ser hospedados em um único computador ou em computadores diferentes para permitir balanceamento de carga, acima de 10 mil
computadores inventariados, recomenda-se o uso de pelo menos dois servidores físicos
, servidor de banco de dados uma hospedagem mais um servidor de comunicação/implantação

4. Atualização ambiente:
Recomendo que realize o update e upgrade do SO, em seguida instale o pacote 'aptitude' para resolver as dependências de cada pacote que será instalado, neste equipamento com Debian 6, utilizamos como repositórios os seguintes:
deb http://ftp.us.debian.org/debian/ squeeze main
deb-src http://ftp.us.debian.org/debian/ squeeze main
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
deb http://ftp.us.debian.org/debian/ squeeze-updates main
deb-src http://ftp.us.debian.org/debian/ squeeze-updates main

5. Instalação
Recomendo que realize a instalação de pacote por pacote para visualizar se houver algum erro durante o processo.
     5.1. Pacotes necessários para o servidor de Aplicação:
build-essential
libxml-simple-perl
libcompress-zlib-perl
libcompress-bzip2-perl
libdbd-mysql-perl
libapache-dbi-perl
libnet-ip-perl
libxml-perl
libsoap-lite-perl
libpcre3-dev
php5-mysql
php5-gd
libphp-pclzip
libapache2-mod-php5
libxml-perl
mysql-client
libsoap-lite-perl
php-soap

     5.2. Pacotes necessários para o servidor de Banco de dados:
mysql-server
php5-mysql
libdbi-perl

6. INSTALAÇÃO DO SERVIDOR DE APLICAÇÃO
     6.1. Instalando Ambiente do servidor de Comunicação/Implantação
– módulos necessários (Novamente recomendamos que instale um pacote por vez para verificar se aconteceu algum problema na instalação) 


# aptitude install build-essential
# aptitude install libxml-simple-perl
# aptitude install libcompress-zlib-perl
# aptitude install libxml-simple-perl
# aptitude install libdbi-perl
# aptitude install libnet-ip-perl
# aptitude install libxml-perl
# aptitude install libsoap-lite-perl
# aptitude install libpcre3-dev
# aptitude install php5-mysql
# aptitude install libphp-pclzip
# aptitude install libapache2-mod-php5
# aptitude install libxml-perl
# aptitude install mysql-client
# aptitude install php-soap
# aptitude install libdbd-mysql-perl
# aptitude install libapache-dbi-perl


Uma boa opção é instalar tudo de uma só vez e armazenar o log em um arquivo.


     6.2. Download OCSInventoy (OCSNG_UNIX_SERVER-2.x )
O download via HTTP pode ser realizado em em : https://launchpad.net/ocsinventory-server/
+download
Se preferir realize o Download da versão 2.1.2 do OCS via linha de comando através do comando:
# wget --no-check-certificate https://launchpad.net/ocsinventory-server/stable-
2.1/2.1.2/+download/OCSNG_UNIX_SERVER-2.1.2.tar.gz
 

Descompacte o arquivo
# tar -xvzf OCSNG_UNIX_SERVER-2.x.tar.gz

Acesse o diretório
# cd OCSNG_UNIX_SERVER-2.x 6.3

Dentro da pasta do OCS, existe um script chamado setup.sh, esse script é o script oficial da comunidade OCS, ele é todo em inglês e irá te ajudar a configurar o OCSInventory, libere as permissões neste escript e execute-o:

# chmod 775 setup.sh
# ./setup.sh 

O arquivo setup.sh pode ser executado outras vezes posteriormente para configurar novamente. Em seguida ele irá te fazer uma série de perguntas para confirmar suas configurações, lembrando que para aceitar o padrão é só apertar a tecla “enter”.

 Será acusado que faltam dois módulos SOAP, esses módulos são opcionais. 

     6.4. Durante a execução do script será solicitado o endereço IP do servidor de banco de dados, se aceitar as configurações padrões o endereço será localhost, a configuração desta opção fica em:
/usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php 

Ela deve estar como a seguir:
<?php
define("DB_NAME","ocsweb");
define("SERVER_READ","SEU-IP-DO-BANCO”);
define("SERVER_WRITE","SEU-IP-DO-BANCO");
define("COMPTE_BASE","ocs");
define("PSWD_BASE","ocs");
?>

Observe que é neste arquivo que podemos configurar o acesso ao banco de dados, a base de dados ocsweb é padrão do OCS, o nome de usuário ocs também é padrão do ocs, se o usuário optar em mudar essas configurações, deve mudar também no banco de dados 

     6.5. Ao término do script, execute o seguinte comando:
# a2enmod php5

     6.6 libere permissões de escrita e leitura em /usr/share/ocsinventoryreports/ocsreports/dbconfig.inc.php

     6.7 reinicie o servidor apache2:
# /etc/init.d/apache2 restart

     6.8. ATENÇÃO: CASO EVENTUALMENTE TENHA ALGUM PROBLEMA DE CONEXÃO COM O BANCO DE DADOS, VERIFIQUE A CONFIGURAÇÃO DE ACESSO TAMBÉM EM
           # /etc/apache2/conf.d/z-ocsinventory-server.conf

     6.9 Em seguida execute:
cpan -i XML::Entities

Aceite a configuração automática clicando “enter” e aguarde

7. INSTALAÇÃO DO SERVIDOR DE BANCO DE DADOS
     7.1 Pacotes necessários para o servidor de Banco de Dados:
mysql-server
php5-mysql
libdbi-perl

            Instale as dependências, mais uma vez recomendo instalar uma por uma para verificar se houve erro e se houver em qual pacote ocorreu:

# aptitude install mysql-server
# aptitude install php5-mysql
# aptitude install libdbi-perl


7.1. Configurando o banco de dados:
Acesse o bd com o usuário root (senha definida na instalação do mysql)
Crie no banco de dados tabela ocsweb e usuario ocs
Acesse BD:
# mysql -p

Crie a tabela da base de dados do OCS:
CREATE DATABASE ocsweb;

Crie o usuário ocs:
CREATE USER `ocs`@`localhost`;
CREATE USER `ocs`@`%`;

Defina password para usuário ocs:
SET PASSWORD FOR 'ocs'@'localhost' = PASSWORD('ocs');
SET PASSWORD FOR 'ocs'@'% = PASSWORD('ocs');
flush privileges;


TROQUE A SENHA DE ROOT PARA % E PARA LOCALHOST: 

SET PASSWORD FOR 'root'@'%' = PASSWORD('suasenha');
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('suasenha');

Insira permissões para o usuário ocs
GRANT select, insert, update ON ocsweb.* TO 'ocs'@'localhost' WITH GRANT OPTION;

Verifique as permissões
SHOW GRANTS FOR `ocs`@`localhost`;

Execute: 

GRANT ALL PRIVILEGES ON ocsweb.* TO 'root'@'%' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON ocsweb.* TO 'ocs'@'%' WITH GRANT OPTION;
flush privileges; 
COMMIT;


Saia do banco de dados e coloque o ip do servidor do banco de dados no lugar de 127.0.0.1 em:
/etc/mysql/my.cnf
NO CAMPO: bind-address


8. Acessando o OCS Web
 Acesse no navegador: http://seuip/ocsreports/

Faça o login com o usuário root do banco de dados.
Aguarde o script de configuração do BD nativo do OCS realizar a montagem da estrutura do banco de dados (DDL)
Acesse com o usuário padrão de acesso: user: admin – password: admin



Documentação Oficial:
http://wiki.ocsinventory-ng.org/index.php/Documentation:Server