1、系统环境
[root@crazy-acong ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [root@crazy-acong ~]# uname -a Linux crazy-acong 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux [root@crazy-acong ~]# ifconfig eth0 | grep "inet addr" | awk -F : '{print $2}'| awk '{print $1}' 192.168.1.105
2、配置时间自动同步
[root@crazy-acong ~]# crontab -l */5 * * * * /usr/sbin/ntpdate pool.ntp.org
3、Zabbix-Server服务端安装
这里我们采用 rpm 包进行安装,如果想使用源码包安装可以参考官方文档 https://www.zabbix.com/documentation/2.2/manual/installation/install
3.1 安装Zabbix官方源和epel源
[root@crazy-acong ~]# rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm [root@crazy-acong ~]# rpm -ivh http://mirrors.zju.edu.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm
3.2 yum 安装 zabbix 服务端
# yum 源在国外,安装的时候可能会比较慢 [root@crazy-acong ~]# yum -y install zabbix zabbix-get zabbix-server zabbix-web-mysql zabbix-web # zabbix 服务端也需要监控,也需要装 zabbix-agent [root@crazy-acong ~]# yum -y install zabbix-agent
3.2 安装配置 mysql
# 安装 [root@crazy-acong ~]# yum install -y mysql-server mysql mysql-devel # 修改 mysql 配置文件 [root@crazy-acong ~]# cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # 添加下面两行 character-set-server=utf8 # 设置字符集为 utf8 innodb_file_per_table=1 # 让 innodb 的每个表文件单独存储 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid # 启动 mysql [root@crazy-acong ~]# /etc/init.d/mysqld start [root@crazy-acong ~]# chkconfig mysqld on [root@crazy-acong ~]# netstat -lnpt | grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1070/mysqld # 设置mysql root用户的登录密码 [root@crazy-acong ~]# mysqladmin -uroot password admin
3.3 创建 zabbix 的数据库
[root@crazy-acong ~]# mysql -uroot -padmin # 注意这里创建 zabbix 数据库的时候一定要设置字符集为 utf8,否则web界面会出现乱码 mysql> create database zabbix character set utf8; mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; mysql> flush privileges;
3.4 导入 zabbix-server 数据库
[root@crazy-acong ~]# mysql -uzabbix -pzabbix mysql> use zabbix; # 先自行查看一下是否存下面需要导入的文件,不同版本编号不一样 mysql> source /usr/share/doc/zabbix-server-mysql-2.2.17/create/schema.sql; # 如果安装的是 zabbix-proxy,只需要导入 schema.sql 即可,下面的无需导入,否则 zabbix-proxy 无法正常工作 mysql> source /usr/share/doc/zabbix-server-mysql-2.2.17/create/images.sql; mysql> source /usr/share/doc/zabbix-server-mysql-2.2.17/create/data.sql; # 自行查看表结构 mysql> show tables;
3.5 配置 zabbix_server.conf
# 默认配置 [root@crazy-acong ~]# egrep -v "^#|^$" /etc/zabbix/zabbix_server.conf LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid DBName=zabbix DBUser=zabbix DBSocket=/var/lib/mysql/mysql.sock SNMPTrapperFile=/var/log/snmptt/snmptt.log AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts
# 修改完之后的配置
[root@crazy-acong ~]# cat /etc/zabbix/zabbix_server.conf LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid DBName=zabbix DBUser=zabbix DBSocket=/var/lib/mysql/mysql.sock SNMPTrapperFile=/var/log/snmptt/snmptt.log AlertScriptsPath=/etc/zabbix/alertscripts ExternalScripts=/etc/zabbix/externalscripts # 新增下面两条配置,用于设置连接数据的ip、端口、 密码 DBHost=localhost DBPort=3306 DBPassword=zabbix # 下面部分为性能参数,根据实际情况进行调整,默认只需要上面的配置项即可运行 StartPollers=5 StartIPMIPollers=10 StartPollersUnreachable=10 StartTrappers=10 StartPingers=10 StartDiscoverers=10 VMwareFrequency=60 VMwareCacheSize=8M ListenIP=127.0.0.1 MaxHousekeeperDelete=500 CacheSize=256M StartDBSyncers=40 HistoryCacheSize=128M TrendCacheSize=128M HistoryTextCacheSize=128M ValueCacheSize=128M Timeout=30 TrapperTimeout=300 UnreachablePeriod=45 UnavailableDelay=60 UnreachableDelay=15 FpingLocation=/usr/sbin/fping LogSlowQueries=10000 StartProxyPollers=50 ProxyConfigFrequency=3600
创建配置文件中所需的目录
[root@crazy-acong ~]# mkdir /etc/zabbix/alertscripts /etc/zabbix/externalscripts
3.6 启动 zabbix-server 服务
[root@crazy-acong ~]# /etc/init.d/zabbix-server start Starting Zabbix server: [确定] [root@crazy-acong ~]# netstat -lnpt | grep zabbix tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 1307/zabbix_server tcp 0 0 :::10051 :::* LISTEN 1307/zabbix_server [root@crazy-acong ~]# chkconfig zabbix-server on
3.7 启动 httpd 服务
[root@crazy-acong ~]# /etc/init.d/httpd start
[root@crazy-acong ~]# netstat -lnpt | grep httpd tcp 0 0 :::80 :::* LISTEN 1371/httpd [root@crazy-acong ~]# chkconfig httpd on
3.8 防火墙配置
[root@crazy-acong ~]# vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
# 10050 是 Agetn 的端口,Agent 采用被动方式,Server 主动连接 Agent 的 10050 端口
# 10051 是 Server 的端口,Agent 采用主动或 Trapper 方式,会连接 Server 的10051 端口 [root@crazy-acong ~]# /etc/init.d/iptables restart
3.9 修改 http 配置文件
[root@crazy-acong ~]# cat /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 Order allow,deny Allow from all <IfModule mod_php5.c> 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 Asia/Shanghai </IfModule> </Directory> <Directory "/usr/share/zabbix/conf"> Order deny,allow Deny from all <files *.php> Order deny,allow Deny from all </files> </Directory> <Directory "/usr/share/zabbix/api"> Order deny,allow Deny from all <files *.php> Order deny,allow Deny from all </files> </Directory> <Directory "/usr/share/zabbix/include"> Order deny,allow Deny from all <files *.php> Order deny,allow Deny from all </files> </Directory> <Directory "/usr/share/zabbix/include/classes"> Order deny,allow Deny from all <files *.php> Order deny,allow Deny from all </files> </Directory>
3.10 重启 httpd 服务
[root@crazy-acong ~]# /etc/init.d/httpd restart
3.11 Web 界面配置
在浏览器中打开链接 http://ip/zabbix, 然后按照下面截图流程操作