实战 zabbix-3.4.11 安装,配置,部署全过程

实战 zabbix-3.4.11 安装,配置,部署全过程



系统环境:CentOS Linux release 7.4.1708 (Core), 3.10.0-693.el7.x86_64
安装顺序:
1) nginx:nginx-1.15.1 - 源码安装方式
2) MySQL:MySQL 5.7.22-1.el7 - yum安装方式, 先要下载该yum源
3) php:php-7.2.3 - 源码安装方式
4) zabbix server: zabbix-3.4.11 - 源码安装方式
5) zabbix agent: zabbix-agent-3.4.11 - rpm 安装方式
6) zabbix web GUI:在zabbix 源码包中 frontends/php目录下



说明:

  • 所有的源码包、压缩包和解压包都放置在 /snow/zabbix/ 目录下
  • 所有组件的安装都安装在 /usr/local/ 目录下,用yum方式安装的除外


步骤:

  • 安装必要的依赖库等组件

    yum -y install zlib pcre pcre-devel openssl openssl-devel

  • 创建www用户

    useradd -s /sbin/nologin www

  • 下载nginx源码包, 版本:nginx-1.15.1

    wget http://nginx.org/download/nginx-1.15.1.tar.gz

  • 解压nginx源码包

    tar -zxvf nginx-1.15.1.tar.gz

  • 下载openssl源码包,版本:openssl-1.0.2o

    wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz

  • 解压openssl源码包

    tar -zxvf openssl-1.0.2o.tar.gz

  • 进入解压后的nginx目录,开始编译

    ./configure \
    --user=www \
    --group=www \
    --prefix=/usr/local/nginx \
    --sbin-path=/usr/local/nginx/sbin/nginx \
    --conf-path=/usr/local/nginx/conf/nginx.conf \
    --error-log-path=/usr/local/nginx/logs/error.log \
    --http-log-path=/usr/local/nginx/logs/access.log \
    --pid-path=/var/run/nginx.pid \
    --lock-path=/var/lock/subsys/nginx \
    --with-openssl=/snow/zabbix/openssl-1.0.2o \
    --with-http_stub_status_module \
    --with-http_ssl_module \
    --with-http_gzip_static_module \
    --with-pcre

  • 执行 make

    make

  • 执行 make install

    make install

  • 删除系统默认安装的mariadb数据库

    rpm -e mariadb-libs-5.5.56-2.el7.x86_64

  • 通过yum源的方式安装MySQL5.7
  • 下载MySQL yum源:

    wget http://repo.mysql.com/mysql57-community-release-el7.rpm

  • 安装yum源:

    rpm -ivh mysql57-community-release-el7.rpm

  • 验证yum源已安装:确认有两个源:mysql-community.repo 和mysql-community-source.repo

    ll /etc/yum.repos.d/ | grep mysql

  • 安装MySQL5.7

    yum install mysql-server mysql mysql-devel

  • 验证MySQL5.7安装成功

    rpm -qa | grep mysql

  • 启动MySQL服务

    systemctl start mysqld

  • 验证MySQL启动成功

    ps -ef | grep mysqld

  • 获取初次安装MySQL后的root的临时密码:

    grep "password" /var/log/mysqld.log

  • 通过临时密码登录MySQL数据库后后,必须要修改密码,否则无法进行相关数据库的操作。
  • 注意新密码要符合密码复杂性要求:最小8位,包含字母大小写,数字和特殊字符

    ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘Your_New_Password‘;

  • 重新用修改后的密码登录数据库验证密码无误。
  • 查看数据库密码策略

    SHOW VARIABLES LIKE "validate_password%";

  • 源码安装php, 先安装php依赖库

    yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

  • 获取php源码包:

    wget http://am1.php.net/distributions/php-7.2.3.tar.gz

  • 解压php源码包

    tar -zxvf php-7.2.3.tar.gz

  • 切换到php解压好的目录下,开始编译配置PHP

    ./configure \
    --prefix=/usr/local/php7 \
    --enable-fpm \
    --with-fpm-user=www \
    --with-fpm-group=www \
    --with-pdo-mysql=mysqlnd \
    --with-mysqli=mysqlnd \
    --with-zlib \
    --with-curl \
    --with-gd \
    --with-jpeg-dir \
    --with-png-dir \
    --with-freetype-dir \
    --with-openssl \
    --enable-mbstring \
    --enable-xml \
    --enable-session \
    --enable-ftp \
    --enable-pdo -enable-tokenizer \
    --enable-zip

  • 执行php make 操作

    make

  • 执行php make install 操作

    make install

  • 拷贝两个文件到相关的目录

    cp php.ini-production /usr/local/php7/lib/php.ini
    cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/

  • 修改nginx配置文件,添加php-fpm的整合配置,如截图:

    vim /usr/local/nginx/conf/nginx.conf

  • 进入安装好的php7 的目录执行下面命令

    cp /usr/local/php7/etc/php-fpm.conf.default php-fpm.conf
    cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

  • 启动php服务

    systemctl start php-fpm.service

  • 验证php-fpm的启动端口是否为9000

    netstat -antlp | grep php

  • 测试nginx是否能正常启动,结果如图能够通过检测

    /usr/local/nginx/sbin/nginx -t

  • 启动nginx

    /usr/local/nginx/sbin/nginx

  • 验证PHP,创建info.php文件

    echo ‘<?php phpinfo(); ?>‘ > /usr/local/nginx/html/info.php

  • 在客户端输入服务器的IP/info.php,如果网页能打卡正常,说明配置正确
  • 如果客户端不能访问网页,关闭服务器防火墙,然后就能打开网页

    systemctl stop firewalld

  • 网页打开效果如图

  • php配置优化,配置完后重启php-fpm服务

    vim /usr/local/php7/lib/php.ini

  • 具体配置参数如下

    post_max_size = 16M
    max_execution_time = 300
    memory_limit = 128M
    max_input_time = 300
    date.timezone = Asia/Shanghai

  • 源码安装zabbix server, 先安装其依赖库和插件

    yum install net-snmp net-snmp-devel curl curl-devel libxml2 libevent libevent-devel

  • 创建启动zabbix的守护进程的普通用户

    groupadd zabbix
    useradd -g zabbix zabbix

  • 获取Zabbix源码包,版本:zabbix-3.4.11

    wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.11/zabbix-3.4.11.tar.gz

  • 解压zabbix源码包

    tar zxvf zabbix-3.4.11.tar.gz

  • 进入解压好的zabbix目录,执行编译
  • 说明:该zabbix目录包含zabbix server端和web前端 (frontends目录)

    ./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --with-libxml2

  • 执行 zabbix make 和 make install 操作,确保没有报错信息

    make
    make install

  • zabbix启动脚本路径默认指向的是/usr/local/sbin路径,而zabbix的安装路是/usr/local/zabbix,因此,需要提前创建如下软链接

    ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
    ln -s /usr/local/zabbix/bin/* /usr/local/bin/

  • 登录MySQL数据库,创建zabbix数据库和zabbix的数据库用户
  • 密码要符合当前数据库密码策略

    create database zabbix character set utf8 collate utf8_bin;
    grant all privileges on zabbix.* to [email protected] identified by ‘[email protected]‘;

  • 退出数据库连接, 进入zabbix源码包中 database/mysql/ 目录下,再重新登入mysql,再在mysql命令行模式下,按顺序执行以下命令来导入sql

    use zabbix;
    source schema.sql;
    source images.sql;
    source data.sql;

  • 配置zabbix server, 编辑 /usr/local/zabbix/etc/zabbix_server.conf,修改以下配置项

  • 拷贝 zabbix_server和zabbix_agentd两个管理脚本,到/etc/init.d目录下

    cp /snow/zabbix/zabbix-3.4.11/misc/init.d/fedora/core/* /etc/init.d/
    chmod +x zabbix_server
    chmod +x zabbix_agentd

  • 让这两个服务开机自动启动

    chkconfig zabbix_server on
    chkconfig zabbix_agentd on

  • 启动zabbix server

    /etc/init.d/zabbix_server start
    或者
    systemctl start zabbix_server

  • 添加相应的zabbix服务和端口到系统配置文件中

    vim /etc/services

  • 添加下面内容

    zabbix-agent 10050/tcp # Zabbix Agent
    zabbix-agent 10050/udp # Zabbix Agent
    zabbix-trapper 10051/tcp # Zabbix Trapper
    zabbix-trapper 10051/udp # Zabbix Trapper

  • 在被监控的服务器端安装和配置 zabbix agent,版本 zabbix-agent-3.4.11
  • 注意:服务器端和客户端的zabbix版本最好一致,这里都是3.4.11的版本
  • 获取zabbix agent rpm 包

    wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.11-1.el7.x86_64.rpm

  • 安装zabbix agent

    rpm -ivh zabbix-agent-3.4.11-1.el7.x86_64.rpm

  • 安装完成后,生成 /etc/zabbix目录和相关配置文件

  • 修改zabbix agent的配置文件zabbix_agentd.conf, 主要项目如下:

    LogFile=/var/log/zabbix/zabbix_agentd.log
    Server=xxx.xxx.xxx.xxx # zabbix server IP 地址
    StartAgents=3
    ServerActive=xxx.xxx.xxx.xxx # zabbix server IP 地址
    Hostname=xxx.xxx.xxx.xxx # zabbix agent 端IP
    Include=/etc/zabbix/zabbix_agentd.d/
    UnsafeUserParameters=1

  • 启动zabbix agent服务

    systemctl start zabbix-agent.service

  • zabbix server端 安装 zabbix web GUI
  • zabbix web GUI:在zabbix 源码包中 frontends/php目录下
  • 拷贝php目录到zabbix安装目录下/usr/local/nginx/html/,并重命名为zabbix

    cp -r /snow/zabbix/zabbix-3.4.11/frontends/php /usr/local/nginx/html/zabbix

  • 最后确保 mysqld, nginx, zabbix_server, zabbix_agentd 和 php-fpm 这些服务已经正常启动运行。
  • 测试 zabbix server 监控是否生效,命令中XXX表示zabbix server IP 地址,如果结果返回一串数字表示测试成功。数字的意思是客户端在线时间时长,单位是:秒

    /usr/local/zabbix/bin/zabbix_get -s XXX.XXX.XXX.XXX -p 10050 -k "system.uptime"

  • 添加在之前完成PHP的安装后缺少的四个功能模块:bcmath,sockets, LDAP和gettext
  • 这里对bcmath 模块进行配置添加作为例子,其它三个模块配置步骤完全一样,记住一点对哪个模块进行配置就在哪个模块下的目录进行操作。

    cd /snow/zabbix/php-7.2.3/ext/bcmath
    /usr/local/php7/bin/phpize

    上面命令执行完成后,在当前目录下生成bcmath的configure文件,再执行下面操作

    ./configure --with-php-config=/usr/local/php7/bin/php-config
    make
    make install
    vim /usr/local/php7/lib/php.ini

    把下面代码添加到php.ini文件中

    extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20170718"
    extension = bcmath.so

  • 把这四个模块都完成编译配置后,最终php.ini里添加的内容如下图
  • 注意:PHP编译配置生成的模块放置于下面的目录

    /usr/local/php7/lib/php/extensions/no-debug-non-zts-20170718/

  • 如果在编译配置LDAP的过程中遇到如下图错误,说明还缺少ldap包,执行下面命令解决该错误,然后再次执行对LDAP的编译配置

    yum install openldap openldap-devel
    cp -frp /usr/lib64/libldap* /usr/lib/

  • 重启php-fpm服务器,对php.ini所做的配置生效

    systemctl restart php-fpm.service

  • 打开浏览器,输入地址,然后就能进入Zabbix 3.4的web管理配置界面

    xxx.xxx.xxx.xxx/zabbix # xxx.xxx.xxx.xxx 是zabbix server的IP地址

  • 在WEB 界面中,点击 Next Step 按钮,进入如下界面,并输入正确的信息,连接数据库

  • 填写zabbix server 的相关信息
  • 预览最终配置
  • 最后一步有个报错,按照提示,先下载配置文件zabbix.conf.php,然后保存到下面目录。

    /usr/local/nginx/html/zabbix/conf/

  • 刷新web页面后,显示成功完成web的前端配置。

  • 点击finish按钮成功进入界面。输入zabbix的用户名和密码

    初始用户名 :Admin
    初始密码:zabbix

  • 最后成功进入zabbix web GUI 界面!!!

原文地址:http://blog.51cto.com/snowlai/2143060

时间: 2024-10-11 19:52:13

实战 zabbix-3.4.11 安装,配置,部署全过程的相关文章

47 监控系统基础及zabbix介绍、zabbix工作原理及安装配置、zabbix on CentOS7、zabbix配置

02    zabbix工作原理及安装配置 配置环境 node1192.168.1.120CentOS6.7 node2192.168.1.121CentOS6.7 1.安装配置zabbix #安装前准备 [[email protected] ~]#yum -y install mysql-server mysq [[email protected] ~]# mysql mysql> CREATE DATABASE zabbix CHARACTER SET utf8; mysql> GRANT

Windows Server 2008安装配置FTP全过程

Windows Server 2008安装配置FTP全过程 http://www.2cto.com/os/201201/116342.html Windows Server 2008安装配置FTP全过程,布布扣,bubuko.com

debian8下安装配置部署zabbix3.0

一.安装配置zabbix server web server服务器:172.28.0.187 mysql服务器:172.28.0.237 1.安装web server(172.28.0.187) A.官方文档 zabbix官方提供了基于packages和编译安装方式的安装文档 这里server我使用package方式安装,agent使用源码编译的方式安装,因为server只有一台,而agent有很多台,需要对安装好的agent修改配置并重新打包,以方便后期批量部署. zabbix的package

ubuntu下安装配置部署zabbix3.0——基于docker

一.系统配置 Ubuntu 16.04 LTS dockers  1.11.2 Mariadb 二.安装docker(apt方式+curl方式) 1.apt方式安装 1.1.安装https证书: $ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates 1.2.安装docker 官方apt源公钥: $ sudo apt-key adv --keyserver hkp://p80.pool.sk

hive 安装配置部署与测试

系统初始化 mysql5.6 的安装配置 hive 的安装配置处理 一: 系统环境初始化 1.1 系统环境: CentOS6.4x64 安装好的hadoop伪分布环境 所需软件包: apache-hive-0.3.1.tar.gz mysql-connector-java-5.1.27.tar.gz mysql-server-5.6.24-1.el6x86_64 mysql-client-5.6.24-1.el6x86_64 上传到/home/hadoop/yangyang/ 二: 安装mysq

openstack-mitaka之镜像服务管理安装配置部署

1.以root用户登陆,创建glance数据库,并为glance数据库授权 2.加载admin-openrc环境变量,用户证书 3.创建服务证书需要完成如下操作: 1)创建glance用户 2)添加 admin 角色到 glance 用户和 service 项目上. 3)创建glance服务实体 4.创建镜像服务的 API 端点: 5.安装glance软件包 6.编辑/etc/glance/glance-api.conf,具体配置如下: 1)[database]配置如下(系统文件的641行左右)

openstack-mitaka之认证服务管理安装配置部署

1.以root用户登陆数据库,并创建数据库keystone,同时为数据库授权,并设置密码为keyston_dbpass 2.keystone认证服务使用带有mod_wsgi的Apache HTTP服务器来服务认证服务请求,端口为5000和35357.因此需要在controller节点安装相应的软件包 4.使用命令生成随机密码令牌 3.编辑/etc/keystone/keystone.conf 1)在[DEFAULT]定义初始管理令牌的值: 2)在 [database] 部分,配置数据库访问: 3

新反向代理与负载均衡工具 traefik 安装配置部署详解

traefik ## 简介 traefik是一款开源的反向代理与负载均衡工具.软件定位是做负载均衡器,提供好用的负载均衡服务,不要老拿它跟nginx对比.它最大的优点是能够与常见的微服务系统直接整合,可以实现自动化动态配置. 目前支持:Docker, Swarm, Mesos/Marathon, Mesos, Kubernetes, Consul, Etcd, Zookeeper, BoltDB, Rest API等等后端模型. #### ME为什么选择traefik? Golang编写,单文件

tomcat 安装配置部署到nginx+tomcat+https

目录 1 Tomcat简介 2.下载并安装Tomcat服务 2.2 部署java环境 2.3 安装Tomcat 2.4 Tomcat目录介绍 (关注点 bin conf logs webapps) 2.5 启动Tomcat 3.2 Tomcat管理 8 搭建jpress--java 版本的wordpress tomcat 配置文件 conf/server.xml tomcat 自定义网站目录 Tomcat多实例 (多个虚拟主机) tomcat反向代理集群 tomcat监控 zabbix监控 ng

Weblate 2.11安装配置文档

一.系统环境: OS:CentOS 6.8 x64 Minimal HostName:Weblate IP:192.168.75.153 Python:2.7.13 pip:9.0.1 Weblate:2.11 Nginx:1.10.1 MySQL:5.5.54 Uwsgi:2.0.14 SELinux:关闭 Iptables:关闭 二.系统设置: 修改机器名: [[email protected] /]# vim /etc/sysconfig/network 修改如下项目: HOSTNAME=