Zabbix监控部署方案 目的: 搭建数据中心监控环境 初始化系统自动话脚本init.sh
LAMP环境部署 安装编译环境,使用一键安装脚本安装lamp或lnmp #注:脚本使用时要注意软件链接是否失效,以免安装失败。 Lamp安全与优化: 1.配置disable_function 禁用一些函数 disable_functions = eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close 2.Mysql配置 开启每表表空间 登录: #/usr/local/mysql/bin/mysql -S /data/mysql/mysql.sock mysql>use mysql; mysql> update user set password=password('123456') where user = 'root'; mysql> flush privileges; /usr/local/mysql/bin/mysql -uroot -p123456 -S /data/mysql/mysql.sock Zabbix下载地址: 创建、导入zabbix数据库 mysql> create database zabbix character set utf8; grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; #创建zabbix用户 flush privileges; #再次刷新系统授权表 use zabbix #进入数据库 select database();#查看当前数据库 source /usr/local/src/zabbix-3.0.4/database/mysql/schema.sql #导入脚本文件到zabbix数据库 source /usr/local/src/zabbix-3.0.4/database/mysql/images.sql #导入脚本文件到zabbix数据库 source /usr/local/src/zabbix-3.0.4/database/mysql/data.sql #导入脚本文件到zabbix数据库 注意:请按照以上顺序进行导入,否则会出错。 安装zabbix 1、添加用户: 由于安全zabbix只能使用普通用户运行 groupadd zabbix #创建用户组zabbix useradd -M zabbix -s /sbin/nologin useradd zabbix -g zabbix -s /bin/false #创建用户zabbix,并且把用户zabbix加入到用户组zabbix中 cd /usr/local/src/zabbix-3.0.4/ #进入安装目录 ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config --enable-java #支持jmx监控java类进程 make #编译 make install #安装 说明:find / -name mysql_config 查找位置,如果没有mysql_config,需要安装yum install mysql-devel 修改zabbix配置文件 cd /usr/local/zabbix/etc vi etc/zabbix_server.conf DBName=zabbix #数据库名称 DBUser=zabbix #数据库用户名 DBPassword=123456 #数据库密码 ListenIP=127.0.0.1 #数据库ip地址 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix运行脚本存放目录 :wq! #保存退出 vi /home/sxit/zabbix/etc/zabbix_agentd.conf Include=/home/sxit/zabbix/etc/zabbix_agentd.conf.d/ UnsafeUserParameters=1 #启用自定义key :wq! #保存退出 6、添加开机启动脚本 cp /usr/local/src/zabbix-3.0.4/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server #服务端 cp /usr/local/src/zabbix-3.0.4/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd #客户端 chmod +x /etc/init.d/zabbix_server #添加脚本执行权限 chmod +x /etc/init.d/zabbix_agentd #添加脚本执行权限 chkconfig zabbix_server on #添加开机启动 chkconfig zabbix_agentd on #添加开机启动 修改zabbix开机启动脚本中的zabbix安装目录 vi /etc/rc.d/init.d/zabbix_server #编辑服务端配置文件 BASEDIR=/home/sxit/zabbix/ #zabbix安装目录 :wq! #保存退出 vi /etc/init.d/zabbix_agentd #编辑客户端配置文件 BASEDIR=/home/sxit/zabbix/ #zabbix安装目录 :wq! #保存退出 三、配置web站点 cd /home/sxit/zabbix-3.0.3 cp -r /usr/local/src/zabbix-3.0.4/frontends/php /usr/local/apache/htdoc/zabbix chown daemon.daemon -R /usr/local/apache/htdoc/zabbix 备注:/home/sxit/apache/htdoc/为apache默认站点目录 daemon为apache运行账户 service zabbix_server start #启动zabbix服务端 service zabbix_agentd start #启动zabbix客户端 四、修改php配置文件参数 1、vi /etc/php.ini #编辑修改 post_max_size =16M max_execution_time =300 max_input_time =300 :wq! #保存退出 PHP databases supportoffFail php databases support off fail 经查询是缺少mysqli 安装mysqli 需要在php源码中编译出模块然后加载 /usr/local/php/bin/phpize ./configure --prefix=/usr/local/php/mysqli \ --with-php-config=/usr/local/php/bin/php-config \ --with-mysqli=/usr/bin/mysql_config Make &&make install Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/ Installing header files: /usr/local/php/include/php/ 编辑php.ini #vi etc/php.ini 在最末尾添加一行: extension= /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/mysqli.so 重启http服务 注:此处可能回报:/usr/local/src/php-5.6.6/ext/mysqli/mysqli_api.c:36:47: error: ext/mysqlnd/mysql_float_to_double.h: No such file or directory 直接修改:mysqli/mysqli_api.c 文件第36行路径为绝对路径 include "/usr/local/src/php-5.6.6/ext/mysqlnd/mysql_float_to_double.h" PHP gettextoffWarning 手动编译安装gettext模块 cd /usr/local/src/php-5.6.6/ext/gettext # /usr/local/php/bin/phpize #./configure --with-php-config=/usr/local/php/bin/php-config #make && make install 安装之后会生成一个类似于这样的信息提示: Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/ 编辑php.ini #vi etc/php.ini 在最末尾添加一行: extension= /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/gettext.so 重启http服务 问题: Zabbix server is runningNo10.0.8.153:10051 Zabbix server is not running:the information displayed may not be current 1、php.ini文件中查找 allow_url_fopen = On; 让你的php支持 opensll扩展 /usr/local/php/bin/phpize ./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/ 在最末尾添加一行: extension= /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/openssl.so 2、开启fsockopen函数就可以了 disable_function 去掉pfsockopen 五、安装web 在浏览器中打开: http://10.0.8.153/zabbix/setup.php 登录: 默认用户名:Admin 密码:zabbix zabbix agent安装: ./configure --prefix=/usr/local/zabbix_agent --enable-agent make && make install cp /usr/local/src/zabbix-3.0.4/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd #客户端 chmod +x /etc/init.d/zabbix_agentd chkconfig zabbix_agentd on 修改安装目录:vim /etc/init.d/zabbix_agentd BASEDIR=/usr/local/zabbix_agent/ zabbix客户端配置 配置zabbix_server配置文件,zabbix源码目录下 # vim /usr/local/zabbix_agent/etc/zabbix_agentd.conf Server=127.0.0.1(注意,客户机上面这个需要修改为监控机的IP地址) ServerActive=127.0.0.1(注意,客户机上面这个需要修改为监控机的IP地址) Hostname=Zabbix server(这里的名字需要和监控机上面配置的一致) 其中Server和ServerActive都指定zabbixserver的IP地址,不同的是,前者是被动后者是主动。也就是说Server这个配置是用来允许127.0.0.1这个ip来我这取数据。而serverActive的127.0.0.1的意思是,客户端主动提交数据给他。明白了吗?为什么要分主动和被动?后续再来讨论这个问题! zabbix agent检测分为主动(agent active)和被动(agent)两种形式,主动与被动的说法均是相对于agent来讨论的。简单说明一下主动与被动的区别如下: 主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy 被动:server向agent请求获取监控项的数据,agent返回数据。 主动配置:监控客户端主动发送数据 Server 192.168.18.223 监控端ip(服务器端) ServerActive 192.168.18.223:10051 监控端ip:端口 Hostname=Zabbix server(这里的名字需要和监控机上面配置的一致) 被动配置:监控服务器主动收集数据 Server 192.168.18.223 监控端ip(服务器端) ServerActive 192.168.18.22x:10050 被监控端ip:端口 Hostname=192.168.18.22x(这里的名字需要和监控机上面配置的一致) 测试,下面的命令需要在server端执行,其中10.0.8.152是agent的ip #/usr/local/zabbix/bin/zabbix_get -s 10.0.8.152 -p10050 -k "system.host" 11163875 #/usr/local/zabbix/bin/zabbix_get -s 10.0.8.152 -p10050 -k "system.hostname" HOSTNAME
|