Mise à jour de ZABBIX sous CentOS

De Wiki de Romain RUDIGER
Aller à : navigation, rechercher

Mise à jour

2.0.5 vers 2.2.2

Mise à jour des packages:

yum update
...

...
Complete!

Arrêt des services Zabbix server, Zabbix agent ainsi que mysql pour sauvegarder le tout à froid :

service zabbix_agentd stop
service zabbix_server stop
service mysqld stop

Sauvegarde des fichiers (base, init script, binaires, front-end, config apache et config Zabbix) :

tar -czf zabbix-backup-$(date +%Y%m%d-%H%M).tgz /var/lib/mysql/* /etc/httpd/con* /usr/local/sbin/zabbix_* /etc/init.d/zabbix_* /var/www/html/* /usr/local/etc/zabbix_*
ls -l zabbix-backup-20140322-2240.tgz
-rw-r--r-- 1 root root 956078659 Mar 22 22:53 zabbix-backup-20140322-2240.tgz

Téléchargement et décompression de Zabbix 2.2.2 :

wget http://freefr.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz
tar -xzf zabbix-2.2.2.tar.gz
cd zabbix-2.2.2

Configurer et compiler :

./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
make install

Le fichier de configuration reste toujours aussi simple :

grep -Ev "^(#|$)" /usr/local/etc/zabbix_server.conf
SourceIP=192.168.0.102
LogFile=/var/log/zabbix/zabbix_server.log
DBName=zabbix
DBUser=root
DBPassword=sa

Mettre à jour le front-end :

rm -rf /var/www/html/zabbix/*
cp -a frontends/php/* /var/www/html/zabbix/
chown -Rh apache:apache /var/www/html/zabbix

Lancer Zabbix :

service mysqld start
service zabbix_agentd start
service zabbix_server start

Donc maintenant c'est la mise à jour des schéma est faite pas le daemon:

 19669:20140322:234750.798 using configuration file: /usr/local/etc/zabbix_server.conf
 19669:20140322:234750.800 current database version (mandatory/optional): 02010013/02010013
 19669:20140322:234750.800 required mandatory version: 02020000
 19669:20140322:234750.800 starting automatic database upgrade
 19669:20140322:234750.801 [Z3005] query failed: [1091] Can't DROP 'httptest_2'; check that column/key exists [drop index httptest_2 on httptest]
 19669:20140322:234750.801 database upgrade failed

Hummmm, j'ai donc créé un index bidon nommé httptest_2 :

mysql> CREATE INDEX httptest_2 ON httptest (name(10));

 19723:20140322:235803.880 starting automatic database upgrade
 19723:20140322:235803.997 completed 0% of database upgrade
 19723:20140322:235804.118 completed 1% of database upgrade
 19723:20140322:235804.272 completed 2% of database upgrade
 19723:20140322:235804.538 completed 3% of database upgrade
...
 19723:20140322:235932.600 database upgrade fully completed

Bravo à l'équipe pour permettre une mise à jour aussi facile !

Il est toujours bon de refaire une sauvegarde :

service zabbix_agentd stop
service zabbix_server stop
service mysqld stop
tar -czf zabbix-backup-$(date +%Y%m%d-%H%M).tgz /var/lib/mysql/* /etc/httpd/con* /usr/local/sbin/zabbix_* /etc/init.d/zabbix_* /var/www/html/* /usr/local/etc/zabbix_*
service mysqld start
service zabbix_agentd start
service zabbix_server start


2.0.3 vers 2.0.5

Mise à jour de CentOS 5.8 -> 5.9 :

yum update
...
Install       5 Package(s)
Upgrade     138 Package(s)
Remove        2 Package(s)
Reinstall     0 Package(s)
Downgrade     0 Package(s)
...
Complete!

Arrêt des services Zabbix server, Zabbix agent ainsi que mysql pour sauvegarder le tout à froid :

service zabbix_agentd stop
service zabbix_server stop
service mysqld stop

Sauvegarde des fichiers (base, init script, binaires, front-end, config apache et config Zabbix) :

tar -czf zabbix-backup-$(date +%Y%m%d-%H%M).tgz /var/lib/mysql/* /etc/httpd/con* /usr/local/sbin/zabbix_* /etc/init.d/zabbix_* /var/www/html/* /usr/local/etc/zabbix_*
ls -l zabbix-backup-20130221-1103.tgz
-rw-r--r-- 1 root root 753746947 Feb 21 11:08 zabbix-backup-20130221-1103.tgz

Téléchargement et décompression de Zabbix 2.0.3 :

wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.5/zabbix-2.0.5.tar.gz/download
tar -xzf zabbix-2.0.5.tar.gz
cd zabbix-2.0.5

Configurer et compiler :

./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
make install

Le fichier de configuration reste toujours aussi simple :

grep -Ev "^(#|$)" /usr/local/etc/zabbix_server.conf
SourceIP=192.168.0.102
LogFile=/var/log/zabbix/zabbix_server.log
DBName=zabbix
DBUser=root
DBPassword=sa

Mettre à jour le front-end :

rm -rf /var/www/html/zabbix/*
cp -a frontends/php/* /var/www/html/zabbix/
chown -Rh apache:apache /var/www/html/zabbix

Lancer Zabbix :

service mysqld start
service zabbix_agentd start
service zabbix_server start

Regardez les log et le portail pour voir si tout c'est bien passé !

Il est toujours bon de refaire une sauvegarde :

service zabbix_agentd stop
service zabbix_server stop
service mysqld stop
tar -czf zabbix-backup-$(date +%Y%m%d-%H%M).tgz /var/lib/mysql/* /etc/httpd/con* /usr/local/sbin/zabbix_* /etc/init.d/zabbix_* /var/www/html/* /usr/local/etc/zabbix_*
service mysqld start
service zabbix_agentd start
service zabbix_server start

1.8.3 vers 2.0.3

Mise à jour de Zabbix sous CentOS 5.8.

Mise à jour de CentOS 5.7 -> 5.8 :

yum update
...
Install       4 Package(s)
Upgrade     171 Package(s)
Remove        1 Package(s)
Reinstall     0 Package(s)
Downgrade     0 Package(s)
...
Complete!

Arrêt des services Zabbix server, Zabbix agent ainsi que mysql pour sauvegarder le tout à froid :

service zabbix_agentd stop
service zabbix_server stop
service mysqld stop

Sauvegarde des fichiers (base, init script, binaires, front-end, config apache et config Zabbix) :

tar -czvf zabbix-backup-$(date +%Y%m%d-%H%M).tgz /var/lib/mysql/* /etc/httpd/con* /etc/zabbix/* /usr/local/sbin/zabbix_* /etc/init.d/zabbix_* /var/www/html/*
ls -lh zabbix-backup-*
-rw-r--r-- 1 root root 545M Oct 19 14:59 zabbix-backup-20121019-1457.tgz

Téléchargement et décompression de Zabbix 2.0.3 :

[root@supervisor ~]# wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.3/zabbix-2.0.3.tar.gz/download
[root@supervisor ~]# tar -xzvf zabbix-2.0.3.tar.gz
[root@supervisor ~]# cd zabbix-2.0.3

Zabbix installe maintenant ses fichiers dans /usr/local. Je vais laisser ce nouveau et déplacer mes fichiers de configuration.

./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
make install

Modification du fichier de configuration :

[root@supervisor zabbix-2.0.3]# grep -Ev "^(#|$)" /usr/local/etc/zabbix_server.conf
SourceIP=192.168.0.102
LogFile=/var/log/zabbix/zabbix_server.log
DBName=zabbix
DBUser=root
DBPassword=sa

Mise à jour de la base :

[root@supervisor mysql]# service mysqld start
[root@supervisor mysql]# ./upgrade -uroot -psa -Dzabbix
Patching the database
ERROR 1091 (42000) at line 140: Can't DROP 'escalations_2'; check that column/key exists
Failed to patch Zabbix database. Restore from backup
###
# Comment out the drop command in patch.sql
###
[root@supervisor mysql]# service mysqld stop
Stopping MySQL:                                            [  OK  ]
[root@supervisor mysql]# tar -xzvf /root/zabbix-backup-20121019-1457.tgz -C / var/lib/mysql
[root@supervisor mysql]# service mysqld start
[root@supervisor mysql]# ./upgrade -uroot -psa -Dzabbix

Patching the database
 ... patching of the database took 0:05:13
bash < 4.1 detected
Checking for 'Disabled' user group... found, not doing anything.
Checking for 'Debug' user group... not found, adding.
Checking for hosts not belonging to any group... not found any
 ... checking for hosts not belonging to any group took 0:00:00

Mettre à jour le front-end :

rm -rf /var/www/html/zabbix/*
cd frontends/php
cp -a . /var/www/html/zabbix
chown -Rh apache:apache /var/www/html/zabbix

Lancer Zabbix :

service zabbix_agentd start
service zabbix_server start

Regardez les log et le portail pour voir si tout c'est bien passé !

Zabbix-screenshot-update-2.0.3.png

Il est toujours bon de refaire une sauvegarde :

tar -czf zabbix-backup-$(date +%Y%m%d-%H%M).tgz /var/lib/mysql/* /etc/httpd/con* /usr/local/etc/zabbix_* /usr/local/sbin/zabbix_* /etc/init.d/zabbix_* /var/www/html/*

1.6.2 vers 1.8.3

Mettre à jour ZABBIX 1.6.2 vers ZABBIX 1.8.3 sous CentOS 5.5. Il s'agit de mettre à jour la version installée en 2009.

Mise à jour de CentOS :

yum update

Arrêt des services Zabbix server, Zabbix agent ainsi que mysql pour sauvegarder le tout à froid :

service zabbix_agentd stop
service zabbix_server stop
service mysqld stop

Sauvegarde des fichiers (base, init script, binaires, front-end, config apache et config Zabbix) :

tar -czvf zabbix-backup-$(date +%Y%m%d-%H%M).tgz /var/lib/mysql/* /etc/httpd/con* /etc/zabbix/* /usr/local/sbin/zabbix_* /etc/init.d/zabbix_* /var/www/html/*
ls -lh zabbix-backup-*
-rw-r--r--  1 root root 2.0G Aug 31 15:34 zabbix-backup-20100831-1505.tgz

Téléchargement et décompression de Zabbix 1.8.3 :

wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/1.8.3/zabbix-1.8.3.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1292271719&use_mirror=freefr
tar -xzvf zabbix-1.8.3.tar.gz
cd zabbix-1.8.3

Compiler et installer les binaires du serveur et de l'agent Zabbix :

./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
make install

Suppression des index :

alter table dhosts drop index dhosts_1;
alter table dservices drop index dservices_1;
alter table httptest drop index httptest_2;
alter table httptest drop index httptest_3;
alter table history_log drop index history_log_2;
alter table history_text drop index history_text_2;
alter table actions drop index actions_1;
alter table escalations drop index escalations_2;
alter table graphs_items drop index graphs_items_1;
alter table graphs_items drop index graphs_items_2;
alter table services drop index services_1;

Mise à jour de la base :

service mysqld start
mysql -uroot -proot -Dzabbix <  upgrades/dbpatches/1.8/mysql/patch.sql

Prendre le nouveau fichier de configuration et remettre les anciennes valeurs

cp misc/conf/zabbix_server.conf /etc/zabbix/
vim  /etc/zabbix/zabbix_server.conf

Mettre à jour le front-end :

rm -rf /var/www/html/zabbix/*
cd frontends/php
cp -a . /var/www/html/zabbix

Lancer Zabbix :

service zabbix_agentd start
service zabbix_server start

Regardez les log et le portail pour voir si tout c'est bien passé !

Convertir la base de données en UTF8

Après avoir sauvegardé votre base :

for table in $(mysql -uroot -proot -Dzabbix -N --batch -e "show tables;"); do
mysql -uroot -psa -Dzabbix -N --batch -e "ALTER TABLE $table CONVERT TO CHARSET utf8 COLLATE utf8_unicode_ci"
done