Zabbix, rewolucje

04/12/2012

Zabbix skompilowany (2.0.3). Serwery przygotowane. Plany na monitoring poczynione.

Instancja będzie monitorowała na wstępie +/- 1000 urządzeń i wykonywała sumarycznie ~80k testów indywidualnych (specyfika wdrożenia to testy dużej ilości różnorodnych urządzeń monitorowanych nieomal wyłącznie za pośrednictwem SNMP). Wielkości baz policzone dla założeń przechowywania danych typy ‚history’ przez 24 godziny a danych typu ‚trends’ przez 60 dni.

Po przygotowaniu pod serwer bazodanowy maszyny HP ProLiant DL360 G5 + 1xCPU (w planach x2), kontroler RAID (bateryjny, obsadzony), zapięty RAID 1+0, 32Gb RAM (polecam życzliwej uwadze różnice w dokumentacji HP, która ma problemy z zdecydowaniem ile pamięci można maksymalnie obsadzić w maszynie), przystępujemy do instalacji serwera bazodanowego.

W moim rozwiązaniu zdecydowałem się użyć MySQL’a Percony na Debianie 6.0 (z uwagi na ciekawe narzędzia backupowe).

Brak pliku konfiguracyjnego (domyślny brak) my.cnf zrekompensowałem sobie w następujący sposób:

[client]
port                    = 3306
socket                  = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket                  = /var/run/mysqld/mysqld.sock
nice                    = 0

[mysqld]
user                    = mysql
socket                  = /var/run/mysqld/mysqld.sock
port                    = 3306

basedir                 = /usr
datadir                 = /var/lib/mysql
tmpdir                  = /tmp
skip-external-locking
bind-address            = *
key_buffer              = 256M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 80
myisam-recover          = BACKUP
table_cache             = 512
tmp_table_size          = 512M
max_heap_table_size     = 512M
max_connections         = 200
max_connect_errors      = 20000
connect_timeout         = 10
query_cache_limit       = 32M
query_cache_size        = 64M
log_error               = /var/log/mysql/error.log
log_slow_queries        = /var/log/mysql/mysql-slow.log
long_query_time         = 2
expire_logs_days        = 1
max_binlog_size         = 100M
# to jeszcze rozwazyc http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_join_buffer_size
join_buffer_size        = 16M

# InnoDB
innodb_buffer_pool_size=26624M
#sugeruje użycie na początek zmiennej:
#innodb_file_per_table
#a po przekonaniu się odnośnie przyrostu praktycznego bazy przejście na konstrukcję:
innodb_data_file_path = ibdata1:10240M;ibdata2:10240M;ibdata3:10240M;ibdata4:10240M;ibdata5:10240M:autoextend

#i małe zmiany aby IO nie orało pod obciążeniem
innodb_log_buffer_size  = 64M
innodb_log_file_size    = 512M
innodb_flush_method     = O_DIRECT
innodb_flush_log_at_trx_commit  = 2


[mysqldump]
quick
quote-names
max_allowed_packet      = 16M

[mysql]

[isamchk]
key_buffer              = 16M

W kolejnym odcinku plik konfiguracyjny Zabbix Servera.

%d blogerów lubi to: