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 [04/07/2012 15:11] dani [Définition d'un mot de passe root] |
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 ====== | ||
Ligne 10: | Ligne 10: | ||
</ | </ | ||
- | <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 41: | 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 = 1G | ||
innodb_additional_mem_pool_size = 128M | innodb_additional_mem_pool_size = 128M | ||
Ligne 103: | Ligne 95: | ||
===== 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 188: | 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 282: | 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 322: | 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 341: | 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: |