生产环境中部署:zabbix3.2.1 (ubuntu系统)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

一、配置

角色

IP

主机名

虚拟IP

Zabbixserver主节点

10.36.1.55

Compute51

10.36.1.101

Zabbixserver从节点

10.36.1.56

Compute52

mysql数据库主节点

10.36.1.1

Controller1

10.36.1.100 

mysql数据库从节点

10.36.1.17

Controller2


二、安装

    本次部署完全是参照zabbix官方文档进行部署

    https://www.zabbix.com/documentation/3.0/manual/installation/install_from_packages

    


一、MYSQL数据库准备
在我的生产环境里,已经存在有一套mysql高可用的环境在这里,我只需要创建zabbix所需的库
1、创建zabbix数据库
shell> mysql -uroot -p<your root password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@10.36.1.100 identified by 'zabbix';
mysql> flush privileges
mysql> quit;
说明:10.36.1.100是访问数据库的VIP地址(也就是虚拟IP,不要理解成了VIP会员哈 )



二、回到zabbix server的安装
1、下载zabbix_3.2.1.orig.tar.gz
下载链接:http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix/zabbix_3.2.1.orig.tar.gz

2、解压
tar -zxvf zabbix-3.2.0.tar.gz

3、创建一个普通账户:zabbix 用于运行zabbix服务
groupadd zabbix
useradd -g zabbix zabbix

4、创建一个zabbix数据库
就在刚才,已经创建好了一个数据库,名称为zabbix。
4.1、开始蛋疼的问题来了,我说测试一下用zabbix这个账户登录数据库居然提示没有权限
解决办法:
之前我们在授权的时候是执行了:
grant all privileges on zabbix.* to zabbix@10.36.1.100 identified by 'zabbix';
下面,我用root登入数据库,执行:
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
flush privileges
再试试登录:
mysql -uzabbix -pzabbix
尼玛,可以登录了。OK,那就先这样,我们等会再来说这个问题

4.2、好吧,那继续往下走,导入zabbix数据到zabbix数据库里
先把zabbix-3.2.1.tar.gz文件scp下发到数据库服务器的/root/目录里,然后解压
scp zabbix-3.2.1.tar.gz root@10.36.1.1:/root (我的数据库主节点的IP是10.36.1.1)

接着进入解压完zabbix-3.2.1.tar.gz的目录/root/zabbix-3.2.1/database/mysql
root@compute51:~/zabbix-3.2.1/database/mysql# pwd
/root/zabbix-3.2.1/database/mysql
root@compute51:~/zabbix-3.2.1/database/mysql# ls -l
total 3064
-rw-r--r-- 1 zabbix zabbix 1032494 Sep 30 17:47 data.sql
-rw-r--r-- 1 zabbix zabbix 1978341 Sep 30 17:43 images.sql
-rw-r--r-- 1 zabbix zabbix  122134 Sep 30 17:47 schema.sql
看到3个文件没有?先别管干嘛用的,导入再说吧!
切记:注意导入顺序schema——>images——>data
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql

导入完成以后,登录数据库看看zabbix库有没有数据
mysql -uzabbix -pzabbix
use zabbix
show tables;
牛逼!居然有了,那么我这里就不截图了哈!!



5、下面开始配置源
配置Zabbix server和agent
./configure --enable-server --enable-agent --with-mysql --with-libcurl --with-libxml2
这个配置,我就按照官方的了,我也不需要太多的功能,基本就这样吧!

悲催了,配置的时候会检查环境,但是有很多依赖包没有安装,那么先安装相关依赖包吧
apt-get update
apt-get -y install make
apt-get -y install gcc
apt-get -y install libghc-hsql-mysql-dev
apt-get install libmysqlclient18
apt-get -y install libxml2-dev
apt-get install libcurl3-dev
apt-get install libsnmp-dev

configure中的一些选项到底是啥玩意?看看帮助吧!!
./configure --help
--enable-ipv6           Turn on support of IPv6
--enable-server         Turn on build of Zabbix server
--enable-agent          Turn on build of Zabbix agent and client utilities
 --with-mysql[=ARG]      use MySQL client library [default=no], optionally
                          specify path to mysql_config
If you want to use Net-SNMP library:
  --with-net-snmp[=ARG]   use Net-SNMP package [default=no], optionally
                          specify path to net-snmp-config
If you want to use XML library:
  --with-libxml2[=ARG]    use libxml2 client library [default=no], optionally
                          specify path to xml2-config
If you want to use cURL library:
  --with-libcurl[=DIR]    use cURL package [default=no], optionally specify
                          path to curl-config


6、下面开始编译安装
make install

安装完成后会默认的安装守护程序的二进制文件路径在:(/usr/local/sbin zabbix_server,zabbix_agentd zabbix_proxy)
客户端在/usr/local/bin/ 二进制文件(zabbix_get zabbix_sender)

当然,这个是默认的,在configure的时候可以用 --prefix指定安装目录

7、安装完成后检查各配置文件是否存在
 /usr/local/etc/zabbix_agentd.conf    客户端文件
 /usr/local/etc/zabbix_server.conf 服务端文件
 

