Zabbix: Tunning

julho 24, 2017

Tunning de configuração do Zabbix

Naturalmente que cada ambiente, com suas próprias características, precisará passar por uma analise antes de aplicar as configurações abaixo.

No entanto, o intuito desse material é compartilhar minha experiencia pessoal para ajudar dando um norte de algumas configurações importantes que acabam passando despercebidas e podem fazer com isso com que o Zabbix fique instavel mesmo com sobra de recurso (hardware).

Tunning Mysql (MariaDB): Aumentando o número de requisições no banco de Dados

vi /etc/my.cnf.d/server.cnf
[mysqld]
#max_connections Default is 100
max_connections = 2000

#default
MariaDB [zabbix]> SHOW VARIABLES LIKE “max_connections”;
+—————–+——-+
| Variable_name | Value |
+—————–+——-+
| max_connections | 214 |
+—————–+——-+

#ajustado para
MariaDB [zabbix]> SET GLOBAL max_connections = 500;
Query OK, 0 rows affected (0.00 sec)

MariaDB [zabbix]> SHOW VARIABLES LIKE “max_connections”;
+—————–+——-+
| Variable_name | Value |
+—————–+——-+
| max_connections | 500 |
+—————–+——-+

 

Tunning Zabbix AppTier: Aumentando o número de polling para aplicação

vi /etc/zabbix/zabbix_server.conf
StartPollers=160
StartIPMIPollers=10
StartPollersUnreachable=25
StartPingers=10
StartDiscoverers=10
### Option: CacheSize
# CacheSize=8M
CacheSize=48M
### Option: HistoryCacheSize
# HistoryCacheSize=16M
HistoryCacheSize=80M
### Option: TrendCacheSize
# TrendCacheSize=4M
TrendCacheSize=20M
### Option: ValueCacheSize
# ValueCacheSize=8M
ValueCacheSize=64M

systemctl restart zabbix-server

Aumentando o número de “Últimos Incidentes” na Dashboard do Zabbix

vi /usr/share/zabbix/include/defines.inc.php
define(‘DEFAULT_LATEST_ISSUES_CNT’, 200); //No lugar do 200 era 20

systemctl restart zabbix-server

Configuração de shared memory / cache size

Definição de shared memory: “Na ciência da computação, memória compartilhada é a memória que pode ser acessado simultaneamente por vários programas com a intenção de proporcionar a comunicação entre eles ou evitar cópias redundantes. Memória compartilhada é um meio eficiente de transmitir dados entre programas. Dependendo do contexto, os programas podem ser executados em um único processador ou em vários processadores separados.”
ref: wifipedia

Aplicação prática no zabbix: Quando trabalhamos em ambientes com muitos itens, hosts etc… podemos ter que ajustar o parâmetro shared memory no servidor linux a fim de que ele seja capaz de suportar tantos processos concorrentes.

  • Sintoma: Serviço Zabbix-Server não inicia ou fica caindo.
  • Análise: Logs de erro no Servidor Zabbix

tail -f /var/log/zabbix/zabbix_server.log
26569:20161004:175132.438 [file:strpool.c,line:53] zbx_mem_malloc(): out of memory (requested 61 bytes)
26569:20161004:175132.438 [file:strpool.c,line:53] zbx_mem_malloc(): please increase CacheSize configuration parameter

  • Ajuste do shared memory no servidor Linux (Debian):
    ref: Zabbix Org

    • Verificar as quantidade de memória atual: sysctl -a | grep -E “shmall|shmmax”
      kernel.shmmax = 33554432 #32M
      kernel.shmall = 2097152
    • Para Ajutar para 128M deve-se adicionar o parametro equivalente no arquivo vi /etc/sysctl.conf
      #128M
      kernel.shmmax=134217728
    • Para aplicar as alterações: sysctl -p
  • Ajuste do Cache Size no Zabbix
    ref: Zabbix.com

    • vi /etc/zabbix/zabbix_server.conf

### Option: CacheSize
# Size of configuration cache, in bytes.
# Shared memory size for storing host, item and trigger data.
#
# Mandatory: no
# Range: 128K-2G
# Default:
CacheSize=128M

  • Iniciar o serviço do Zabbix-Server e acompanhar os logs

service zabbix-server start
tail -f /var/log/zabbix/zabbix_server.log

 

Anúncios

Zabbix 3.0 CentOS 7

abril 5, 2016

Passo a passo simples mas funcional para instalação do Zabbix 3.0 no CentOS 7

systemctl stop firewalld
chkconfig firewalld off
setenforce Permissive
vi /etc/selinux/config
SELINUX=permissive
yum install mariadb mariadb-devel mariadb-server -y
systemctl start mariadb
mysql_secure_installation
dbrootpass: MINHASENHADEBANCO
mysql -uroot -p
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by ‘SENHADOZABBIXUSERDB’;
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
yum search zabbix
yum install zabbix-agent zabbix-server-mysql zabbix-web-mysql -y
cd /etc/zabbix
vi zabbix_server.conf
Ajustar:
DBHost
DBName
DBUser
DBPassword
vi zabbix_agentd.conf
Ajustar:
Hostname
Server=
cd /usr/share/doc/zabbix-server-mysql-3.0.0
zcat create.sql.gz | mysql -uroot -p zabbix
vi /etc/php.ini
timezone
systemctl start httpd
systemctl start zabbix-server
systemctl start zabbix-agent
chkconfig httpd on
chkconfig zabbix-server on
chkconfig zabbix-agent on
tail -f /var/log/zabbix/zabbix_server.log
yum update
yum upgrade

Lembrando de Ajustar e subir de volta o firewall no fim do processo

 

Pré-requisitos:

  • Instalar o 7-zip

