Instalação do Zabbix, Nginx e MariaDB no Centos
O 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 zabbix@localhost 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
“Estamos quase acabando, falta pouco“.
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:
Passo 2:
Verifique ou corrige os pré-requisitos:
Passo 3:
Entre com as informaçõe do banco de dados:
Passo 4:
Entre com as informações detalhada do Zabbix:
Passo 5:
Observer o sumário das configurações:
Passo 6:
Faça o download dos arquivos de configurações e disponbilize no caminho que ele informar(no meu caso a adição foi automática)
Passo 7:
Instalação finalizada \o/.
Passo 8:
Zabbix front-end finalizado, os usuários é Admin e a senha zabbix:
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