zabbix 是用PHP开发的。得需要搭建LAMP环境
zabbix-server 192.168.1.101
zabbix-agent 192.168.1.105
zabbix 下载 https://www.zabbix.com/
安装zabbix3.2版本需要一下:
apacache 1.3以上的版本
PHP 5.4 以上的版本
安装编译源码所需的工具和库
yum install make gcc gcc-c++
先将系统自带的php卸载
yum remove php*
安装5.4以上的PHP
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm #这是centos6的包,centos7的话就把el6换成el7
yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-odbc.x86_64 php56w-xml.x86_64 php56w-xmlrpc.x86_64 php56w-soap.x86_64 或yum -y install php56*
查看PHP版本 php --version
安装httpd mysql
yum -y install httpd mysql mysql-server mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel curl-devel mod_ssl mod_perl mod_auth_mysql net-snmp
装完以后可以将httpd 和mysqld 起来
[root@centos101 ~]# /etc/init.d/httpd start
[root@centos101 ~]# /etc/init.d/mysqld start
[root@centos101 ~]# chkconfig mysqld on
[root@centos101 ~]# chkconfig httpd on
进入MySQL进行授权
create database zabbix character set utf8;
grant all on zabbix.* to zabbix@'localhost' identified by '123456';
flush privileges;
安装zabbix
[root@centos101 zabbix-3.2.11]# useradd -s /sbin/nologin zabbix
[root@centos101 zabbix-3.2.11]# tar xf zabbix-3.2.11.tar.gz
[root@centos101 zabbix-3.2.11]# ./configure --prefix=/usr/local/zabbix-server --enable-server --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-agent --enable-ipv6
make && make install
[root@centos101 mnt]# mkdir /var/www/html/zabbix
[root@centos101 zabbix-3.2.11]# cp -R frontends/php /var/www/html/zabbix/
mysql -uzabbix -p123456 zabbix < database/mysql/schema.sql
mysql -uzabbix -p123456 zabbix < database/mysql/images.sql
mysql -uzabbix -p123456 zabbix < database/mysql/data.sql
[root@centos101 etc]# pwd
/usr/local/zabbix-server/etc
[root@centos101 etc]# cat zabbix_server.conf|grep -Ev "^#|^$"
LogFile=/var/log/zabbix/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
[root@centos101 etc]# mkdir /var/log/zabbix
[root@centos101 etc]# chown -R zabbix:zabbix /var/log/zabbix
配置php
vim /etc/php.ini
946 date.timezone =Asia/Shanghai
440 max_execution_time = 300
729 post_max_size = 32M
449 max_input_time = 300
457 memory_limit = 128M
1586 mbstring.func_overload = 2
修改Apache访问的路径 添加 index.php 重启Apache
访问页面,192.168.1.101:zabbix
登录zabbix的默认用户名是:admin 密码:zabbix
##################################################################
客户端配置
[root@centos105 test]# useradd -s /sbin/nologin zabbix
[root@centos105 test]# mkdir /var/log/zabbix
[root@centos105 test]# mkdir /etc/zabbix #存放zabbix的配置文件
[root@centos105 test]# chown zabbix.zabbix /var/log/zabbix/
[root@centos105 zabbix-3.2.11]# ./configure --prefix=/usr/local/zabbix/ --sysconfdir=/etc/zabbix/ --enable-agent && make && make install
[root@centos105 zabbix-3.2.11]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@centos105 zabbix-3.2.11]# cd /etc/zabbix/
[root@centos105 zabbix]# cat zabbix_agentd.conf|grep -Ev "^#|^$"
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=192.168.1.101
ServerActive=192.168.1.101:10051
Hostname=Zabbix server #写自己的主机名
UnsafeUserParameters=1
[root@centos105 zabbix]# ln -s /usr/local/zabbix/sbin/zabbix_agentd /usr/local/sbin/
[root@centos105 zabbix]# /etc/init.d/zabbix_agentd start
########################################################################
如果客户端想要创建新的监控的项的话,需要在客户端的zabbix_agent.conf 文件中添加键,以及命令
在UnsafeUserParameters=1 这行下面添加一下内容:
UserParameter=[键的名称],[命令]
UserParameter=Disk.df,/bin/df -hT|awk -F "[ %]+" '/lv_root/ {print $6}'
保存退出重启一下zabbix_agent
如果想要获取更多的内存信息的话,其中【*】,这个* 是自己传进去的值,后面的$1是传进去的值的变量
UserParameter=memory_info[*],/bin/cat /proc/meminfo|awk '/^$1/ {print $2}'
2、、、、也可以写监控脚本
[root@centos105 key]# pwd
/etc/zabbix/key #先创建一个专门存放脚本的目录,
[root@centos105 key]# cat cpu_load.sh
#!/bin/bash
m1load=`uptime |awk -F '[ ,]+' '{print $11}'`
m5load=`uptime |awk -F '[ ,]+' '{print $12}'`
m15load=`uptime |awk -F '[ ,]+' '{print $13}'`
#echo $m1load,$m5load,$m15load
if [ $1 = 'm1load' ];then
echo $m1load
elif [ $1 = 'm5load' ];then
echo $m5load
elif [ $1 = 'm15load' ];then
echo $m15load
else
echo "输入位置变量有误"
fi
[root@centos105 key]# ./cpu_load.sh m5load # 可以直接传进去一个变量,
0.03
然后将这个脚本的路劲写入到zabbix_agent.conf里面
UserParameter=cpu_load.info[*],/etc/zabbix/key/cpu_load.sh $1
重启zabbix_agent
到zabbix_server服务端获取客户端的键值
[root@centos101 bin]# ./zabbix_get -s 192.168.1.105 -k cpu_load.info[m1load]
0.00
[root@centos101 bin]# ./zabbix_get -s 192.168.1.105 -k cpu_load.info[m5load]
0.00
[root@centos101 bin]# ./zabbix_get -s 192.168.1.105 -k cpu_load.info[m15load]
0.00
可以在web页面将所有CPU负载的图给画到一个图中,CPU的信息类型为浮点数
在服务端通过zabbix_get命令去获取客户端的键值
[root@centos101 bin]# pwd
/usr/local/zabbix-server/bin
[root@centos101 bin]# ./zabbix_get -s 192.168.1.105 -k Disk.df
6 #这个6是当前键的值
然后在监控的web页面取添加监控项
步骤:配置--主机--选择添加监控的主机的监控项--创建监控项;进去之后里面的键值填写zabbix_agent.conf里面的键的名称,我的应用集可以自己写,也可以选择下面已经有的