8、下面编辑zabbix_server.conf配置文件,指定数据库
# vim /usr/local/etc/zabbix_server.conf
DBHost=10.36.1.100 #我这里用的是独立数据库
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix 

9、继续,下面安装Zabbix web界面
PHP文件复制
Zabbix前端是用PHP编写的,所以它需要一个PHP支持网络服务器运行。安装是通过简单地复制网络服务器的PHP文件从前端/ PHP HTML文档目录。
常见的Apache web服务器的HTML文档目录位置包括:
    /usr/local/apache2/htdocs (默认目录安装Apache时)
    /srv/www/htdocs (OpenSUSE, SLES)
    /var/www/html (Fedora, RHEL, CentOS)
    /var/www (Debian, Ubuntu)

9.1、安装apache2,并拷贝php文件(php文件在解压后的zabbix-3.2.1目录里)
apt-get -y -install apache2
cd var/www/html
mkdir zabbix    #创建一个目录
chown zabbix:zabbix zabbix/        #将这个目录的
cp -R /root/zabbix-3.2.1/frontends/php/* /var/www/html/zabbix
    
9.2、安装PHP5和配置Zabbix前端PHP
apt-get install php5
apt-get install php5-gd
apt-get install php5-mysql
vim /etc/php5/apache2/php.ini

打开php.ini配置文件后续修改的配置项如下:
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga (date.timezone = Asia/Shanghai     #去掉“;”,添加Asia/Shanghai)
之所以要配置php.ini中的内容,是确保所有软件先决条件得到满足。


10、下面开始安装前端
通过火狐浏览器打开http://10.36.1.55/zabbix/setup.php
10.1、进来以后会看到zabbix3.2的欢迎界面
直接点击netx step
10.2、然后来到检查先决条件的界面,确保所有软件先决条件得到满足之后选择下一步继续。
10.3、接着来到数据库配置
我这里使用的是独立数据库,而且是之前搭建好的一套mysql高可用。
还记得之前执行过这条命令不?grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
那么现在进入到两台数据库里分别执行如下命令:
grant all privileges on zabbix.* to zabbix@slave identified by'zabbix';
flush privileges;

10.4、下面开始配置数据库信息
databases host 10.36.1.100 (VIP)
port 3306
database name :zabbix
user:zabbix
password:zabbix

至此基本上大功告成



本文转自 TtrToby 51CTO博客,原文链接:http://blog.51cto.com/freshair/1880671

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
13天前
|
Ubuntu Windows
【Ubuntu/Arm】Ubuntu 系统如何链接有线网络(非虚拟机)?
【Ubuntu/Arm】Ubuntu 系统如何链接有线网络(非虚拟机)?
|
18天前
|
Ubuntu NoSQL 关系型数据库
Ubuntu系统下安装常用软件
Ubuntu系统下安装常用软件
39 0
Ubuntu系统下安装常用软件
|
22天前
|
Ubuntu Linux 数据安全/隐私保护
Windows11 使用 WSL2部署Ubuntu
在管理员PowerShell中运行命令启用Windows子系统Linux和虚拟机平台,但安装Ubuntu时遇到错误。解决方法是下载NoLsp_fix_WSL2工具,以管理员权限进入其目录,使用工具指向WSL的路径(例如 `C:\windows\system32\wsl.exe`)进行修复,然后能成功打开Ubuntu。
32 4
|
3月前
|
Ubuntu 安全 网络安全
百度搜索:蓝易云【Ubuntu系统SSH服务端配置】
现在,你已经成功在Ubuntu系统上配置了SSH服务端。这将允许其他计算机通过SSH协议连接到你的Ubuntu系统,并进行远程管理和操作。请注意,远程访问有安全风险,建议在生产环境中采取必要的安全措施来保护系统。
37 3
|
3月前
|
Ubuntu 网络安全
百度搜索:蓝易云【ubuntu系统ufw开放端口教程】
现在,你已经成功在Ubuntu系统中使用ufw开放了指定的端口。请确保只开放必要的端口,并注意网络安全。
68 3
|
3月前
|
存储 Ubuntu 网络协议
Ubuntu本地部署Nextcloud并结合内网穿透实现远程访问搭建个人云盘
Ubuntu本地部署Nextcloud并结合内网穿透实现远程访问搭建个人云盘
112 1
|
13天前
|
Ubuntu Linux 网络安全
【ubuntu】MobaXtem远程登录ubuntu系统(或虚拟机)
【ubuntu】MobaXtem远程登录ubuntu系统(或虚拟机)
|
23小时前
|
Ubuntu 关系型数据库 MySQL
如何在Ubuntu使用宝塔部署Emlog网站并发布到公网实现任意浏览器访问
如何在Ubuntu使用宝塔部署Emlog网站并发布到公网实现任意浏览器访问
|
14天前
|
Kubernetes Ubuntu 应用服务中间件
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
68 0
|
2月前
|
Ubuntu 关系型数据库 MySQL
如何在Ubuntu部署Emlog,并将本地博客发布至公网可远程访问
如何在Ubuntu部署Emlog,并将本地博客发布至公网可远程访问
37 1