1.2,,zabbix监控的特点和功能........................................................................... 1
2.2 通过yum安装lamp环境(源码安装太费时,不推荐)................................. 2
2.3 源码包安装zabbix server端.......................................................................... 3
3.2 导入zabbix表结构和相关数据...................................................................... 5
ZABBIX 监控部署
1,zabbix介绍
zabbix是一个基于WEB界面的,分布式的,自动化的企业级开源监控工具。
A,能编译运行在多种OS:AIX, FreeBSD,HP-UX, Linux, MacOS X, NetBSD, OpenBSD,
B,邮件短信报警,报警并按预期指令进行自动处理
C,多种数据库(sqlserver ,mysql)存储配置、性能等各种信息
D,Web interface 简单易用的访问
E,提供实时和历史的监控分析数据
F,高性能的监控代理 (UNIX, Win32)
G,监控 SNMP (v1,v2,v3) devices
H,自动发现
I,监控代理
J,Solaris, Tru64/OSF
系统: centos 5.3
DB: mysql 5.5
Zabbix_server: 2.2.2
Php:5.3+
nginx:2.2
这里要注意zaabix_server的版本,1.8 2.0 2.2 之间界面相差有点大
同时添加zabbix用户 useradd zabbix
演示环境:
Zabbix server :192.168.230.130
Zabbix agent : 192.168.230.130
2.2 通过yum安装lnmp环境(源码安装太费时,不推荐)
前提: 配置好linux的yum源,建议指到外网的公共源
安装lnmp架构,包括nginx,php,php插件,mysql(安装略过)
yum-y install php php-mysql php-fpm php-gd php-mysql php-bcmath php-mbstring php-xm nginx php-cli php-common php-xml
安装完上面的工具后:
#/etc/init.d/php-fpm start 启用php-fpm
配置nginx
Vim/etc/nginx/conf.d/default.conf #删除所有配置,加入下面这段
server {
listen 80;
#charset koi8-r;
location / {
root /var/www/html;
index index.html index.htmindex.php;
}
location ~ .*\.php$ {
root /var/www/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;#php文件存放路径
include fastcgi_params;
}
#/etc/init.d/nginx start
环境部署好后,nginx的文档目录是/var/www/html ,我们可以测试下是否可以正常 访问php页面
Cd /var/www/html/;vim test.php
<?php
Phpinfo();
?>
保存退出
启用apache: 默认监听在80 端口
service httpd start,
下面图示 有mysql,主要是安装了php-mysql,让php支持了mysql接口和使用,如果安装此插件,zabbix可能不能通过页面把数据写到数据库
Tar -zxvf zabbix-2.2.2.tar.gz
Cd zabbix-2.2.2
./configure --prefix=/usr/local/zabbix--enable-server --enable-agent --with-mysql
这里编译的时候添加的参数:
--enable-server 编译使用zabbix server功能,就是主监控
--enable-agent 编译使用client功能,是监控的客户端
--with-mysql 编译使用连接mysql功能,因为它支持多种数据库
还有后面会用到的参数
--enable-proxy 编译使用代理功能
通过不同参数,我们编译完后,会发现生成不同的命令
编译后,最后出现上图界面,提供了我们开启的功能信息和没开启的
最后,我们只需要按提示 就ok了
make install
这里,zabbix编译到了/usr/local/zabbix 中了
这里可以看到有5个文件夹
Bin目录:
这里主要是zabbix 服务端用来测试client 拉取数据的二进制文件
这里直接执行,会提示使用的语法
Etc 目录:
[root@zabbix_server etc]# ls
zabbix_agent.conf zabbix_agent.conf.d zabbix_agentd.conf zabbix_agentd.conf.d zabbix_server.conf zabbix_server.conf.d
客户端配置文件:
Zabbix_agent.conf
zabbix_agentd.conf
下面2个是目录,主要用来更精细或分类管理客户端的文件
Zabbix_agentd.conf.d
zabbix_agent.conf.d
这2个文件的区别:
zabbix_agent.conf是用超级服务(xinetd)的方式来启动的,
zabbix_agentd.conf是以独立进程的方式来启动的.
服务端配置文件:
zabbix_server.conf
zabbix_server.conf.d(目录)
Lib文件是一些库文件,我们这里因为编译的原因,所以是空的,不用管
Sbin目录:
这里主要是守护进程执行命令
Zabbix_server 是启用zabbix_serverd 命令
Zabbix_agent 是超级服务(xinetd)的方式来启动zabbixagent的,
Zabbix_agentd 是独立进程的方式来启动zabbix agent的
Share目录:
这里主要存放一些zabbix使用文档和公共脚本
例如,我们现在想查看zabbix使用,只需要
可以看到,就能man一下zabbix_server的使用方法了。
#Mysql -uroot -123
>Createa database zabbix charset=utf8;
>Exit
这里导入sql文件的时候是有顺序的,schema.sql是表结构,data.sql是数据,p_w_picpath.sql是插入的一些图片的二进制数据
创建数据库,并导入zabbix数据
#Mysql -uroot -p123--default-character-set=utf8 zabbix< schema.sql
#Mysql -uroot -p123--default-character-set=utf8 zabbix< p_w_picpath.sql
#Mysql -uroot -p123--default-character-set=utf8 zabbix< data.sql
数据导入完毕后,需要创建一个供zabbix连接的用户;
>grant all on zabbix.* to'zabbix'@'localhost' identified by 'zabbix';
Zabbix_server.conf
Server=zabbix_server#zabbix server的ip地址或者域名
Hostname=Telcom_proxy#proxy主机名,在zabbix web会以这个名字为准
#DB 设定档
DBName=zabbix
DBUser=zabbix
DBPassword=zabbixpass
DBSocket=/var/lib/mysql/mysql.sock#前文主机设置为localhost,用户
连接数据库所用的sock位置,
DBPort=3306 #数据库的端口号,当用sock连接时,无关紧要,当通过网络连接时需设置
ListenPort=10051#zabbix server的端口,默认是10051,可以自行修改,
LogFile=/tmp/zabbix_server.log#日志文件的存放位置
LogFileSize=1 #日志文件的大小,单位为MB,当设置为0时,表示不仅行日志轮询,
默认设置为1,默认即可
DebugLevel=3 #指定调试级别,默认即可
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检测使用,如不需要可关闭;fping需要安装
将zabbix_server 命令添加到自动启动服务中
# pwd
/root/zabbix/zabbix2.2.2/zabbix-2.2.2/misc/init.d/fedora/core
# mkdir -p /usr/local/sbin/
# cp /usr/local/zabbix/sbin/zabbix_server /usr/local/sbin/
# /etc/init.d/zabbix_server start
Starting zabbix_server: [ OK ]
# chkconfig --level345 zabbix_server on
在源码包中有一个目录存放着web的所有配置界面
这个frontends 目录中就是存放的html和php等文件,将这个目录整个复制到apache的文档目录中/var/www/html/zabbix
#Mkdir -p /var/www/html/zabbix
#Cp -r frontends /var/www/html/zabbix
访问:http://192.168.230.130/zabbix/php/setup.php
post_max_size = 8M
max_execution_time = 30
max_input_time = 60
date.timezone =
Current value Required
PHP option memory_limit 32M 128M Fail
PHP option post_max_size 8M 16M Fail
PHP option max_execution_time 30 300 Fail
PHP option max_input_time 60 300 Fail=
PHP time zone unknown Fail
上面几个是php配置问题,修改配置文件为它推荐之后,重启apache
下面是缺一些安装包
PHP databases support off Fail #这个 安装php-mysql,重启apache
PHP bcmath off Fail
PHP mbstring off Fail
PHP gd unknown 2.0 Fail
PHP gd PNG support off Fail
PHP gd JPEG support off Fail
PHP gd FreeType support off Fail
PHP xmlwriter off Fail
PHP xmlreader off Fail
安装缺少的包
#Yum -y install php-bcmath php-mysql php-gd php-mbstring php-xml*
#/ect/init.d/httpd restart
#ln -s /data/mysqldata/mysql.sock /var/lib/mysql/mysql.sock
点击页面上的downloadconfiguration file,文件保存到本地
然后上传到zabbix server服务器的/var/www/html/zabbix/php/conf/目录中
#Cd /var/www/html/zabbix/php/conf
# ls zabbix.conf.php
Zabbix.conf.php
#rz -bey
上传后,retry一下
默认用户名是admin 密码是zabbix
选择中文显示界面后,发现图片展示的时候会有乱码的
上传字体库到zabbix server
Simkai.ttf
#Cd /var/www/html/zabbix/php/fonts
#Rz -bey
# ls
DejaVuSans.ttf simkai.ttf
修改配置文件
# pwd
/var/www/html/zabbix/php/include
# ls defines.inc.php
#Sed -i ‘s#DejaVuSans#simkai#g’ defines.inc.php
刷新下web界面,汉化乱码解决
添加监控磁盘IO和mysql 模板
这里导入了2个模板,第一个是mysql模板,第二个是磁盘io模板
在组态-->模板-->最下面看到多了2个模板
这里,以监控本机为例
上传zabbix_agents_2.2.1.linux2_6.i386.tar.gz 到服务器
解压出来只有3个目录
# ls
bin conf sbin
目录主要存放东西类似zabbixserver,这里不解释了
8.2 配置zabbix agent配置文件
Cd conf
vim zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
DebugLevel=3
AllowRoot=1
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server #这里的名字,与添加监控主机的名字要对应
配置完后,将配置文件复制到下面目录
# cp zabbix_agentd.conf /usr/local/zabbix/etc/
cp: overwrite `/usr/local/zabbix/etc/zabbix_agentd.conf'? y
启用zabbix agent
这里,zabbix是默认监控了自己,只是没有配置和开启, 直接编辑
并保存
当右下角的z 样式图标变绿,表示监控成功了
通过图形,可以看到已经开始出现监控的图形了!
上面导入了mysql和磁盘的模板,但是每个监控主机,需要脚本获取值后,传给server段
这里有写好的mysql脚本,zabbix_mysql.conf,上传到agent机器
# cd /usr/local/etc/
# ls
zabbix_agentd.conf
# rz -bey
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
100% 11 KB 11 KB/s 00:00:01 0 Errors
# ls
zabbix_agentd.conf zabbix_mysql.conf
修改客户端配置文件
Echo “Include=/usr/local/etc/zabbix_mysql.conf” >>/usr/local/etc/zabbix_agentd.conf
重启zabbix-agent
# pwd
/root/zabbix/sbin
# killall zabbix_agentd
# killall zabbix_agentd
zabbix_agentd: no process killed
# ./zabbix_agentd
配置完成后,再次看图,会发现之间模板监控的无数据,变为开始接受数据了