详解Zabbix安装部署实践

前言

Zabbix是目前最为主流的开源监控方案之一,部署本身并不困难,难的是深入理解。根据在生产环境的实践从新版Zabbix 4.0 LTS开始全部使用Docker部署,我相信未来越来越多的开源组件都会以容器化的形式呈现在我们面前。

操作系统:

[root@mysql ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

Mysql : 版本5.7.23 192.168.75.251

Zabbix Server:版本3.4.12 192.168.75.250

一、安装Mysql

1.1下载mysql

关闭防火墙

#systemctl stop firewalld
# systemctl disable firewalld
vi /etc/selinux/config
SELINUX=enforcing 改为 SELINUX= disabled

Centos7 默认数据库为mariadb ,先卸载

rpm –qa |grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

这个版本需要boost 1.9,也要下载

[root@mysql soft]# ll
total 132444
-rw-r--r-- 1 root root 83709983 Aug 10 10:26 boost_1_59_0.tar.gz
-rw-r--r-- 1 root root 51907462 Aug 10 10:26 mysql-5.7.23.tar.gz

添加mysql用户,

groupadd mysql
useradd -g mysql -s /sbin/nologin mysql

1.2安装依赖包

yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git ncurses-devel

1.3编译

解压mysql ,把boost的压缩版放到解压后的mysql目录内

tar xzvf mysql-5.7.23.tar.gz
mv boost_1_59_0.tar.gz mysql-5.7.23

进入MySQL源文件目录,新建configure做为编译目录,并进入该目

cd mysql-5.7.23
mkdir configure
cd configure

使用cmake进行生成编译环境,

cmake .. -DBUILD_CONFIG=mysql_release \

-DINSTALL_LAYOUT=STANDALONE \

-DCMAKE_BUILD_TYPE=RelWithDebInfo \

-DENABLE_DTRACE=OFF \

-DWITH_EMBEDDED_SERVER=OFF \

-DWITH_INNODB_MEMCACHED=ON \

-DWITH_SSL=bundled \

-DWITH_ZLIB=system \

-DWITH_PAM=ON \

-DCMAKE_INSTALL_PREFIX=/var/mysql/ \

-DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EDITLINE=bundled \

-DFEATURE_SET=community \

-DCOMPILATION_COMMENT="MySQL Server (GPL)" \

-DWITH_DEBUG=OFF \

-DWITH_BOOST=..

安装

make && make install

修改配置文件

vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/mysql/mysql.sock
port=3306
log_error=/var/mysql/log/error.log
basedir=/var/mysql/
[client]
socket=/var/mysql/mysql.sock
chown mysql.mysql /etc/my.cnf

创建日志文件

mkdir -p /var/mysql/log
touch /var/mysql/log/error.log
touch /var/mysql/mysql.sock
chown -R mysql.mysql /var/mysql/

1.4初始化

#/var/mysql/bin/mysqld --initialize --user=mysql

查看数据文件是否生成

#ll /var/lib/mysql

total 110628

-rw-r----- 1 mysql mysql 56 Aug 10 11:06 auto.cnf

-rw-r----- 1 mysql mysql 417 Aug 10 11:06 ib_buffer_pool

-rw-r----- 1 mysql mysql 12582912 Aug 10 11:06 ibdata1

-rw-r----- 1 mysql mysql 50331648 Aug 10 11:06 ib_logfile0

-rw-r----- 1 mysql mysql 50331648 Aug 10 11:06 ib_logfile1

drwxr-x--- 2 mysql mysql 4096 Aug 10 11:06 mysql

drwxr-x--- 2 mysql mysql 8192 Aug 10 11:06 performance_schema

drwxr-x--- 2 mysql mysql 8192 Aug 10 11:06 sys

查看日志文件是否生成

# ll /var/mysql/log

临时密码生成放在 error.log中

# cat /var/mysql/log/error.log

2019-11-18T09:06:22.922254Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2019-11-18T09:06:24.600401Z 0 [Warning] InnoDB: New log files created, LSN=45790

2019-11-18T09:06:24.853258Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2019-11-18T09:06:24.915246Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 5dbf9eac-9c4a-11e8-8768-000c29a48522.

2019-11-18T09:06:24.916709Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

2019-11-18T09:06:24.917772Z 1 [Note] A temporary password is generated for root@localhost: NS0+>RzwvHWl

1.5启动

修改初始密码、修改环境变量

从模板文件中复制启动文件:

cp /var/mysql/support-files/mysql.server /etc/init.d/mysqld

修改启动文件:

vim /etc/init.d/mysqld

找到如下二行:

basedir=

datadir=

修改为:

basedir=/var/mysql/
datadir=/var/lib/mysql

更改权限

#chown -R mysql.mysql /var/mysql /var/lib/mysql

启动

/etc/init.d/mysqld start
ln -s /var/mysql/bin/mysql /usr/bin

配置MySQL环境变量:

vim /root/.bash_profile

找到下面一行:

PATH=$PATH:$HOME/bin

修改为:

PATH=$PATH:$HOME/bin:/var/mysql/bin

利用上面生成的临时密码,登录

# mysql –u root –p NS0+>RzwvHWl

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 6

Server version: 5.7.23

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

更改初始密码

mysql> alter user 'root'@'localhost' identified by '123456';

二、安装Zabbix Server

2.1 安装php

安装php7.1版本,zabbix3.0版本要求php5.4及以上。

先查看本地php版本

php -v

检查当前php的安装包

yum list installed | grep php

将本地php安装包卸载干净

yum remove php*

默认的yum源无法升级PHP,需要添加第三方yum源,我们选择webtatic库

rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装php7.1

yum install -y php71w

安装相关插件

yum install -y php71w-fpm php71w-opcache php71w-cli php71w-gd php71w-imap php71w-mysqlnd php71w-mbstring php71w-mcrypt php71w-pdo php71w-pecl-apcu php71w-pecl-mongodb php71w-pecl-redis php71w-pgsql php71w-xml php71w-xmlrpc php71w-devel mod_php71w php71w-ldap php71w-bcmath

修改PHP的配置参数

vim /etc/php.ini
date.timezone= Asia/Shanghai
max_execution_time = 300
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 1
max_input_time = 300

Session调整权限,

chmod -R 777 /var/lib/php/session/

2.2 安装zabbix

安装依赖包

yum -y install gcc* make curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb* mysql-devel libxml2-devel curl-devel unixODBC-devel net-snmp-devel OpenIPMI-devel openldap openldap-devel libevent-develjava-devellibssh2-devel

创建zabbix用户和组

groupadd zabbix
useradd -g zabbix zabbix

编译、安装

tar zxvf zabbix-3.4.12.tar.gz
cd zabbix-3.4.12/
./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --enable-ipv6 --with-mysql --with-net-snmp --with-libcurl --with-openipmi --with-unixodbc --with-ldap --with-ssh2 --enable-java
make && make install
chown -R zabbix.zabbix /usr/local/zabbix

修改zabbix配置文件

vi /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DebugLevel=3
DBHost=192.168.75.251 #server和数据库分离的写法
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/mysql/mysql.sock
DBPort=3306
StartPollers=10
Timeout=4
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
LogSlowQueries=3000
CacheSize=1024M

后期配置文件的参数,根据需求做调整。

把zabbix程序包中的几个sql文件传到上面的mysql服务器,导入数据库文件

[root@zabbix ~]# cd /opt/soft/zabbix-3.4.12/database/mysql
[root@zabbix mysql]# ll
total 4876
-rw-r--r--. 1 1001 1001 2877497 Jul 30 19:41 data.sql
-rw-r--r--. 1 1001 1001 1978341 Jul 30 19:41 images.sql
-rw-r--r--. 1 1001 1001 134791 Jul 30 19:41 schema.sql
[root@zabbix mysql]# scp * root@192.168.75.251:/opt/

下面在mysql(192.168.75.251)服务器上操作

#mysql -u root –p

Enter password:

创建zabbix数据库,字符集设置为utf8

mysql>create database zabbix character set utf8 collate utf8_bin;

在mysql数据库中创建zabbix用户,赋予zabbix用户对zabbix数据库的全部权限,允许zabbix服务器远程访问mysql

mysql>GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@192.168.75.250IDENTIFIED BY 'zabbix';
mysql>GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbix';
mysql>flush privileges;
mysql>show databases ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| zabbix |
+--------------------+
5 rows in set (0.00 sec)

导入数据文件,在控制台操作

#mysql -u zabbix -p zabbix <schema.sql
#mysql -u zabbix -p zabbix <images.sql
#mysql -u zabbix -p zabbix <data.sql

2.3zabbix web部署

回到Zabbix Server主机操作。在上面已经安装好httpd , 创建apache下创建zabbix目录

mkdir /var/www/html/zabbix

拷贝zabbix包中的web界面到apache zabbix目录下

\cp–rf /opt/soft/zabbix-3.4.12/frontends/php/* /var/www/html/zabbix/

配置web安全

chown -R apache.apache /var/www/html/zabbix
chmod a+x /var/www/html/zabbix/conf/

拷贝zabbix包中服务启动脚本(server/agentd)到linux系统服务启动目录

cp /opt/soft/zabbix-3.4.12/misc/init.d/fedora/core/zabbix_server zabbix_agentd/etc/init.d/

修改/etc/init.d/zabbix_server和/etc/init.d/zabbix_agentd

BASEDIR=/usr/local修改成
BASEDIR=/usr/local/zabbix/

设置开机启动

systemctl enable httpd
systemctl enable zabbix_server
systemctl enable zabbix_agentd
/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start
systemctl start httpd

2.4web服务初始化

http://192.168.75.250/zabbix/setup.php

连接数据库设置,写mysql服务器所在机器,端口,数据库名称,用户、密码

三、安装Zabbix Proxy

首先,在proxy机器上安装mysql ,跟上面的安装步骤一样,只是在导入mysql文件时,只导入一个文件,

#mysql–uzabbix –p zabbix <schema.sql

安装依赖包

yum -y install gcc* make curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb* mysql-devel libxml2-devel curl-devel unixODBC-devel net-snmp-devel OpenIPMI-devel openldap openldap-devel libevent-develjava-devellibssh2-devel

创建zabbix用户和组

groupadd zabbix
useradd -g zabbix zabbix

编译、安装

tar zxvf zabbix-3.4.12.tar.gz
cd zabbix-3.4.12/
./configure --prefix=/opt/server/zabbix_proxy--enable-proxy --enable-agent --enable-ipv6 --with-mysql --with-net-snmp --with-libcurl --with-openipmi --with-unixodbc --with-ldap --with-ssh2 --enable-java
make && make install
chown -R zabbix.zabbix /opt/server/zabbix_proxy

配置文件修改

Vi /usr/local/zabbix/etc/zabbix_proxy.conf
Server=192.168.75.250
ServerPort=10051
Hostname=zabbix_proxy
LogFile=/tmp/zabbix_proxy.log
DBHost=localhost#因为mysql和proxy安装在同一台机器
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/mysql/mysql.sock
ConfigFrequency=60
DataSenderFrequency=60
StartPollers=5
Timeout=4
LogSlowQueries=3000

启动proxy(要加入到开机自启)

#/opt/server/zabbix_proxy/sbin/zabbix_proxy-c /opt/server/zabbix_proxy/etc/zabbix_proxy.conf
systemctl enable zabbix_proxy

四、启动zabbix_agentd客户端

同上,编译安装zabbix时,客户端也一起编译了,把/usr/local 下面的zabbix目录拷贝到客户端,

修改配置文件

vi /usr/local/zabbix/etc/zabbix_agentd.conf
Server=zabbix_proxy_IP #建议所以客户端都挂在proxy上,扩展性强
Hostname=zabbix_agentd_hostname #填写客户端的主机名

启动(要加入到开机自启)

/usr/local/zabbix/sbin/zabbix_agentd-c /usr/local/zabbix/etc/zabbix_agentd.conf
echo "/usr/local/agent/sbin/zabbix_agentd -c /usr/local/agent/etc/zabbix_agentd.conf" >> /etc/rc.local

五、Web管理

添加监控主机

选择主机监控模版

主机监控成功

总结

以上所述是小编给大家介绍的Zabbix安装部署实践,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • 基于Docker安装与部署Zabbix

    今天测试了一天的Zabbix-Docker,部署起来确实方便,就需要在安装了Docker的linux系统中输入以下命令就可以了. 1.安装mysql数据库, 启动一个空的MySQL服务器实例 docker run –name zabbix-DB -t \      -e MYSQL_DATABASE="zabbix" \      -e MYSQL_USER="zabbix" \      -e MYSQL_PASSWORD="zabbix_pwd&quo

  • Centos7.3安装部署最新版Zabbix3.4的方法(图文)

     一.系统环境 cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 关闭防火墙及selinux systemctl stop firewalld.service systemctl disable firewalld.service sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config grep SELINUX=disabled /etc/seli

  • zabbix v3.0安装部署全过程详解

    关于zabbix及相关服务软件版本: Linux:centos 6.6 nginx:1.9.15 MySQL:5.5.49 PHP:5.5.35 一.安装nginx: 安装依赖包: yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre* make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel lib

  • 详解Zabbix安装部署实践

    前言 Zabbix是目前最为主流的开源监控方案之一,部署本身并不困难,难的是深入理解.根据在生产环境的实践从新版Zabbix 4.0 LTS开始全部使用Docker部署,我相信未来越来越多的开源组件都会以容器化的形式呈现在我们面前. 操作系统: [root@mysql ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) Mysql : 版本5.7.23 192.168.75.251 Zabbix Server:版本3.

  • 详解tomcat热部署和热加载的方法

    详解tomcat热部署和热加载的方法 我在项目开发过程中,经常要改动Java/JSP 文件,但是又不想从新启动服务器(服务器从新启动花时间),想直接获得(debug)结果.有两种方式热部署 和热加载: 1.热加载:在server.xml -> context 属性中 设置 reloadable="true" <Context docBase="xxx" path="/xxx" reloadable="true"/&

  • 详解Eclipse安装SVN插件的两种方法

    eclipse里安装SVN插件,一般来说,有两种方式: 直接下载SVN插件,将其解压到eclipse的对应目录里 使用eclipse 里Help菜单的"Install New Software",通过输入SVN地址,直接下载安装到eclipse里 第一种方式: 1.下载SVN插件 SVN插件下载地址及更新地址,你根据需要选择你需要的版本.现在最新是1.8.x Links for 1.8.x Release: Eclipse update site URL: http://subclip

  • 详解VMware12安装centOS8的配置图文教程(vm虚拟机安装centos8教程)

    前几天Centos8发布了,尽管他是8的第一个版本,那么今天我们就在VM12上面安装centOS8吧,8这个图形化界面我个人感觉有点丑 首先下载iso文件百度下点击进入官网 点击马上获得centos 然后选择这个 选择离你近的镜像地址,点击下载 打开vm12点击新建虚拟机 点击下一步,如下图这样选择,再点击下一步 如下图选择点击下一步 叫什么名字没什么所谓反正可以改的,但是安装最好不要安装到c盘,我是安装到D盘 如果你的物理cpu是4核心,在这里建议使用4核心,这样后期虚拟机运行快.因为我是8核

  • 详解python安装matplotlib库三种失败情况

    (可能只有最后一句命令有用,可能全篇都没用) (小白方法,可能只适用于本人情况) 安装matplotlib时,出现的三种失败情况 1.read timed out 一开始我在pycharm终端使用pip install matplotlib时,出现的是下图所示情况,大致情况是安装时间太长,所以当时我用了清华镜像,将原来的命令改成了pip install -i https://mirrors.ustc.edu.cn/pypi/web/simple/ matplotlib,速度是上来了,但是还是安装

  • 详解ubuntu安装CMake的几种方式

    apt安装CMake sudo apt install cmake 这种方式安装方便,缺点是如果想要自己交叉编译Android平台的opencv会提示版本太低,因为ubuntu16.04源里的cmake版本只有3.5.1,而Android交叉编译工具链android.toolchain.cmake要求cmake版本最低是3.6.0 下载源码编译CMake 到cmake官网下载最新的cmake https://cmake.org/download/ 下载后解压,然后进入目录执行: ./bootst

  • 详解ubuntu安装opencv的正确方法

    本文介绍的是如何安装ubuntu下C++接口的opencv 1.安装准备: 1.1安装cmake sudo apt-get install cmake 1.2依赖环境 sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev sudo apt-get install libgtk2.0-dev sudo apt-

  • 详解Pycharm安装及Django安装配置指南

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于Python实用宝典 ,作者Python实用宝典 Pycharm拥有强大的配置工具.Git版本管理工具.代码补全工具.Debug工具等等,这些都是进行大型项目开发的利器. 尤其是今天的主角Django,由于太过于重要了,Pycharm甚至专门给其提供了配置模板: 能直接在新建项目的时候选择Django并新建一个独立的虚拟环境: 从新建到编码测试,一套流程用起来都极

  • 详解anaconda安装步骤

    最近学习Python对图像的处理,需要配置环境,但是配置之后在命令行运行的时候pip一直不是命令,所以就看着其他大佬下载anaconda;这样就可以使用anaconda中的图像处理了:哈~哈 ~哈 1.安装之后一直点下一步就可以了 2.官方推荐第一个不建议勾选,大致好像是因为勾选后卸载或重装出现问题 第二个勾是anaconda所带的是系统默认的Python版本 3.点击完成之后就行了 4.框框里面的内容简介 Anaconda Navigator 是Anaconda可视化的管理界面. Spyder

  • 详解Vue3 Teleport 的实践及原理

    Vue3 的组合式 API 以及基于 Proxy 响应式原理已经有很多文章介绍过了,除了这些比较亮眼的更新,Vue3 还新增了一个内置组件: Teleport.这个组件的作用主要用来将模板内的 DOM 元素移动到其他位置. 使用场景 业务开发的过程中,我们经常会封装一些常用的组件,例如 Modal 组件.相信大家在使用 Modal 组件的过程中,经常会遇到一个问题,那就是 Modal 的定位问题. 话不多说,我们先写一个简单的 Modal 组件. <!-- Modal.vue --> <

随机推荐