关于Zabbix
Zabbix是监控服务器、应用程序、网络及网络设备等的可用性及性能的开源的企业级监控软件。 即Zabbix具备了运行监控/资源监控/应用软件监控功能。
Zabbix虽然是开源的监控软件,但是拥有服务器监控所需的监视功能、故障检测功能及告警等丰富的功能,并且提供Web界面的管理页面,使配置过程非常简单。
Zabbix是拉托维尼亚的Zabbix SIA公司的注册商标,目前已他们为中心进行着Zabbix的开发和功能改进。
安装Zabbix3.0
Zabbix官网:下载Zabbix
配置环境
- 系统:CentOS7
- Web:Apache2.4.6
- 数据库:Mariadb5.5.41
- PHP:5.5.6
- Zabbix Server:3.0
- Zabbix Agent:3.0
安装PHP
配置yum源
# rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
确认安装的php版本
# yum list --enablerepo=remi --enablerepo=remi-php56 | grep php
安装PHP5.6
Zabbix需要一些指定PHP模块,在这里指定了常用的所有模块。Zabbix需要的PHP模块查看官网 Zabbix3.0官方文档
# yum install --enablerepo=remi --enablerepo=remi-php56 php php-opcache php-pecl-apcu php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-pdo php-pear php-fpm php-cli php-xml php-bcmath php-process php-gd php-common
查看PHP版本
# php -v PHP 5.6.6 (cli) (built: Feb 19 2015 10:19:37) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2015, by Zend Technologies with Xdebug v2.3.1, Copyright (c) 2002-2015, by Derick Rethans
安装Mariadb
安装MariaDB并查看其版本。
# yum -y install mariadb mariadb-server # mysql --version mysql Ver 15.1 Distrib 5.5.41-MariaDB, for Linux (x86_64) using readline 5.1
启动MySQL及配置开机启动
systemctl start mariadb systemctl enable mariadb systemctl list-unit-files | grep mariadb mariadb.service enabled
安装Apache
安装Apache并查看其版本。
# yum -y install httpd # httpd -v Server version: Apache/2.4.6 (CentOS) Server built: Jan 12 2015 13:22:31
修改httpd.conf
# vi /etc/httpd/conf/httpd.conf
ServerName <YourDomainName>
启动Apache及配置开机启动
# systemctl start httpd # systemctl enable httpd # systemctl list-unit-files | grep httpd httpd.service enabled
安装Zabbix3.0
安装Zabbix Server
# 创建zabbix用户 # groupadd zabbix # useradd -g zabbix zabbix # passwd zabbix # cd /usr/local/src # yum -y install mysql-devel libxml2-devel net-snmp-devel libcurl-devel # wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.1/zabbix-3.0.1.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1459235534&use_mirror=iweb # tar -zxvf zabbix-3.0.1.tar.gz # cd zabbix-3.0.1 # ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 # make install
创建Zabbix数据库
# mysql -uroot -p Enter password: MariaDB [(none)]> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin; MariaDB [(none)]> GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY '<password>'; MariaDB [(none)]> exit
导入数据
# cd /usr/local/src/zabbix-3.0.1/database/mysql # mysql -uzabbix -p<password> zabbix < schema.sql # mysql -uzabbix -p<password> zabbix < images.sql # mysql -uzabbix -p<password> zabbix < data.sql
修改zabbix_server.conf
DBPassword是必须配置的,数据库名及用户使用默认的话,无需配置。
- DBName:数据库名(默认是zabbix)
- DBUser:连接数据库的用户名(默认是zabbix)
- DBPassword:连接数据库的密码
# vim /usr/local/etc/zabbix_server.conf DBName=zabbix DBUser=zabbix DBPassword=<password>
安装Zabbix Web
# mkdir /usr/www/html/zabbix # cd /usr/local/src/zabbix-3.0.1/frontends/php # cp -a . /usr/www/html/zabbix # cd /usr/www/html/zabbix # locale/make_mo.sh
$ vim /etc/httpd/conf.d/zabbix.conf # # Zabbix monitoring system php web frontend # Alias /zabbix /usr/share/zabbix <Directory "/usr/share/zabbix"> Options FollowSymLinks AllowOverride None Require all granted php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 # php_value date.timezone Europe/Riga </Directory> <Directory "/usr/share/zabbix/conf"> Require all denied </Directory> <Directory "/usr/share/zabbix/include"> Require all denied </Directory>
配置文件路径
/usr/local/etc/zabbix_server.conf
启动Zabbix Server及配置开机启动
# cd /usr/local/src/zabbix-3.0.1/misc/init.d/fedora/core/ # cp -a * /etc/rc.d/init.d/ # /etc/rc.d/init.d/zabbix_server start #启动服务端 # /etc/rc.d/init.d/zabbix_agentd start #启动客户端
禁用IPv6(监控WINDOWS主机时需设置)
vi /etc/sysctl.conf #添加下面的行: net.ipv6.conf.all.disable_ipv6 =1 net.ipv6.conf.default.disable_ipv6 =1 #如果你想要为特定的网卡禁止IPv6,比如,对于enp0s3,添加下面的行。 #net.ipv6.conf.enp0s3.disable_ipv6 =1 #保存并退出文件。 #执行下面的命令来使设置生效。 sysctl -p
安装Zabbix Agent For Linux
#被监控端主机需安装 sudo wget http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-2.4.4-1.el7.x86_64.rpm sudo rpm -ivh ./zabbix-2.4.4-1.el7.x86_64.rpm sudo wget http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-agent-2.4.4-1.el7.x86_64.rpm sudo rpm -ivh ./zabbix-agent-2.4.4-1.el7.x86_64.rpm
启动Zabbix Agent及配置开机启动
因Zabbix Server及Zabbix Agent在同一台主机上,不配置zabbix_agentd.conf文件。
sudo systemctl restart zabbix-agent sudo systemctl enable zabbix-agent #sudo systemctl enable zabbix-agentd systemctl list-unit-files | grep zabbix-agent zabbix-agent.service enabled
安装Zabbix Agent For Windows
windows软件下载地址:
http://www.zabbix.com/download.php
#在windows控制台下执行以下命令: c:\zabbix-agent\bin\win64\zabbix_agentd.exe –c c:\zabbix-agent\conf\zabbix_agentd.conf -i 启动agent #在windows控制台下执行以下命令: c:\zabbix-agent\bin\win64\zabbix_agentd.exe --start #在windows控制台下执行命令services.msc查看zabbix agent服务是否启动
Web UI安装
访问如下IP以后,点击[Next]
- http://YourDomainName/zabbix
# vim /etc/php.ini post_max_size = 16M max_execution_time = 300 max_input_time = 300 date.timezone = Asia/Shanghai always_populate_raw_post_data = -1
确认环境没有问题以后,点击[Next]
输入连接数据库信息以后点击[Test connection]
- Database type:MySQL(选择数据库的类型)
- Database host:localhost(填写执行数据库的主机名或者IP)
- Database port:默认(3306)
- Database name:zabbix(创建Zabbix数据库时指定的名字)
- User:Zabbix数据库的用户名
- Password:Zabbix数据库的密码
点击[Next]
- Host:执行Zabbix Server主机名
- Port:Zabbix Server的端口
- Name:可选项
确认配置内容以后,点击[Next]
点击[Next]
下载配置文件,拷到服务器对应目录后,点击[Finish]
输入用户名及密码之后,点击[Sign in]
- Username:Admin(默认)
- Password:zabbix(默认)
中文支持
# vim /include/locales.inc.php 'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => true], #也就是把false改为true
图片不能显示中文设置
# vim /include/defines.inc.php # define('ZBX_FONT_NAME', 'msyh'); #修改第93行 # define('ZBX_GRAPH_FONT_NAME', 'msyh') #修改第45行 # 下载微软雅黑字体,改名为msyh.ttf 传入/home/www/zabbix/fonts
故障处理
zabbix.conf.php里的server写成ip地址
# vim /conf/zabbix.conf.php $ZBX_SERVER = '127.0.0.1';