Jump to content

Welcome to Gunz Community
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account
Photo

Instalação do Zabbix, Nginx e MariaDB no Centos


No replies to this topic

#1
DeltaAsp

DeltaAsp

    Administrator

  • Administrators
  • 54 posts

Zabbix é uma solução de monitoração utilizada pela equipe de TI e NOC, sua funcionalidade tem uma grande abrangência quando o assunto é monitoração de rede, servidores e Cloud Computing.

Além de fornecer uma reação sobre os serviços monitorados, o Zabbix também disponibiliza mecanismos de notificação, podendo ser por e-mail, Jabber ou restart do serviço.

O Zabbix é dividido em três formas:

  • Zabbix Server: Centralizador das informações coletadas pelo Agent Zabbix,Zabbix Trapper, SNMPv2 ou um simples check.
  • Zabbix Proxy: Usado para atender à necessidade de ambiente onde existem vários servidores a serem monitorados. Com isso, evita-se a criação de regras de NAT para cada agente no Firewall.
  • Zabbix Agent: É um cliente do Zabbix Server que estabelece uma conexão entre o Zabbix Server.

Instalando MariaDB, Nginx e Zabbix no CentOS.O que será feito:

Primeiramente, segue o descritivo do que vamos instalar e configurar:

  • Sistema Operacional: Centos 7
  • Banco de dados: MariaDB 10.3
  • Web: Nginx 1.12/php-fpm 5.4
  • Zabbix Server: 3.4.11

Além destes pacotes instalado é necessário que você tenha permissão de sudoers/root para executar os comandos.

Adicionando repositório Zabbix e fazendo a instalação:

De inicio, vamos começar adicionando o repositório do Zabbix e fazer a instalação dos pacotes:

 

Repositório Zabbix:

sudo rpm -ivh https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

Instalando o zabbix server/frontend e agent

 

O processo de instalação do Zabbix via repositório é bem simples, basta executar o comando abaixo:

sudo yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y

Adicionando repositório MariaDB e fazendo a instalação:

Repositório MariaDB

sudo vi /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Instalando o MariaDB

 

Nos escolhemos instalar o MariaDB, pois é um fork do Mysql e considerado o SGDB mais utilizado pelo Zabbix e suas releases de atualização vem com bastantes novidades. Mas você pode fazer a instalação em PostgreSQL, Oracle ou IBM DB2.

 

Após ter adicionado o repositório do MariaDB no /etc/yum.repos.d/MariaDB.repo. É necessário fazer uma atualização dos pacotes via yum:

sudo yum update -y

Logo em seguida instale os pacotes MariaDB-server, MariaDB-client e MariaDB-devel:

sudo yum install MariaDB-server MariaDB-client MariaDB-devel -y

Após a instalação execute os comandos para habilitar e iniciar o serviço:

sudo systemctl enable mariadb
sudo systemctl start mariadb

Em seguida execute o comando mysql_secure_installation para fazer ajustes de segurança:

sudo mysql_secure_installation
Enter current password for root (enter for none): <ENTER>
Set root password? [Y/n] y
New password: < INSIRA UMA SENHA >
Re-enter new password: <REPITIR A SENHA>
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y 

Crie a database e usuário para o Zabbix exportar as tabelas necessária para o funcionamento da ferramenta:

$ mysql -p -uroot
MariaDB>create database zabbix character set utf8 collate utf8_bin;
MariaDB>grant all privileges on zabbix.* to [email protected] identified by 'zabbix';
MariaDB>flush privileges;
MariaDB> \q
Bye 

Importe os schemas e os dados para funcionamento do Zabbix Server:

sudo zcat /usr/share/doc/zabbix-server-mysql-3.4.11/create.sql.gz | mysql -uzabbix -p zabbix 

Configurando a database para o Zabbix

Edite o arquivo zabbix_server.conf no /etc/zabbix, e altere as seguintes linhas:

sudo vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<SENHA_DO_USUARIO> 

Logo em seguida habilite e inicie o serviço:

