zabbix 由2部分构成,zabbix server 与可选组件zabbix agent。
zabbix server 可以通过SNMP,zabbix agent ,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台之上。
zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent 可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。
zabbix server 可以单独监视远程服务器的服务状态;同时也可以与zabbix agent 配合,可以轮询zabbix agent 主动接收监视数据(trapping方式),同时还可被动接收zabbix agent 发送的数据(trapping方式)。
另外zabbix server 还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。
zabbix的主要特点:
安装与配置简单,学习成本低
支持多语言(包括中文)
免费开源
自动发现服务器与网络设备
分布式监视以及WEB集中管理功能
可以无agent监视
用户安全认证和柔软的授权方式
通过WEB界面设置或查看监视结果
email等通知功能,等等
参考之前的部署文档
wget http://120.52.73.47/nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz
tar -xf jdk-8u92-linux-x64.tar.gz mkdir /usr/java mv jdk1.8.0_92//usr/java cat >/etc/profile.d/java.sh << EOF export JAVA_HOME=/usr/java/jdk1.8.0_92 export JAVA_BIN=/usr/java/jdk1.8.0_92/bin export PATH=${JAVA_HOME}/bin:$PATH export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar java -version java version "1.8.0_92" Java(TM) SE RuntimeEnvironment(build 1.8.0_92-b14) JavaHotSpot(TM)64-BitServer VM (build 25.92-b14, mixed mode)
tar -xf zabbix-3.0.3.tar.gz mysql -uroot -p -S /data/3308/mysql.sock mysql> create database zabbix character set utf8; mysql> grant all on zabbix.* to 'zabbix'@'localhost' identified by '123456' with grant option; mysql > flush privileges; mysql -uzabbix -p123456 -hlocalhost zabbix </root/src/zabbix-3.0.3/database/mysql/schema.sql 导入数据库,一定要按顺序导入 mysql -uzabbix -p123456 -hlocalhost zabbix </root/src/zabbix-3.0.3/database/mysql/images.sql mysql -uzabbix -p123456 -hlocalhost zabbix </root/src/zabbix-3.0.3/database/mysql/data.sql
useradd -u 8009-s /bin/false zabbix
cd src/zabbix-3.0.3/ ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/local/mysql/bin/mysql_config --enable-java --enable-ipv6 --with-libxml2
make install ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ 添加系统软连接,这样不用去配置环境变量 ln -s /usr/local/zabbix/bin/* /usr/local/bin/
cat >>/etc/services << EOF zabbix-agent 10050/tcp #ZabbixAgent zabbix-agent 10050/udp #Zabbix Agent zabbix-trapper 10051/tcp #ZabbixTrapper zabbix-trapper 10051/udp #Zabbix TrapperEOF
cd src/zabbix-3.0.3/ cp -a ./misc/init.d/fedora/core/zabbix_server /etc/init.d/ cp -a ./misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ sed -i 's@BASEDIR=/usr/local@&/zabbix@'/etc/rc.d/init.d/zabbix_server sed -i 's@BASEDIR=/usr/local@&/zabbix@'/etc/rc.d/init.d/zabbix_agentd chkconfig zabbix_server on chkconfig zabbix_agentd on
chown -R zabbix.zabbix /usr/local/zabbix/目录权限很重要 mkdir /var/log/zabbix/ 日志目录 chown -R zabbix.zabbix /var/log/zabbix/
vim /usr/local/zabbix/etc/zabbix_server.conf LogType=fileLog File=/var/log/zabbix/zabbix_server.log 日志文件 DebugLevel=3 日志级别 PidFile=/usr/local/zabbix/zabbix_server.pid DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=123456 DBSocket=/data/3308/mysql.sock 我这边数据库是多实例,需要指定socket登陆 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts 脚本路径
vim /usr/local/zabbix/etc/zabbix_agentd.conf Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ UnsafeUserParameters=1
cd src/zabbix-3.0.3/ cp -r frontends/php//website/zabbix chown -R nginx.nginx /website/ wget https://www.dwhd.org/wp-content/uploads/2015/05/simkai.ttf -O /website/zabbix/fonts/simkai.ttf 安装字体
service zabbix_server restart service zabbix_agentd restart
http://120.76.99.170/zabbix/setup.php
如果提提示缺少gd-jpeg,gd-freetype这些请按下面修复,动态编译php模块
cd src/php-7.0.6/ext/gd/ phpize./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir --with-freetype-dir make && make install
然后在php.ini添加模块支持
extention = gd.so
其他php参数配置:
vim /usr/local/php/etc/php.ini max_execution_time =600 max_input_time =300 memory_limit =128M post_max_size =32M date.timezone =Asia/Shanghai
全部ok
默认登陆名:admin 密码:zabbix
然而发现:
服务并没有启动
排错了,首先看日志,妈蛋,这我也知道。关键是服务没启动,日志压根没生成。其实还是有的,在/tmp/zabbix_server.log
应该是mysql共享库的问题
echo "/usr/local/mysql/lib" >> /etc/ld.so.conf
ldconfig
systemctl restart zabbix_server systemctl restart zabbix_agentd lsof -i :10050 lsof -i :10051
提示:排除可以直接运行zabbix_server,zabbix_agentd命令,会打印出报错信息
小结:遇到错误一般都是很多小细节问题,如目录权限,文件目录属主这类的要注意