参考:
1. 前提
- 安装
mysql, php, nginx 或 apache - 关闭iptables 和 selinux
2. 安装依赖
- 安装 开发工具包
yum groupinstall 'Development Tools' - 安装 基本依赖包
yum install net-snmp-devel libssh2-devel OpenIPMI-devel curl-devel - 安装 fping
yum install fping
3. 创建用户 和 用户组
- 创建用户组
groupadd zabbix - 创建用户
useradd zabbix -g zabbix -s /sbin/nologin
4. 安装zabbix-server
-
下载源码(from 官网)
-
安装
- 解压并进入源码
tar -zxvf zabbix-3.4.2.tar.gz && cd zabbix-3.4.2 - configure
- 脚本:
./configure --prefix=/opt/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-libcurl --with-net-snmp --with-openipmi --sysconfdir=/etc/zabbix - 说明:
- 安装目录在/opt/zabbix
- 开启server 和 agent
- 设置mysql的位置(此处需要查找本机mysql-config的位置,前提已安装mysql)
- 配置文件位置:/etc/zabbix
- 脚本:
- make 和 make install
sudo make -j && sudo make install
- 解压并进入源码
-
配置
- 配置数据库
- 数据库创建 + 创建用户 + 授权
- 命令行连上数据库
- 创建数据库
create database zabbix charset=utf8; - 创建数据库用户
create user zabbix identified by password('zabbix'); - 对用户进行授权
grant all on zabbix.* to zabbix; - 刷新权限
flush privileges;
- 导入zabbix自带的.sql文件
- 进入zabbix源码目录
- 执行
mysql -uroot -p zabbix < database/mysql/schema.sql
mysql -uroot -p zabbix < database/mysql/images.sql
mysql -uroot -p zabbix < database/mysql/data.sql
- 数据库创建 + 创建用户 + 授权
- 为zabbix添加监听端口
- 编辑/etc/services
sudo vim /etc/services - 添加
zabbix-trapper 10051/tcp Zabbix Trapper zabbix-trapper 10051/udp Zabbix Trapper zabbix-agent 10050/tcp Zabbix Agent zabbix-agent 10050/udp Zabbix Agent
- 编辑/etc/services
- 配置文件
- 备份原有配置文件
cd /etc/zabbix && cp zabbix_server.conf zabbix_server.conf.default - 编辑配置文件
- 删除全部内容,并填入下列内容
# 数据库配置部分 DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbixpw # 数据库所在的socket文件 DBSocket=/tmp/mysql.sock # 默认配置ok StartDBSyncers=12 SenderFrequency=30 DebugLevel=2 Timeout=5 PidFile=/var/tmp/zabbix_server.pid # 日志所在位置 LogFile=/data/logs/zabbix/zabbix_server.log LogFileSize=10 HistoryCacheSize=20M LogSlowQueries=3 # 其他脚本所在位置 AlertScriptsPath=/etc/zabbix/alert ExternalScripts=/etc/zabbix/externalscripts FpingLocation=/usr/sbin/fping
- 删除全部内容,并填入下列内容
- 添加zabbix启动管理
- 进入/etc/init.d
- 编辑文件:
sudo vim zabbix_server_ctl - 填充内容
#!/bin/sh #chkconfig:2345 90 80 #description:Zabbix Server . /etc/rc.d/init.d/functions BASEDIR=/opt/zabbix PIDFILE=/var/tmp/zabbix_server.pid ZABBIX_SERVER=$BASEDIR/sbin/zabbix_server RETVAL=0 start() { echo -n $"Starting Zabbix Server: " daemon --pidfile=$PIDFILE $ZABBIX_SERVER RETVAL=$? echo [ $RETVAL = 0 ] return $RETVAL } stop() { echo -n $"Stopping Zabbix Server: " killproc zabbix_server RETVAL=$? echo [ $RETVAL = 0 ] && rm -f $PIDFILE } case "$1" in start) start ;; stop) stop ;; status) status -p $PIDFILE $ZABBIX_SERVER RETVAL=$? ;; restart) stop start ;; *) echo $"Usage: service zabbix_server_ctl {start|stop|restart|status}" exit 1 esac exit $RETVAL
- 添加权限
sudo chmod a+x zabbix_server_ctl - 修改文件夹权限
sudo chown -R zabbix: /etc/zabbix
sudo chown -R zabbix: /opt/zabbix
sudo chown -R zabbix: /data/logs/zabbix - 添加开机启动
chkconfig --add zabbix_server_ctl
chkconfig zabbix_server_ctl on - 启动
sudo service zabbix_server_ctl start
- web - frontend - 前端管理页面添加
- 进入源码根目录
- 拷贝前端代码,并进入拷贝后的源码目录
sudo cp -rf frontends/php /data/www/zabbix && cd /data/www/zabbix - 修改数据库配置文件
- 拷贝配置文件
sudo cp conf/zabbix.conf.php.example conf/zabbix.conf.php - 修改配置文件中数据库 以及 zabbix_server 相应的配置
- 拷贝配置文件
- 修改文件夹权限
sudo chown -R zabbix: /data/www/zabbix - 配置nginx
- 配置内容参考:
server { listen 80; server_name zabbix.dev; root '/data/www/zabbix'; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } # 支持php include enable-php.conf; }
- 检查并重启nginx
sudo nginx -t
sudo nginx -s reload - 浏览器可访问 zabbix.dev(前提配置了该域名的解析),如若发现
- 配置内容参考:
- 说明:
- 默认管理员用户名、密码
admin 123456 - 在Status of Zabbix栏里,看到 如下文字即是成功
Zabbix server is running Yes localhost:10051
- 默认管理员用户名、密码
- 备份原有配置文件
- 配置数据库
5. 安装zabbix-agent
- 说明:
- 安装过程参考 zabbix-server
- 不同点:
- 无需配置 网站 和 mysql那部分,只需要配置 zabbix_server那部分
- zabbix_server.conf 换成 zabbix_agentd.conf,且内容填充为:
# 本机ip Server=192.168.33.30 Hostname=centos BufferSize=1024 Timeout=5 StartAgents=3 DebugLevel=2 PidFile=/var/tmp/zabbix_agentd.pid LogFile=/data/logs/zabbix/zabbix_agentd.log LogFileSize=10 EnableRemoteCommands=1 Include=/etc/zabbix/zabbix_command.conf
- zabbix_server_ctl 换成 zabbix_agentd_ctl,且内容填充为:
#!/bin/sh #chkconfig:2345 90 90 #description:Zabbix Agentd . /etc/rc.d/init.d/functions BASEDIR=/opt/zabbix PIDFILE=/var/tmp/zabbix_agentd.pid ZABBIX_AGENTD=$BASEDIR/sbin/zabbix_agentd RETVAL=0 start() { echo -n $"Starting Zabbix Agentd: " daemon --pidfile=$PIDFILE $ZABBIX_AGENTD RETVAL=$? echo [ $RETVAL = 0 ] return $RETVAL } stop() { echo -n $"Stopping Zabbix Agentd: " killproc zabbix_agentd RETVAL=$? echo [ $RETVAL = 0 ] && rm -f $PIDFILE } case "$1" in start) start ;; stop) stop ;; status) status -p $PIDFILE $ZABBIX_AGENTD RETVAL=$? ;; restart) stop start ;; *) echo $"Usage: service zabbix_agentd_ctl {start|stop|restart|status}" exit 1 esac exit $RETVAL
网友评论