1.Zabbix安装前的准备
Zabbix是基于LAMP的一款监控软件,即需要Apache,Mysql、PHP,监控tomcat还需要用到javac,所以还得安装jdk,所以先从基层做起
Zabbix Server端、Zabbix agentd端;即监控端与被监控端,一台机器既可以是Server端又可以是Agentd端,监控着别人照顾着自己
本文中,本机地址为192.168.100.170。
安装Apache
yum -y install httpd
安装mysql
因为这台机器装过mysql,具体参考这篇文章mysql的安装,也可以使用mariadb。
若使用mariadb的话 可执行
yum-y install mariadb-server mariadb mariadb-devel
安装php及一些其他组件
yum -y install php php-mbstring php-mysql php-bcmath php-gd php-xmlrpc php-ldap php-xml
yum -y install libevent libevent-devel net-snmp net-snmp-devel libxml2 libxml2-devel yum -y install gcc gcc-c++ make yum -y install curl-devel mysql-devel
安装jdk
tar xf jdk-8u91-linux-x64.tar.gz
mv jdk1.8.0_91/ /usr/local/java
vi /etc/profile #末尾处添加两行
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
2.源码安装Zabbix
tar xf zabbix-4.0.3.tar.gz
mv zabbix-4.0.3 zabbix
cd zabbix
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --enable-java && make -j2 && make install
--prefix=/usr/local/zabbix 安装位置
--enable-server --enable-agent 开启server端 开启agent端,当仅仅是被监控时,只需要加agent参数即可
开启mysql 创建zabbix库
mysql -uroot -p
create database zabbix character set utf8;
#grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
grant all on zabbix.* to "zabbix"@"%" identified by 'zabbix';
flush privileges;
quit;
导入表
mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
如果没记错的话,好像是要注意导入的顺序
Zabbix目录设置用户
cd /usr/local/
mkdir zabbix/logs
useradd -M -s /sbin/nologin zabbix
chown -R zabbix:zabbix zabbix/
3.zabbix的配置文件
server配置文件
cd /usr/local/zabbix
cp -p etc/zabbix_server.conf{,.bak} cp -p etc/zabbix_agentd.conf{,.bak}
vim etc/zabbix_server.conf
LogFile=/usr/local/zabbix/logs/zabbix_server.log 日志存放位置
PidFile=/tmp/zabbix_server.pid pid文件
DBHost=192.168.100.170 数据库地址
DBName=zabbix 数据库名
DBUser=zabbix 用户
DBPassword=zabbix 密码
DBSocket=/tmp/mysql.socket mysql的socket文件
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf
agentd配置文件(因为要监控本机,agentd端只修改该配置文件即可)
vi zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid
Server=127.0.0.1,192.168.200.170 #zabbix server端的ip地址
ServerActive=127.0.0.1,,192.168.200.170 #主动将数据推送给哪个服务端
Hostname=benji #指定zabbixserver主机名
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
./sbin/zabbix_server #开启服务端
./sbin/zabbix_agentd #开启被监控端
4.配置php+apache
Apache
mv ~/zabbix/frontends/php/ /var/www/html/zabbix
chown -R apache:apache /var/www/html/zabbix
php
数值调大,否则无法到达安装zabbix的最低条件导致无法安装
vi /etc/php.ini
date.timezone = Asia/Shanghai ##时区
max_execution_time = 300 ##单位秒,通过POST、GET以及PUT方式接收数据时间进行限制
max_input_time = 300 ##php程序上传文件解析数据时的时间限制
post_max_size = 32M ##POST 方式请求数据所允许的最大大小
memory_limit = 128M ##设置php程序的内存限制
extension=bcmath.so ##加载zabbix程序需要加载的扩展模块bcmath.so手动添加
systemctl restart httpd #重启以生效php配置
netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 25600/./sbin/zabbix
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 25547/./sbin/zabbix
5.web端安装
在浏览器中输入192.168.100.170/zabbix
这种情况是因为权限不足无法创建这个文件,如果网页目录下是用户和组都是apache,是不会出现这种问题的
zabbix安装部署完成