最近公司任务就是安装CentOS6.5,然后在上面搭建Zabbix监控服务。因为之前只是粗略学过一些Linux方面的知识(对不起老师- -),所以都只能靠度娘救急,然后就发生了许许多多的常见和不常见的错误,特此记下,以做警示。以下安装步骤以及错误分析均来源于网络博客,百度知道等,本人只做收集与整理。
一、Zabbix安装步骤:
参考:
1.安装开发软件包
yum -y groupinstall "Development Tools"
2.安装所需的依赖包
yum -y install httpd mysql mysql-server mysql_devel php php-mysql php-common php-mbstring php-gd php-odbc php-pear curl curl-devel net-snmp net-snmp-devel perl-DBI php-xml ntpdate php- bcmath
3.同步服务端的时间,保持所有服务器时间一致避免出现时间不同导致的不可用的监控数据
ntpdate pool.ntp.rog
4.创建zabbix服务运行所需要的用户和组
groupadd -g 201 zabbix
useradd -g zabbix -u 201 -m zabbix
5.初始化mysql服务器
/etc/init.d/mysqld start
6.创建zabbix运行所需要的数据库及用户权限
mysqladmin -uroot -h127.0.0.1 password "123456"
mysql -uroot -h127.0.0.1 -p
create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbixuser@'%' identified by 'zabbixpass';
flush privileges;
7.下载解压zabbix(下载地址:http://down.51cto.com/data/1106719,自行下载zabbix放到/usr/src/进行下述操作)
cd /usr/src/
tar xf zabbix-2.2.2.tar.gz
8.将zabbix的初始数据导入到数据库中
mysql -uroot -p123456 #进入mysql
use zabbix #进入数据库
source /usr/local/src/zabbix-2.2.2/database/mysql/schema.sql
source /usr/local/src/zabbix-2.2.2/database/mysql/images.sql
source /usr/local/src/zabbix-2.2.6/database/mysql/data.sql
9.编译安装zabbix
./configure –enable-server –enable-agent –with-net-snmp –with-libcurl –with-mysql
#–sysconfdir=/etc/zabbix/会指定篇配置文件目录,如果不写会默认在/usr/local/etc下
make && make install
10.拷贝zabbixserver端跟agent端的启动脚本,并设置执行权限
cp misc/init.d/tru64/zabbix_agentd /etc/init.d/
cp misc/init.d/tru64/zabbix_server /etc/init.d/
chmod +x /etc/init.d/zabbix_*
11.将zabbix的页面文件copy到指定目录(跟apache配置的相同即可)
mkdir /var/www/html/zabbix
cp -a frontends/php/* /var/www/html/zabbix/
chown -R apache.apache /var/www/html/zabbix/
12.配置php文件(/etc/php.ini),适应zabbix安装所需的参数
vim /etc/php.ini
date.timezone = Asia/Shanghai
max_execution_time = 300
max_input_time = 300
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 2
13.(可选)配置apache文件,定义安装访问zabbix的虚拟主机
vim /etc/httpd/conf/httpd.conf
ServerName 127.0.0.1
<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName 192.168.106.1
</VirtualHost>
14.配置zabbix server端的文件,定义数据库的IP、用户名、密码
vim /etc/zabbix/zabbix_server.conf
DBHost=127.0.0.1
DBName= zabbix
DBUser=zabbixuser
DBPassword=zabbixpass
StartPollers=30 #开启多线程数,一般不要超过30个
StartTrappers=20 #trapper线程数
StartPingers=10 #fping线程数
StartDiscoverers=120
MaxHousekeeperDelete=5000
CacheSize=1024M #用来保存监控数据的缓存数,根据监控主机的数量适当调整
StartDBSyncers=8 #数据库同步时间
HistoryCacheSize=1024M
TrendCacheSize=128M #总趋势缓存大小
HistoryTextCacheSize=512M
AlertScriptsPath=/etc/zabbix/alertscripts
LogSlowQueries=1000
15.启动apache服务跟zabbix服务
/etc/init.d/httpd start
/etc/init.d/zabbix_server start
16.访问安装界面按照界面提示一步一步的完成安装
http://localhost/zabbix/setup.php 接下来的图形安装没什么难度,就是下一步下一步就行了,可以去上面给出的参考网址查看详细,下面主要是安装过程中的一些错误和解决。
二、错误解决:
1.安装zabbix时发生的错误:
①错误:编译zabbix时总是提示gcc not find之类
解决:安装development tools,命令:
yum -y groupinstall "Delvelopment Tools"
②错误:编译zabbix时提示mysqlclient not find之类
解决:安装mysql-devel,命令:
yum -y install mysql-devel
③错误:输入127.0.0.1/zabbix/setup.php提示403forbidden
解决:关闭Selinux,使用setenforce 0命令,或者vim /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,再 重启linux即可。
2.使用过程中发生的错误:
①错误:zabbix运行状态显示no,未运行
解决:首先检查是否zabbix服务未启动,使用/etc/init.d/zabbix_server start启动zabbix服务;
如果还是错误, vim/var/www/html/zabbix/conf/zabbix.conf.php,将配置文件中的$ZBX_SERVER字段为服务器的IP地 址,默认是127.0.0.1,然后重启zabbix_server服务;
②错误:zabbix出现zabbix agent unreachable警告。
解决:vim /usr/local/etc/zabbix_agentd.conf,(看个人情况选择路径)查看Hostname与组态--主机--主机名称是否相同,如果不同更 改主机名称,将Server改为ip。
③错误:zabbix出现Lack of free swap space警告
解决:1.检查 Swap 空间,
命令:free -m
如果返回的信息概要是空的,则表示 Swap 文件不存在。
2.检查文件系统,
命令df-hal
检查返回的信息,还剩余足够的硬盘空间即可。
3.创建并允许 Swap 文件,
命令dd if=/dev/zero of=/swapfile bs=1024 count=2048000
参数解读: if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file > of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file > bs=bytes:同时设置读入/输出的块大小为bytes个字节 count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数。
4.格式化并激活 Swap 文件,
命令:格式化Swap: mkswap /swapfile
激活Swap: swapon /swapfile
查看Swap: swapon -s
修改 fstab 配置: vim /etc/fstab ,在最后加上/swapfile swap swap defaults 0 0
授权: chown root:root /swapfile
chmod 0600 /swapfile
④错误:zabbix自定义key显示未启用,log中显示bad interpreter错误
解决:在windows用建立的sh文件在linux中运行时,因为window在每行后加入隐藏字符^M,所以当linux编译时 由于无法编译^M而导 致bad interpreter错误,使用 vi -b <file name> 找出^M 然后删除即可。