Zabbix 整套安装简介

2015-10-26 0 By admin

zabbix监控服务需要server\proxy\agent和web-UI的代码,都在一个源码包中。
web-UI在frontend/php目录中,其他服务通过编译参数确定。

一、依赖环境

硬件:官网提供了”不同硬件等级可以监控的主机数“的列表。
软件:数据库\php\gd\bcmath等
说明点:server和proxy服务都需要数据库,且两个服务版本要求一致。

1.1、创建zabbix用户和组

groupadd zabbix
useradd zabbix -g zabbix -s /sbin/nologin

二、server 端安装

2.1、基础服务介绍

nginx\php\database\openssl......

2.2、建立数据库、用户,分配权限

初始化数据库。
create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

—————
mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/schema.sql
mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/images.sql
mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/data.sql

2.3、zabbix_server 启动文件

misc/init.d/fedora/core/zabbix_server 启动文件,修改BASEDIR参数。
cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_server
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd

2.4、配置文件

zabbix_server.conf 文件,配置数据库连接参数
sed -i 's/^DBUser=.*$/DBUser=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/^.*DBPassword=.*$/DBPassword=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf

三、web-UI代码

php源码目录frontend/php;拷贝至配置目录。
不是采用唯一入口文件方式,不需要URL重写
cp -R frontends/php /var/www/html/zabbix

四、Proxy 端安装

4.1、环境配置

database\snmp......
然后:配置数据库参数、Server端IP和proxy主机名。

4.2、初始化数据库

create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql -uzabbix -p'zabbix' zabbix < database/mysql/schema.sql

4.3、部分配置参数

grep -v “#” /usr/local/zabbix/etc/zabbix_proxy.conf|sed ‘/^$/d’
Server=192.168.56.102 #zabbix server的ip地址或者域名
Hostname=client1 #proxy主机名,在zabbix web会以这个名字为准
#DB 设置
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/tmp/mysql.sock
ProxyLocalBuffer=0 #设定为0小时,除非有其他第三方应用和插件需要调用
ProxyOfflineBuffer=1 #proxy或者server无法连接时,保留离线的监控数据的时间,单位小时
ConfigFrequency=600 #server和proxy配置修改同步时间间隔,设定5-10分钟即可。
DataSenderFrequency=10 #数据发送时间间隔,10-30s;
StartPollers=10 #开启多线程数,一般不要超过30个;
StartPollersUnreachable=1 #该线程用来单独监控无法连接的主机,1个即可;
StartTrappers=10 #trapper线程数
StartPingers=1 #fping线程数
CacheSize=64M #用来保存监控数据的缓存数,根据监控主机数量适当调整;
Timeout=10 #超时时间,设定不要超过30s,不然会拖慢其他监控数据抓取时间;
TrapperTimeout=30 #同上
FpingLocation=/usr/sbin/fping #配合simple check icmp检测使用,如不需要可关闭;

五、Agent 端安装

1、编译安装
2、配置Server地址、agent主机名、ServerActive
3、misc/init.d/fedora/core/agent_server 启动文件,修改BASEDIR参数。

Zabbix_agent 安装脚本

六、通知邮件发送脚本

python 发邮件脚本;sendmail.py
#!/usr/bin/env python
#
import os
import sys
#
SENDMAIL = "/bin/mail" # sendmail location
#
FROM = "zabbix@monitoring.com"
TO = sys.argv[1]
SUBJECT = sys.argv[2]
TEXT = sys.argv[3]
#
# Prepare actual message
message = """\
From: %s
To: %s
Subject: %s
#
%s
""" % (FROM, TO, SUBJECT, TEXT)
#
# Send the mail
#
p = os.popen("%s -t -i" % SENDMAIL, "w")
p.write(message)
status = p.close()
with open("/tmp/zabbixpy.log", "w") as f:
f.write(message)
#
if status:
print "Sendmail exit status", status