环境

操作系统 最小化安装CentOS Linux release 7.2.1511
IP 192.168.88.1
zabbix版本 zabbix-3.4.4.tar.gz

zabbix依赖于LNMP环境部署

安装环境依赖包

yum install -y curl curl-devel net-snmp \
net-snmp-devel perl-DBI freetype freetype-devel \
libcurl-devel libxslt-devel pcre pcre-devel libevent-devel \
automake autoconf libtool gd gd-devel zlib zlib-devel openssl \
openssl-devel libxml2 libxml2-devel libjpeg libjpeg-devel libjpeg-turo-devel libpng libpng-devel

安装php

rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum --enablerepo=remi install php56 php56-php-fpm php56-php-mysqlnd php56-php-gd \
php56-php-xmlrpc php56-php-pecl-redis php56-php-mbstring php56-php-ldap
systemctl start php56-php-fpm
systemctl enable php56-php-fpm

启动后netstat -lntp查看9000端口是否起来

安装MySQL

yum install -y mariadb mariadb-server mairadb-devel

编辑/etc/my.cnf修改字符集为utf8

[mysqld]
...
character-set-server=utf8

启动数据库并设置密码为root,即账号密码为root/root,(这里演示用,实际生产环境设置复杂的密码)

systemctl restart mariadb
mysqladmin -uroot -p password 'root'

编译安装zabbix

tar xf zabbix-3.4..tar.gz

cd zabbix-3.4.
./configure \
--prefix=/opt/app/zabbix \
--enable-server \
--enable-agent \
--with-mysql \
--enable-bcmath \
--with-net-snmp \
--with-libcurl \
--with-libxml2 \
--enable-java #开启此功能需要安装jdk make install

创建普通用户zabbix, 因为zabbix不允许root用户运行

useradd zabbix
chown -R zabbix.zabbix /opt/app/zabbix

创建相关目录

cd /opt/app/zabbix
mkdir {logs,script} #存储日志和脚本的目录

在mysql创建数据库并导入数据

create database zabbix;
source /root/tools/zabbix-3.4./database/mysql/schema.sql
source /root/tools/zabbix-3.4./database/mysql/images.sql
source /root/tools/zabbix-3.4./database/mysql/data.sql

修改配置文件

[root@c1 etc]# cd /opt/app/zabbix/etc
[root@c1 etc]# grep -Ev "#|^$" zabbix_server.conf
LogFile=/opt/app/zabbix/logs/zabbix_server.log
PidFile=/opt/app/zabbix/logs/zabbix_server.pid
DBName=zabbix
DBUser=root
DBPassword=root
Timeout=
AlertScriptsPath=/opt/app/zabbix/script #指定脚本目录
LogSlowQueries= [root@c1 etc]# grep -Ev "#|^$" zabbix_agentd.conf
PidFile=/opt/app/zabbix/logs/zabbix_agentd.pid
LogFile=/opt/app/zabbix/logs/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=c1.heboan.com

启动服务

/opt/app/zabbix/sbin/zabbix_server -c /opt/app/zabbix/etc/zabbix_server.conf
/opt/app/zabbix/sbin/zabbix_agentd -c /opt/app/zabbix/etc/zabbix_agentd.conf

安装web界面

安装nginx

useradd -s /sbin/nologin -M nginx
tar xf nginx-1.12..tar.gz
cd nginx-1.12. ./configure \
--prefix=/opt/app/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_realip_module \
--with-cpu-opt=amd64 \
--with-pcre
make
make install

拷贝web文件到nginx目录