sudo systemctl enable zabbix-server
sudo systemctl start zabbix-server 

Instalando Nginx, php-fpm

 

Agora nos vamos fazer a instalação do Nginx e do php-fpm, mas antes é necessário instalar o epel-release nginx e php-fpm:

sudo yum install epel-release -y
sudo yum install nginx php-fpm php-common -y 

Crie um arquivo chamado zabbix.conf no /etc/nginx/conf.d/ e adicione as linhas abaixo:

sudo vi /etc/nginx/conf.d/zabbix.conf
server {
server_name ~$;
access_log /var/log/nginx/access_zabbix.log main;
error_log /var/log/nginx/error_zabbix.log error;
root /usr/share/zabbix;

location /zabbix {
alias /usr/share/zabbix/;
index index.php;
location ~ /(conf|app|include|local)/ {
deny all;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-zabbix.socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
## Para o Zabbix
fastcgi_param PHP_VALUE "
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone = America/Sao_Paulo
always_populate_raw_post_data = -1";
}
}
} 

Configure o pool para php-fpm:

sudo mkdir /var/lib/php/zabbix-php-fpm
sudo chmod 770 /var/lib/php/zabbix-php-fpm/
sudo chown root:nginx /var/lib/php/zabbix-php-fpm/
sudo chown nginx:nginx /etc/zabbix/web/ 

Crie o arquivo zabbix.conf no /etc/php-fpm.d/ e adicione as linhas abaixo:

sudo vi /etc/php-fpm.d/zabbix.conf 

[zabbix]
listen = /var/run/php-zabbix.socket
listen.owner = nginx
listen.group = nginx
listen.mode = 0666
user = nginx
group = nginx
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/zabbix-slow.log
catch_workers_output = yes
security.limit_extensions = .php .php3 .php4 .php5
php_admin_value[error_log] = /var/log/php-fpm/zabbix-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/zabbix-php-fpm/ 

Logo em seguida habilite e inicie os serviços:

sudo systemctl enable php-fpm
sudo systemctl enable nginx
sudo systemctl start php-fpm
sudo systemctl start nginx

 

Configuração no FrontEnd:

Acesse o Browser e va http://<<server_ou_ip>/zabbix

Passo 1:
Esta é a primeira tela do front end:

install_1.png?w=550&tok=fd0e5e

Passo 2:
Verifique ou corrige os pré-requisitos:

install_2.png?w=550&tok=0b5ea8

Passo 3:
Entre com as informaçõe do banco de dados:

install_3.png?w=550&tok=65e211

Passo 4:
Entre com as informações detalhada do Zabbix:

install_4.png?w=550&tok=b0e91d

Passo 5:
Observer o sumário das configurações:

install_4.png?w=550&tok=b0e91d

Passo 6:
Faça o download dos arquivos de configurações e disponbilize no caminho que ele informar(nomeu caso a adição foi automática)

install_6.png?w=550&tok=4664a0

Passo 7:
Instalação finalizada \o/.

Screenshot_2018-07-18_16-26-07-300x177.p

Passo 8:
Zabbix front-end finalizado, os usuários é Admin e a senha zabbix:

login.png?w=350&tok=128699

Acabou \o/.. Ufa!

Selinux

Se você tiver problema com o SELINUX no Zabbix você pode desabilitar ou executar o seguinte comando:

sudo grep zabbix_server /var/log/audit/audit.log | grep denied | audit2allow -M zabbix_server_resourcelimit
sudo semodule
-i zabbix_server_resourcelimit.pp
sudo systemctl restart zabbix
-server

Para desabilitar o SELINUX execute e reinicie o servidor:

sudo echo 0 > /sys/fs/selinux/enforce
sudo sed
-i.bkp 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
sudo reboot

Esta instalação pode ser feita de forma automatizada, basta baixar o script no github e executar no CentOs 7:

$ wget -O /tmp/installzabbixcentos.sh http://bit.ly/installzabbixcentos
$ bash /tmp/installzabbixcentos.sh




Reply to this topic