Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
tuto:monitoring:installer_le_serveur_zabbix_sur_centos [13/06/2012 22:44] dani [Configuration Zabbix] |
tuto:monitoring:installer_le_serveur_zabbix_sur_centos [04/12/2013 14:39] dani [SELinux] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Installation d'un serveur CentOS ====== | + | ====== Installation d'un serveur |
- | Cette page est une prise de notes pour l' | + | Cette page est une prise de notes pour l' |
====== Installation de Zabbix ====== | ====== Installation de Zabbix ====== | ||
< | < | ||
- | yum --enablerepo=fws install zabbix-server-mysql zabbix-agent zabbix-web-mysql mysql-server httpd php-gd php-mysql php-bcmath mod_ssl --exclude=*i386 | + | yum --enablerepo=fws install zabbix-server-mysql zabbix-agent |
+ | | ||
+ | | ||
</ | </ | ||
- | <note tip>le --exclude=*i386 est seulement valable si le serveur est en 64bits</ | ||
- | <note tip> | ||
- | |||
- | <code bash> | ||
- | yum --enablerepo=fws-testing install zabbix-server-mysql zabbix-agent zabbix-web-mysql mysql-server httpd php-gd php-mysql php-bcmath mod_ssl | ||
- | </ | ||
====== Configuration mysql ====== | ====== Configuration mysql ====== | ||
Ligne 25: | Ligne 21: | ||
===== Configuration my.cnf ===== | ===== Configuration my.cnf ===== | ||
+ | |||
Et y placer les lignes suivantes (à ajuster en fonction des performances du serveur) | Et y placer les lignes suivantes (à ajuster en fonction des performances du serveur) | ||
+ | |||
+ | |||
< | < | ||
[mysqld] | [mysqld] | ||
Ligne 35: | Ligne 34: | ||
innodb_data_file_path = ibdata1: | innodb_data_file_path = ibdata1: | ||
innodb_log_group_home_dir = / | innodb_log_group_home_dir = / | ||
- | innodb_log_arch_dir = / | + | innodb_buffer_pool_size = 1G |
- | innodb_buffer_pool_size = 256M | + | |
innodb_additional_mem_pool_size = 128M | innodb_additional_mem_pool_size = 128M | ||
- | innodb_log_file_size = 64M | + | innodb_log_file_size = 300M |
innodb_log_buffer_size = 8M | innodb_log_buffer_size = 8M | ||
innodb_flush_log_at_trx_commit = 2 | innodb_flush_log_at_trx_commit = 2 | ||
Ligne 72: | Ligne 70: | ||
query_cache_type = 1 | query_cache_type = 1 | ||
#skip-bdb | #skip-bdb | ||
- | |||
[mysqldump] | [mysqldump] | ||
Ligne 86: | Ligne 83: | ||
===== Définition d'un mot de passe root ===== | ===== Définition d'un mot de passe root ===== | ||
+ | |||
< | < | ||
- | / | + | / |
+ | / | ||
chmod 600 ~/.my.pw | chmod 600 ~/.my.pw | ||
/ | / | ||
- | echo ' | + | echo ' |
- | echo " | + | echo " |
</ | </ | ||
===== Création d'une base de donnée ===== | ===== Création d'une base de donnée ===== | ||
+ | |||
< | < | ||
- | / | + | / |
chmod 600 / | chmod 600 / | ||
mysql -e ' | mysql -e ' | ||
mysql -e "grant all privileges on zabbixdb.* to ' | mysql -e "grant all privileges on zabbixdb.* to ' | ||
mysql -e 'flush privileges' | mysql -e 'flush privileges' | ||
+ | mysql zabbixdb </ | ||
+ | mysql zabbixdb </ | ||
+ | mysql zabbixdb </ | ||
</ | </ | ||
Ligne 181: | Ligne 184: | ||
==== Droits sudoers ==== | ==== Droits sudoers ==== | ||
+ | |||
+ | |||
< | < | ||
visudo | visudo | ||
</ | </ | ||
+ | |||
+ | |||
Puis ajouter les lignes suivantes: | Puis ajouter les lignes suivantes: | ||
+ | |||
+ | |||
< | < | ||
Cmnd_Alias | Cmnd_Alias | ||
+ | Defaults: | ||
+ | Defaults: | ||
zabbix | zabbix | ||
- | </ | ||
- | Et commentez la ligne suivante: | ||
- | < | ||
- | Defaults requiretty | ||
</ | </ | ||
Ligne 275: | Ligne 282: | ||
==== SELinux ==== | ==== SELinux ==== | ||
- | Sous CentOS 6, la politique SELinux par défaut va empêcher Zabbix d' | ||
- | < | + | |
- | cat <<' | + | Sous CentOS 6, la politique SELinux par défaut va empêcher Zabbix d' |
- | module | + | |
+ | |||
+ | < | ||
+ | cat <<' | ||
+ | module | ||
require { | require { | ||
type var_lib_t; | type var_lib_t; | ||
type ping_t; | type ping_t; | ||
+ | type initrc_t; | ||
+ | type unlabeled_t; | ||
class file { read getattr }; | class file { read getattr }; | ||
+ | class sem { unix_read unix_write associate destroy }; | ||
+ | class shm { unix_read unix_write associate destroy }; | ||
+ | class tcp_socket { create getattr accept shutdown read }; | ||
+ | class netlink_route_socket { create bind }; | ||
} | } | ||
# | # | ||
allow ping_t var_lib_t: | allow ping_t var_lib_t: | ||
+ | allow initrc_t unlabeled_t: | ||
+ | allow initrc_t unlabeled_t: | ||
+ | allow unlabeled_t self: | ||
+ | allow unlabeled_t self: | ||
EOF | EOF | ||
- | checkmodule -M -m -o zabbix.mod zabbix.te | + | checkmodule -M -m -o zabbix_server.mod zabbix_server.te |
- | semodule_package -o zabbix.pp -m zabbix.mod | + | semodule_package -o zabbix_server.pp -m zabbix_server.mod |
- | semodule -i zabbix.pp | + | cp zabbix_server.pp / |
+ | semodule -i zabbix_server.pp | ||
</ | </ | ||
+ | <code bash> | ||
+ | cat <<' | ||
+ | module zabbix_agent 1.0; | ||
+ | |||
+ | require { | ||
+ | type unlabeled_t; | ||
+ | type root_t; | ||
+ | type proc_t; | ||
+ | type var_t; | ||
+ | type var_log_t; | ||
+ | type device_t; | ||
+ | type fs_t; | ||
+ | type sysctl_t; | ||
+ | class process { fork sigchld setpgid }; | ||
+ | class netlink_route_socket { getattr write nlmsg_read read }; | ||
+ | class dir { read search getattr append }; | ||
+ | class tcp_socket write; | ||
+ | class fifo_file read; | ||
+ | class filesystem getattr; | ||
+ | } | ||
+ | |||
+ | # | ||
+ | allow unlabeled_t root_t:dir search; | ||
+ | allow unlabeled_t proc_t:dir search; | ||
+ | allow unlabeled_t self: | ||
+ | allow unlabeled_t self: | ||
+ | allow unlabeled_t self: | ||
+ | allow unlabeled_t var_t:dir search; | ||
+ | allow unlabeled_t var_log_t: | ||
+ | allow unlabeled_t self: | ||
+ | allow unlabeled_t device_t: | ||
+ | allow unlabeled_t fs_t: | ||
+ | allow unlabeled_t sysctl_t: | ||
+ | EOF | ||
+ | checkmodule -M -m -o zabbix_agent.mod zabbix_agent.te | ||
+ | semodule_package -o zabbix_agent.pp -m zabbix_agent.mod | ||
+ | cp zabbix_agent.pp / | ||
+ | semodule -i zabbix_agent.pp | ||
+ | </ | ||
+ | |||
+ | |||
+ | Il faut aussi activer un booléen SELinux: | ||
+ | |||
+ | |||
+ | < | ||
+ | setsebool -P domain_kernel_load_modules=on | ||
+ | </ | ||
==== Agent ==== | ==== Agent ==== | ||
Sauvegarde de la config par défaut: | Sauvegarde de la config par défaut: | ||
Ligne 315: | Ligne 383: | ||
LogFileSize=0 | LogFileSize=0 | ||
Timeout=6 | Timeout=6 | ||
- | UserParameter=cpu.number, | ||
- | UserParameter=vm.memory.size.used, | ||
- | UserParameter=vm.memory.size.pused, | ||
- | UserParameter=system.swap.size.used, | ||
</ | </ | ||
Ligne 334: | Ligne 398: | ||
* On commente les lignes ''< | * On commente les lignes ''< | ||
* On rajoute ''</ | * On rajoute ''</ | ||
+ | * On rajoute la directive " | ||
+ | |||
+ | Il faut aussi éditer le fichier **/ | ||
+ | |||
Il faut maintenant mettre en place la configuration pour Zabbix: | Il faut maintenant mettre en place la configuration pour Zabbix: |