Estrutura de Diretórios:

  • C:\Suporte\Backup\Armazenamento\Sites
  • C:\Suporte\Backup\Armazenamento\Farm
  • C:\Suporte\Backup\Scripts

No diretorio de Scripts deverão ter 2 arquivos

  1. BKPSPFarm&Site.ps1
    • Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue
      Backup-SPFarm -Directory C:\Suporte\Backup\Armazenamento\Farm -BackupMethod Full
      Backup-SPSite -Identity http://sharepoint.eficienti.local -Path C:\Suporte\Backup\Armazenamento\Sites\Sharepoint.eficienti.local.bak –Force
       
  2. Compacta_Sharepoint_Backup.bat
    • @echo off
      :As variaveis de data podem ser diferentes dependendo do Idioma do windows
      set ANO=%date:~10,4%
      set MES=%date:~4,2%
      set DIA=%date:~7,2%
      set DATA=%ANO%-%MES%-%DIA%

      set BKPDESTINO=\\DFS\backup\Sharepoint2010_%DATA%.7z
      set BKPORIGEM=C:\Suporte\Backup\Armazenamento
      set LOG=\\DFS\backup\Sharepoint2010_%DATA%.log

      cd C:\Program Files\7-Zip

      :Delete_Historico
      ::Delete de Bkps e Logs no historico com mais de 30 dias
      forfiles /P %BKPDESTINO% /M *.7z /S /D -30 /c “cmd /c del @file”
      forfiles /P %LOG%\.. /M *.log /S /D -30 /c “cmd /c del @file”

      :Inicio
      7z a -mx9 %BKPDESTINO% %BKPORIGEM% > %LOG%
      if %errorlevel% equ 0 (del /F/S/Q %BKPORIGEM%\*.*)

Criar duas tarefas agendadas no Windows:

  1. ScheduleBackupSharepoint
    • Action:
      • Start a program: PowerShell.exe
      • Arguments: &’C:\Suporte\Backup\Scripts\BKPSPFarm&Site.ps1′
  2. ScheduleBackupCompactacao
    • Action:
      • C:\Suporte\Backup\Scripts\Compacta_Sharepoint_Backup.bat

Todo o procedimento naturalmente será feito via Putty

 

1 – Primeiramente Vamos verificar quais tablespaces estão precisando de um upgrade no seu espaço

1.1 – Ajustar a variavel para o banco que iremos trabalhar, no nosso exemplo dbora1

  • ORACLE_SID=dbora1

1.2 – Acessar o SQLPLUS

  • sqlplus /nolog
  • connect as sysdba
  • sys
  • password

1.3 – Colar todo script abaixo para exibir todas as tablespaces do nosso banco

SELECT /* + RULE */ df.tablespace_name “Tablespace”,
df.bytes / (1024 * 1024) “Size (MB)”,
SUM(fs.bytes) / (1024 * 1024) “Free (MB)”,
Nvl(Round(SUM(fs.bytes) * 100 / df.bytes),1) “% Free”,
Round((df.bytes – SUM(fs.bytes)) * 100 / df.bytes) “% Used”
FROM dba_free_space fs,
(SELECT tablespace_name,SUM(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) df
WHERE fs.tablespace_name (+) = df.tablespace_name
GROUP BY df.tablespace_name,df.bytes
UNION ALL
SELECT /* + RULE */ df.tablespace_name tspace,
fs.bytes / (1024 * 1024),
SUM(df.bytes_free) / (1024 * 1024),
Nvl(Round((SUM(fs.bytes) – df.bytes_used) * 100 / fs.bytes), 1),
Round((SUM(fs.bytes) – df.bytes_free) * 100 / fs.bytes)
FROM dba_temp_files fs,
(SELECT tablespace_name,bytes_free,bytes_used
FROM v$temp_space_header
GROUP BY tablespace_name,bytes_free,bytes_used) df
WHERE fs.tablespace_name (+) = df.tablespace_name
GROUP BY df.tablespace_name,fs.bytes,df.bytes_free,df.bytes_used
ORDER BY 4 DESC;

 

vamos suporte que nossa tablespace tbls_1 esteja apenas com 1% livre

 

2 – Agora Vamos aumentar nossa tablespace para 750 Mega;

2.1 – Sair do sqlplus

2.2 – Ainda pelo putty vamos localizar o caminho fisico da nossa tablespace:

  • locate tbls_1.dbf

2.3 – Novamente entrar no sqlplus a exemplo do passo 1.2

2.4 – Finalmente aumentando nossa tablespace

  • alter database datafile ‘/home/u01/app/oracle/oradata/databasename/tbls_1.dbf’ resize 750m;

 

obs: usei m pq estou definindo o tamanho em mega, mas poderia usar g para giga 😉

Pra quem pegou um vírus, precisou formatar o pc e só tinha o CD do Windows XP SP3, ou quis, por vontade própria, instalar o Service Pack 3  e depois de tudo tentou instalar sem sucesso oInternet Explorer 7 (IE7), a solução do problema é simples e não requer conhecimento técnico avançado.
A resolução do problema de não poder instalar o Internet Explorer 7 no Windows XP Service Pack 3 é simplesmente seguir os seguintes passos:

1º Abra o prompt de comando do windows (Inicia -> Executar) e digite o seguinte comando:

secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose

2º Após executar o comando uma tela preta do console do windows abrirá e fará automaticamente o reparo de possíveis problemas que impossibilitam a instalação do IE7 no SP3;

3º Agora é só tentar instalar o Internet Explorer 7 (IE7) e correr pro abraço

Sintoma: Ao salvar uma alteração em um campo de uma tabelo no banco de dados ocorre  a seguinte mensagem de erro: “Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created.”

Solução:

  • Clique no menu Tools > Options
    Agora em Designer basta desmarcar a opção Prevent saving changes that require the table to be re-created.