mkdir /opt/app/nginx/html/zabbix
cd ~/tools/zabbix-3.4.
cp -r frontends/php/* /opt/app/nginx/html/zabbix/

调整php参数

yum install *bcmath* --skip-broken

/opt/remi/php56/root/etc/php.ini
[Date] #在此行下添加如下一行
date.timezone = Asia/Shanghai 找到如下参数并修改
post_max_size = 20M
max_execution_time =
max_input_time =
always_populate_raw_post_data =
...
extension=bcmath.so #################
vim /opt/app/nginx/html/zabbix/include/classes/setup/CFrontendSetup.php
public function checkPhpAlwaysPopulateRawPostData() {
$current = ini_get('always_populate_raw_post_data');
$current = -; ####添加此行
return [
'name' => _s('PHP option "%1$s"', 'always_populate_raw_post_data'),
'current' => ($current != -) ? _('on') : _('off'),
'required' => _('off'),
'result' => ($current != -) ? self::CHECK_FATAL : self::CHECK_OK,
'error' => _s('PHP option "%1$s" must be set to "%2$s"', 'always_populate_raw_post_data', -)
];
} systemctl restart php56-php-fpm

配置nginx虚拟主机

server {
listen ;
server_name zabbix.heboan.com;
location / {
root /opt/app/nginx/html/zabbix;
index index.html index.htm index.php;
} location ~ \.php$ {
root /opt/app/nginx/html/zabbix;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} access_log /opt/app/nginx/logs/zabbix.log; }

启动nginx,访问http://zabbix.heboan.com进行安装,安装完成后,默认的用户名密码是admin/zabbix

安装zabbix监控系统的更多相关文章

  1. 以源码安装的lamp环境为依托,源码安装zabbix监控系统

    1.源码安装lamp环境 1)安装httpd, 以源码httpd-2.4.33为基础,解压后,执行./configure --prefix=/usr/local/ --sysconfdir=/etc/ ...

  2. linux记录-安装zabbix监控系统

    1. 安装依赖yum -y install libcurl-devel libxml2-devel net-snmp net-snmp-devel2. 安装 nginxyum -y install n ...

  3. CentOS 6.5安装部署Zabbix监控系统

    CentOS 6.5安装部署Zabbix监控系统 先说一点废话,我没有用centos7做实验,讲真,centos 7我也不常用,喜欢新版本的同学其实可以尝试下,注意一点的就是centos 6.5只支持 ...

  4. Zabbix监控系统部署:源码安装

    1. 概述1.1 基础环境2. 部署过程2.1 创建用户组2.2 下载源码解压编译安装2.2.1 下载源码解压2.2.2 YUM安装依赖环境2.2.3 编译安装最新版curl2.2.4 更新GNU构建 ...

  5. Zabbix监控系统深度实践

    Zabbix监控系统深度实践(企业级分布式系统自动化运维必选利器,大规模Zabbix集群实战经验技巧总结,由浅入深全面讲解配置.设计.案例和内部原理) 姚仁捷 著  ISBN 978-7-121-24 ...

  6. 使用percona-xtrabackup实现对线上zabbix监控系统数据库mariadb5.5.47的主从同步

    使用percona-xtrabackup实现对线上zabbix监控系统数据库的主从同步 业务背景: zabbix3.0.4是业务的主要监控,部署在一台单机中,为避免数据丢失先对其做数据主从同步,因主数 ...

  7. Zabbix监控系统部署:基本功能测试

    1. 概述2. 登陆2.1 登陆账号密码2.1 设置中文语言环境3. 创建用户3.1 用户创建入口3.2 添加用户信息3.3 用户报警媒介3.4 用户权限4. 创建监控主机4.1 添加一台监控主机4. ...

  8. Zabbix监控系统部署:前端初始化

    1. 概述 在上一篇博客<Zabbix监控系统部署:源码安装.md>中,主要进行了zabbix最新版的源码编译安装. (博客园地址:https://www.cnblogs.com/liwa ...

  9. zabbix监控系统的配置

    一.zabbix介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系 ...

随机推荐

  1. Java应用调试利器——BTrace教程

    http://www.jianshu.com/p/26f19095d396 背景 生产环境中可能出现各种问题,但是这些问题又不是程序error导致的,可能是逻辑性错误,这时候需要获取程序运行时的数据信 ...

  2. 【51NOD-0】1046 A^B Mod C

    [算法]快速幂运算 [题解]快速幂的原理是把幂用二进制表示,从最低位a,次低位a2,次次低位(a2)2. #include<cstdio> long long quick_pow(long ...

  3. Html5学习3(拖放、Video(视频)、Input类型(color、datetime、email、month 、number 、range 、search、Tel、time、url、week ))

    1.Html拖放 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> < ...

  4. TOJ 1005 Hero In Maze (深搜)

    描述 500年前,Jesse是我国最卓越的剑客.他英俊潇洒,而且机智过人^_^. 突然有一天,Jesse心爱的公主被魔王困在了一个巨大的迷宫中.Jesse听说这个消息已经是两天以后了,他知道公主在迷宫 ...

  5. hdu 1233 还是畅通工程 (最小生成树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1233 还是畅通工程 Time Limit: 4000/2000 MS (Java/Others)    ...

  6. 如何创建和销毁对象(Effective Java 第二章)

    最近有在看Effective Java,特此记录下自己所体会到的东西,写篇博文会更加的加深印象,如有理解有误的地方,希望不吝赐教. 这章主题主要是介绍:何时以及如何创建对象,何时以及如何避免创建对象, ...

  7. python模块中requests参数stream

    PS:这个参数真没用过 当下载大的文件的时候,建议使用strea模式. 默认情况下是false,他会立即开始下载文件并存放到内存当中,倘若文件过大就会导致内存不足的情况. 当把get函数的stream ...

  8. 用tkinter实现的gui小工具

    import tkinter import requests import json from tkinter import * class FindLocation(object): def __i ...

  9. python基础===将json转换为dict的办法

    首先json是字符串. 大家都知道,字符串是用来传递信息的.json字符串实际上就是一种规定了格式的字符串, 通过这种格式,我们可以在不同的编程语言之间互相传递信息,比如我们可以把javascript ...

  10. U-Boot启动过程完全分析<转>

    转载自:http://www.cnblogs.com/heaad/archive/2010/07/17/1779829.html 1.1       U-Boot工作过程 U-Boot启动内核的过程可 ...