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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介:

一、配置

角色

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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
2月前
|
Ubuntu 编译器 开发工具
在Ubuntu系统上搭建RISC-V交叉编译环境
以上步骤涵盖了在Ubuntu系统上搭建RISC-V交叉编译环境的主要过程。这一过程涉及了安装依赖、克隆源码、编译安装工具链以及设置环境变量等关键步骤。遵循这些步骤,可以在Ubuntu系统上搭建一个用于RISC-V开发的强大工具集。
304 22
|
2月前
|
Ubuntu 网络协议 网络安全
解决Ubuntu系统的网络连接问题
以上步骤通常可以帮助解决大多数Ubuntu系统的网络连接问题。如果问题仍然存在,可能需要更深入的诊断,或考虑联系网络管理员或专业技术人员。
641 18
|
3月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
308 18
|
3月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
329 15
|
3月前
|
存储 Ubuntu iOS开发
在Ubuntu 22.04系统上安装libimobiledevice的步骤
为了获取更多功能或者解决可能出现问题,请参考官方文档或者社区提供支持。
227 14
|
3月前
|
Ubuntu
在Ubuntu系统上设置syslog日志轮替与大小限制
请注意,在修改任何系统级别配置之前,请务必备份相应得原始档案并理解每项变更可能带来得影响。
411 2
|
4月前
|
XML Ubuntu Java
如何在Ubuntu系统上安装和配置JMeter和Ant进行性能测试
进入包含 build.xml 的目录并执行:
255 13
|
2月前
|
监控 应用服务中间件 nginx
基于Zabbix的SLA监控体系构建与实践
本文由Zabbix社区专家褚凤彬分享,详解SLA在Zabbix中的应用。通过Trigger与Service联动,构建Web应用的多层级监控体系,并介绍SLA计算规则、维护期处理及升级注意事项,助力企业精准掌控服务可用性。
380 36
|
8月前
|
运维 监控 安全
【案例分享】中国通号卡斯柯公司:ZABBIX如何破解轨道交通监控难题
本文根据2023上海峰会上朱林贤的演讲整理,聚焦中国通号卡斯柯公司如何借助Zabbix实现轨道交通信号系统的智能化管理。作为中外合资企业,卡斯柯通过统一平台整合设备监控,大幅降低成本并提升灵活性,成功应用于国内外项目。文章探讨了传统监控系统的痛点、研发维护经验及国产化与开源技术挑战,为行业转型提供了宝贵启示。未来,开放协作将是推动轨道交通智能化发展的关键。
435 8
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?