CentOS 6.4搭建zabbix
系统环境:CentOS 6.4 64bit
Zabbix版本:zabbix 2.2.3
前提条件:已安装好LNMP环境
一、服务端:
1、 下载zabbix安装包zabbix-2.2.3.tar.gz并解压
2、 安装zabbix所需组件
yum install -y curl curl-devel net-snmp net-snmp-devel perl-DBI
3、 创建用户账号
Useradd -s /sbin/nologin zabbix
4、 创建zabbix数据库
#mysql -p`cat /data/save/mysql`
mysql>create database zabbix;
mysql>grant all on zabbix.* to zabbix@localhost identified by 'kogzabbix031';
mysql>use zabbix;
mysql>source /root/zabbix-2.2.3/database/mysql/schema.sql
mysql>source /root/zabbix-2.2.3/database/mysql/images.sql
mysql>source /root/zabbix-2.2.3/database/mysql/data.sql
mysql>exit
5、 编译安装zabbix,如果是客户端安装则选--enable-agent就行了
cd zabbix-2.2.3
./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
make install
6、 编辑配置文件
cp zabbix_server.conf zabbix_server.conf.bak
cat > zabbix_server.conf <<EOF
LogFile=/var/log/zabbix_server.log #定义日志目录文件
DebugLevel=3 #定义记录日志登记
DBHost=localhost #zabbix数据库主机
DBName=zabbix #zabbix数据库名称
DBUser=zabbix #zabbix数据库用户名
DBPassword=kogzabbix031 #zabbix数据库密码
StartPollers=30 #轮询的初始值(0-1000)
StartIPMIPollers=4 #IPMI轮询的初始值(0-1000)
StartPollersUnreachable=30 #轮询不可达的主机数(包括IPMI 0-1000)
StartTrappers=8 #捕获的初始值(0-1000)
StartPingers=4 #ping的初始值(0-1000)
StartDiscoverers=0 #自动发现的初始值(0-250)
CacheUpdateFrequency=300 #缓存更新的频率
StartDBSyncers=8 #数据库同步时间
TrendCacheSize=128M #总趋势缓存大小
LogSlowQueries=1000 #日志慢查询设定
FpingLocation=/usr/local/sbin/fping #fping命令位置,这里得先安装了fping才行
EOF
cat > zabbix_agentd.conf <<EOF
LogFile=/var/log/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=121.201.0.165_ZabbixServer
EOF
touch /var/log/zabbix_server.log
touch /var/log/zabbix_agentd.log
chmod 777 /var/log/zabbix_*
7、启动服务(server、agent)
cp /root/zabbix-2.2.3/misc/init.d/tru64/zabbix_server /etc/init.d/
cp /root/zabbix-2.2.3/misc/init.d/tru64/zabbix_agentd /etc/init.d/
如果zabbix不是安装在默认的/usr/local/zabbix位置,需要修改上面两个脚本内对应位置参数
chmod 755 /etc/init.d/zabbix_*
在此两文件头部#!/bin/bash下面添加两行:
#chkconfig: 35 95 95
#description:zabbix Agent server
添加到系统服务并设置开机启动
chkconfig --add zabbix_server
chkconfig --add zabbix_agentd
chkconfig --level 2345 zabbix_server on ( CentOS7: systemctl enable zabbix_server )
chkconfig --level 2345 zabbix_agentd on( CentOS7: systemctl enable zabbix_agentd )
启动服务
/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start
查看是否成功启动
ps aux|grep zabbix
netstat –nltp|grep 10050
netstat –nltp|grep 10051
8、 添加端口进防火墙允许客户端可以访问(貌似对自动注册主机有用)
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT
重启防火墙
/etc/init.d/iptables restart
9、 配置zabbix的web界面(nginx)
先把zabbix自带的web文件放到web目录下
/bin/cp -r /root/zabbix-2.2.3/frontends/php /usr/local/webserver/zabbix
然后建立nginx配置文件
cat /usr/local/webserver/nginx/conf/vhost/zabbix.conf <<EOF
server
{
listen 80;
server_name zabbix.kog.com;
index index.html index.htm index.php;
root /usr/local/webserver/;
#autoindex on;
charset utf-8;
location ~.*\.(swf|xml|mp3|png|jpg|gif|data)$ {
expires max;
}
location ~.*\.(css|js|mx)$ {
expires 96h;
}
location ~ /.svn/ {
deny all;
}
#expires off;
access_log off;
#access_log /var/log/zabbix.log ;
location ~ .*\.php$
{
include fcgi.conf;
fastcgi_pass 127.0.0.1:10080;
fastcgi_index index.php;
expires off;
#access_log off;
access_log /var/log/zabbix.log;
}
}
EOF
重载nginx配置文件
/root/nginx_reload
10、做host然后访问zabbix的web界面
http://zabbix.kog.com/zabbix/index.php
按照提示一步一步进行配置
根据提示下一步。
这里检测php配置,如果没达到要求的后面则红色提示失败,修改/etc/php.ini即可,修改完后/etc/init.d/php-fpm reload,然后重试则全部提示正常,再然后下一步。
这里输入zabbix数据库的信息,按照建立数据库时的信息填写即可,然后点击测试连接,没问题则提示正常。
输入zabbix的主机、端口和名称。
检查是否全部正常。
如提示找不到zabbix.conf.php文件,点击下载,然后上传到/usr/local/webserver/zabbix/conf目录重试即可。
点击完成即可进入zabbix界面。
zabbix默认账号是admin,密码是zabbix
至此,zabbix客户端配置完成。
二、客户端:
groupadd zabbix
useradd -g zabbix zabbix
/bin/rm -rf zabbix-2.2.3
tar xvf zabbix-2.2.3.tar.gz
cd zabbix-2.2.3
./configure --enable-agent
make install
mv /usr/local/etc/{zabbix_agentd.conf,zabbix_agentd.conf.bak}
cat > /usr/local/etc/zabbix_agentd.conf<< "EOF"
LogFile=/var/log/zabbix_agentd.log
Server= 121.201.0.165 #zabbix服务端IP
ServerActive= 121.201.0.165 #zabbix服务端IP
Hostname= 121.201.0.177_OutTest ##此处的Hostname显示为zabbix自动注册的主机名称,不能带中文,否则重启zabbix_agentd报错
EOF
touch /var/log/zabbix_agentd.log
chmod 777 /var/log/zabbix_agentd.log
cp zabbix-2.2.3/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
chmod a+x /etc/init.d/zabbix_agentd
/etc/init.d/zabbix_agentd start
echo "/etc/init.d/zabbix_agentd start" >>/etc/rc.local
客户端要允许服务端进行访问:
-A RH-Firewall-1-INPUT -s 121.201.0.165 -m state --state NEW -j ACCEPT
/etc/init.d/iptables restart
三、Web界面设置
1、更改系统为中文
右上角ProfileàUseràLanguage选Chinese(zh_CN),点击Save保存
此时页面已经变成了中文,但是图形的中文却变成了方框或乱码
解决方法:
从window里上传simkai.ttf此文件到zabbix字体库目录下/usr/local/webserver/zabbix/fonts/
修改配置文件
vim /usr/local/webserver/zabbix/include/defines.inc.php
将DejaVuSans全部替换成simkai
:%s/DejaVuSans/simkai/g
保存退出刷新页面,如果还是不行,建议多尝试其它字体。
2、设置zabbix自动添加主机
配置à动作à事件源(自动注册)à创建动作
点击存档后如下所示,记得启用此动作(观察右边状态)
过一会,则可以看到安装了zabbix_agentd的主机自动添加主机列表中
配置à主机:
主机自动添加上来后可以手动修改一下名称。
3、添加ICMP Ping图形
zabbix使用的是fping,所以需要安装fping
tar xvf fping.tar.gz
cd fping-2.4b2_to/
./configure
make install
chmod u+s /usr/local/sbin/fping
修改/usr/local/etc/zabbix_server.conf添加fping的位置信息
FpingLocation=/usr/local/sbin/fping
找到zabbix自带的模版Template ICMP Ping
选择Graphs-Create Graph
存档后如没问题过一会就出图了