zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix特点:
安装与配置简单,学习成本低
支持多语言(包括中文)
免费开源
自动发现服务器与网络设备
分布式监视以及WEB集中管理功能
可以无agent监视
用户安全认证和柔软的授权方式
通过WEB界面设置或查看监视结果
email等通知功能
zabbix主要功能:
CPU负荷
内存使用
磁盘使用
网络状况
端口监视
日志监视
插件开发自定义
部署环境:
php-5.6.13libmcrypt-2.5.8
mysql-5.6.26
nginx-1.8.0
zabbix-2.4.6
部署LNMP环境:
安装nginx
# yum install -y gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-develpcre-devel//zlib:给Nginx提供gzip模块,需要的支持;OPenssl提供SSL功能;PCRE,地址重写
# tar xvf nginx-1.8.0.tar.gz -C /usr/local/src/ ; cd /usr/local/src/nginx-1.8.0
# ./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module
# make && make install ; cd
# useradd -u 8001 -M -s /sbin/nologin nginx
# vim /usr/local/nginx/conf/nginx.conf
user nginx nginx; #此行添加
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
# /usr/local/nginx/sbin/nginx
# echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local
安装mysql
# yum remove -y mysql mysql-devel mysql-server
# tar xvf mysql-5.6.26.tar.gz -C /usr/local/src/ ; cd /usr/local/src/mysql-5.6.26
# useradd -u 8003 -M -s /sbin/nologin mysql
# yum install -y cmake
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_USER=mysql
# make -j 4 ; make install
# chown -R mysql:mysql /usr/local/mysql/
# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/
# cd ; vim /etc/init.d/mysql.server//修改下面两项
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
# chkconfig mysql.server on
# /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
# ln -s /usr/local/mysql/bin/* /usr/bin/
# service mysql.server restart
# /usr/local/mysql/bin/mysql_secure_installation//顺便密码设置123456
# mysql -uroot -p123456//测试OK
安装PHP
# tar xvf libmcrypt-2.5.8.tar.bz2 -C /usr/local/src/
# cd /usr/local/src/libmcrypt-2.5.8/
# ./configure --prefix=/usr/local/libmcrypt
# make ; make install ; cd
# tar xvf php-5.6.13.tar.bz2 -C /usr/local/src/
# cd /usr/local/src/php-5.6.13/
# yum install -y php-pear libjpeg-devel
# echo "/usr/local/mysql/lib/" >> /etc/ld.so.conf
# echo "/usr/local/libmcrypt/lib" >> /etc/ld.so.conf
# ldconfig
# echo "ldconfig" >> /etc/rc.local
# ./configure --prefix=/usr/local/php -with-config-file-path=/usr/local/php --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-mcrypt=/usr/local/libmcrypt --with-gettext
#若不加--with-gettext,安装zabbix会有一个php gettext no fail的错误
# make ; make install
# cp /usr/local/src/php-5.6.13/php.ini-production /usr/local/php/php.ini
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# cp /usr/local/src/php-5.6.13/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# chmod +x /etc/init.d/php-fpm ; cd
# chkconfig --add php-fpm
# chkconfig php-fpm on
# echo "<?php phpinfo(); ?>" > /usr/local/nginx/html/index.php
# service php-fpm start
编译安装zabbix
# yum install -y net-snmp-devel//net-snmp-config依赖
# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl
--prefix= #指定路径
--enable-server #Server支持
--enable-agent #支持Zabbix客户端
--with-mysql #指定MySql库可以选择制定路径mysql_config,mysql_config是命令,用于编译mysql客户端程序
--with-net-snmp #支持snmp协议,需要安装net-snmp-devel包
--with-libcurl #支持CURL功能,libcurl主要功能就是用不同的协议连接不同的服务器,libcurl当前支持的协议有http,https,ftp,gopher,telent,dict,file,和ldap协议
其他参数:
--enable-proxy 指的是支持zabbix代理服务器,zabbix proxy是一个监控代理服务器,它收集到监控数据,选存放在缓冲区,保存的时间可以通过配置文件设定,然后再传送的zabbix server。监控代理服务需要一个独立的数据库。
用zabbix proxy的好处:进程监控,当监控文遏制通讯不方便的时候,当通讯上千台设备的时候,使用zabbix proxy可以简化维护分布式监控,降低zabbix server的负负载
#make install
配置zabbix Server
# vim /usr/local/zabbix/etc/zabbix_server.conf
DBHost=localhost #默认注释掉了,直接取消注释即可
DBName=zabbix #数据库用户,我们授权的用户也是zabbix
DBUser=zabbix #默认是root,我们授权的用户是zabbix
DBPassword=zabbix #密码我们授权的也是zabbix
监控Zabbix Server本身
# vim /usr/local/zabbix/etc/zabbix_agentd.conf
Server=127.0.0.1 #默认监控服务器自己,这三行不用改
ServerActive=127.0.0.1
Hostname=Zabbix server
UnsafeUserParameters=1 #允许所有的字符是在用户定义的参数,参数传递,也就是支持自定义脚本
启动服务
# useradd -u 8005 -M -s /sbin/nologin zabbix//如果zabbix用户不存在,将以root运行,新建之后,如果zabbix存在,那么久直接可以用zabbix运行
# /usr/local/zabbix/sbin/zabbix_server //直接运行
# echo /usr/local/zabbix/sbin/zabbix_server >> /etc/rc.local//开机启动
# netstat -antup | grep zabbix//zabbix server运行端口10051
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 37568/zabbix_server
如果这里没有端口显示,则需要注册端口
# vim /etc/services//末尾添加下面这几行
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
编辑php页面控制文件
默认配置文件没有写入到我们的Nagix的配置文件中,也就是不能加载到我们的zabbix页面目录
# cp -r /usr/local/src/zabbix-2.4.6/frontends/php/* /usr/local/nginx/html/
# vim /usr/local/nginx/conf/nginx.conf
location / {
root html;
index index.php index.html index.htm; #找到此行内容,添加index.php
}
重启服务
[root@XueGod63 ~]# /usr/local/nginx/sbin/nginx -s reload ; /etc/init.d/php-fpm restart
打开网页安装zabbix
接下来就按照提示一步一步完成就OK啦!!