zabbix详解:(一)使用docker搭建安装zabbix3.2监控平台

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

docker是什么,还有怎么用,请看我另一篇博客,希望你们看懂了,然后还能用得上.

至于zabbix,应该是挺出名的服务器监控软件了,简单灵活而又智能化,还能调用API,比起我以前用的nagios感觉还简单一些,下面来介绍在docker环境安装zabbix3.2.

首先说说3.2这个版本是最新版,这个版本和之前2.X的差异,主要在于UI优化,还有加强了一些自动发现的功能,性能优化等,很多人担心太新稳定性不行,但是我这边稳定性暂时没发现问题.

安装前要准备一套LNMP环境,因为zabbix本身也是web系统,怎么安装LNMP,我就不在这里详细说了,也不应再篇幅之内,各位自行安装.


启动docker容器:   

    我标题写的是使用docker搭建,所以先用docker启动一个容器来实现,不过比较遗憾,我并不打算详细说docker的事情,各位就请看我另一篇文章了,我这边直接用自己已经定义好的模板来做了,命令如下:

1
docker run -ti --name zabbix-test1 --restart=on-failure:3 -c 256 -m 1g --memory-swap=-1 -p 25001:22 -p 10050:10050 -p 10051:10051 - v  /data/zabbix : /data  - v  /mnt/soft : /soft  centos /test :zabbix-test1  /bin/init .sh

    具体意思还是得说说的,不然真的云里雾里,这里创建了一个叫zabbix-test1的容器,分配了256份cpu,1G内存,把22端口映射到25001,把10050和10051映射到母机相同的端口,并挂载相关要使用的文件夹.

    里面已经有安装好的LNMP环境,端口映射也直接能用,我不用装服务器了,也不用拉一大堆依赖包,相当方便,所以LNMP环境也不准备细说了,没错,docker就是这点爽.


安装:

    安装前嘛,当然是先下载软件了,可以去这个网站:

    http://www.zabbix.com/download

其他不用研究了,我们只看Zabbix Sources源码包系列和Zabbix pre-compiled agents监控节点程序

监控节点稍后再说,现在来看用源码安装zabbix server和agent,zabbix的源码包已经有了一整套的环境,按着流程来做就完全没问题了

创建、导入zabbix数据库:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#进入软件包下载目录,没有定性,只是我喜欢放到这里
cd  /opt/ 
#解压
tar  xf zabbix-3.2.1. tar .gz 
#里面有几种数据库,但是我们用mysql,所以进入mysql数据库创建脚本目录,
cd  /opt/zabbix-3 .2.1 /database/mysql
#列出文件,可以看到有schema.sql、images.sql、data.sql这三个文件 
ls  -l
total 3064
-rw-r--r-- 1 www www 1032494 Sep 30 17:47 data.sql
-rw-r--r-- 1 www www 1978341 Sep 30 17:43 images.sql
-rw-r--r-- 1 www www  122134 Sep 30 17:47 schema.sql
#进入准备好的mysql数据库,输入密码,进入MySQL控制台
mysql -uroot -pXXXXXX 
#创建数据库zabbix,并且数据库编码使用utf8
create database zabbix character  set  utf8;
#刷新系统授权表 
#新建账户zabbix,密码zabbix,一般情况下,直接用下面一种方法就可以
insert into mysql.user(Host,User,Password) values( 'localhost' , 'zabbix' ,password( 'zabbix' )); 
flush privileges; 
#允许账户zabbix能从本机连接到数据库zabbix
grant all on zabbix.* to  'zabbix' @ 'localhost'  identified by  'zabbix'
flush privileges; 
#进入数据库,准备导库
use zabbix
#注意:请按照以上顺序进行导入,否则会出错。
#导入脚本文件到zabbix数据库 
source  /opt/zabbix-3 .2.1 /database/mysql/schema .sql 
#导入脚本文件到zabbix数据库
source  /opt/zabbix-3 .2.1 /database/mysql/images .sql 
#导入脚本文件到zabbix数据库
source  /opt/zabbix-3 .2.1 /database/mysql/data .sql 
#退出
exit 
#也可以或者这样导入
mysql -uzabbix -p123456 -hlocalhost zabbix <  /opt/zabbix-3 .2.1 /database/mysql/schema .sql
mysql -uzabbix -p123456 -hlocalhost zabbix <  /opt/zabbix-3 .2.1 /database/mysql/images .sql
mysql -uzabbix -p123456 -hlocalhost zabbix <  /opt/zabbix-3 .2.1 /database/mysql/data .sql

   安装zabbix:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
1、添加用户:
#创建用户组zabbix
groupadd zabbix 
#创建用户zabbix,并且把用户zabbix加入到用户组zabbix中
useradd  zabbix -g zabbix -s  /bin/false 
2、安装依赖包 
#CentOS使用yum命令安装,如果在安装Web环境LAMP或者LNMP时已经安装过,此步骤可忽略
yum  install  net-snmp-devel curl curl-devel mysql-devel
apt-get  install  -y libsnmp-dev libmysqld-dev curl
3、安装zabbix
#进入安装目录
cd  /opt/zabbix-3 .2.1 
#配置,
. /configure  --prefix= /usr/local/zabbix  -- enable -server -- enable -agent --with-net-snmp --with-libcurl -- enable -proxy --with-mysql= /usr/bin/mysql_config 
#如果报错,那就要:find / -name mysql_config 查找位置,如果没有mysql_config,需要安装yum install mysql-devel 或者查看mysqlclinet.so库文件
#完成后编译
make 
#最后安装
make  install 
#添加命令软连接
ln  -s  /usr/local/zabbix/sbin/ /usr/local/sbin/ 
#添加命令软连接
ln  -s  /usr/local/zabbix/bin/ /usr/local/bin/ 
 
4、添加zabbix服务对应的端口
#编辑,在最后添加以下代码,一般系统会自带,不过多添加也不影响
vi  /etc/services 
# Zabbix
zabbix-agent 10050 /tcp  # Zabbix Agent
zabbix-agent 10050 /udp  # Zabbix Agent
zabbix-trapper 10051 /tcp  # Zabbix Trapper
zabbix-trapper 10051 /udp  # Zabbix Trapper
#保存退出
:wq! 
5、修改zabbix配置文件
cd  /usr/local/zabbix/etc
#修改zabbix server端的配置
vi  /usr/local/zabbix/etc/zabbix_server .conf
#数据库名称
DBName=zabbix 
#数据库用户名
DBUser=zabbix 
#数据库密码
DBPassword=zabbix 
#数据库ip地址,如果是远程地址,要记得改
ListenIP=localhost 
#数据库端口,同上配合
DBPort=3306
#zabbix运行脚本存放目录,如果是自定义脚本,就自己考虑要怎么改
AlertScriptsPath= /usr/local/zabbix/share/zabbix/alertscripts 
#保存退出
:wq! 
#修改zabbix agent端的配置,因为是本机,要改的地方很少
vi  /usr/local/zabbix/etc/zabbix_agentd .conf
#额外自定义监控配置文件的存放位置,有自定义监控就一定要设置了
Include= /usr/local/zabbix/etc/zabbix_agentd .conf.d/
#启用自定义key
UnsafeUserParameters=1 
#保存退出
:wq! 
6、添加开机启动脚本
#服务端,如果只是需要客户端,可以忽略这个
cp  /usr/local/src/zabbix-3 .2.1 /misc/init .d /fedora/core/zabbix_server  /etc/init .d /zabbix_server 
#客户端
cp  /usr/local/src/zabbix-3 .2.1 /misc/init .d /fedora/core/zabbix_agentd  /etc/init .d /zabbix_agentd 
#添加脚本执行权限
chmod  +x  /etc/init .d /zabbix_server 
#添加脚本执行权限
chmod  +x  /etc/init .d /zabbix_agentd 
#添加开机启动,centos7之后会不一样,各位自己看情况
chkconfig zabbix_server on 
#添加开机启动,如果只是需要客户端,可以忽略这个
chkconfig zabbix_agentd on 
7、修改zabbix开机启动脚本中的zabbix安装目录
#编辑服务端配置文件
vi  /etc/init .d /zabbix_server 
#zabbix安装目录
BASEDIR= /usr/local/zabbix/ 
#保存退出
:wq! 
#编辑客户端配置文件
vi  /etc/init .d /zabbix_agentd 
#zabbix安装目录
BASEDIR= /usr/local/zabbix/ 
#保存退出
:wq!

    配置web站点(php代码):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#进入zabbix源码包目录
cd  /opt/zabbix-3 .2.1
#拷贝zabbix的php文件到已经安装并定义好的LNMP代码目录
cp  -r  /usr/local/src/zabbix-3 .2.1 /frontends/php  /data/htdocs/www/zabbix
#更改好属主权限,是nginx的权限,我这里是www用户
chown  www:www -R  /data/htdocs/www/zabbix
备注: /data/htdocs/www 为我自己设置的Nginx默认站点目录 www为Nginx运行账户
#启动zabbix服务端
service zabbix_server start 
#启动zabbix客户端
service zabbix_agentd start 
#编辑修改php配置,不然会用不了
vi  /etc/php .ini 
post_max_size =16M
max_execution_time =300
max_input_time =300
#保存退出
:wq! 
#编辑修改
vi  /usr/local/php/etc/php-fpm .conf 
request_terminate_timeout = 300
#保存退出
:wq! 
#重启php-fpm
service php-fpm reloa

不过,还要多做一个事,修改web界面为中文,因为虽然zabbix自带中文语言包,但是翻译效果惨不忍睹(谁叫电脑是美国发明的呢),有很多乱码,所以需要改善一下,

1、修改系统配置文件,让web页面支持简体中文显示,新版本其实已经改好,但是还是要注意这个地方,别被坑

1
2
3
4
5
6
7
#编辑修改
vi  /data/htdocs/www/zabbix/include/locales .inc.php 
'zh_CN'  => array( 'name'  => _( 'Chinese (zh_CN)' ),  'display'  =>  false ),
#修改为
'zh_CN'  => array( 'name'  => _( 'Chinese (zh_CN)' ),  'display'  =>  true ),
#保存退出
:wq!

2、替换监控图像上系统默认的字体,默认字体如果不替换,图像上会显示乱码

在Windows系统中的C:\Windows\Fonts目录中复制出一个中文字体文件,例如msyh.ttf是微软雅黑

1
2
3
4
5
6
#把字体文件msyh.ttf上传到zabbix站点根目录下fonts文件夹中
cp  -ar msyh.ttf  /data/htdocs/www/zabbix/fonts/msyh .ttf
#备份默认的字体文件:
mv  DejaVusSans.ttf DejaVusSans.ttf.bak
#修改msyh.ttf名称为DejaVusSans.ttf
mv  msyh.ttf DejaVusSans.ttf

最后,在web界面修改配置信息,把默认语言修改为简体中文,这个后面再说明在哪里改

Language:Chinese(zh_CN)  

 安装web:

这个步骤主要是在web运行,zabbix的web和zabbix_server是两回事,和zabbix_agent是三回事,所以配置都是不一样的,下面来看看.

先打开已经配置好的web站点,你的LNMP环境没问题就可以正常了.

进入http://10.27.X.X/zabbix 看到欢迎界面,直接右下角下一步:

wKiom1gz7PHhS04PAABpfAVb5qU526.png-wh_50

这里全是ok的话,你就可以下一步了.这里是否ok取决于你LNMP的配置环境符不符合他的要求,有一个不ok,你就不能下一步了,这里也看到了,php要5.4以上,还有一些特定的php配置.不过,如果不ok也会有提示的,只要不是软件版本不兼容的问题,按着他提示的来改配置,也是能过的:

wKioL1gz7PKyhcFfAACfNa5-gA0004.png-wh_50

这一步就是配置数据库了,你的zabbix_server是怎么配置的,就怎么配置吧,然后下一步就行,当然你要保证数据库能连得上是吧:

wKioL1gz7PLzSgu2AACHikUC24k591.png-wh_50

这一步是确认你自己的地址和端口,要不是你自己闲的蛋疼做了什么特殊的网络配置,直接下一步就可以了:

wKiom1gz7PLQpahBAABn2Wxyoas188.png-wh_50

这一步就是确认你之前提交过的数据,生成表单,然后提交,属于检查吧,检查过没问题就下一步吧:

wKiom1gz7POz3HsiAACW9vnZdhI452.png-wh_50

这步就是完成配置了,直接点finish就行了,你的zabbix就配置完成了.

wKioL1gz7POyCKypAAB0oB4fnS0934.png-wh_50


登录使用:

    详细的使用方法会在下一篇深入探讨,这里只说明怎么登录和简单使用

默认的账号:admin

默认的密码:zabbix

Sign in 登录进去

当然你是可以改的,进去再改吧

wKioL1gz8Zrgdb3eAAAlRfrlx-M225.png-wh_50






进去了就是这样,当然这是我有一些机器了,不要紧张为什么和我不一样:

wKioL1gz8X7jXudFAAEiu5aN1ys089.png-wh_50

修改密码和语言就点右上角的小人头然后就出来一个修改框让你改了,改成什么你们随意:

wKiom1gz84-BJmkfAABgLWcu-Es840.png-wh_50

想要添加用户,就点击管理--用户,去添加和修改用户,你也可以添加用户群组,还可以配置特定权限,这个自己摸索,不想详细说明了

wKioL1gz9DyACaTKAACAAFOgN3E834.png-wh_50

然后,这就能用了,当然还要添加机器了,不然还看啥,不过要下一篇再详细说明,敬请期待.





     本文转自arthur376 51CTO博客,原文链接:http://blog.51cto.com/arthur376/1875442,如需转载请自行联系原作者



相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
Linux 虚拟化 Docker
Windows10安装Docker Desktop(大妈看了都会)
Windows10安装Docker Desktop(大妈看了都会)
270 2
|
3天前
|
消息中间件 PHP 数据安全/隐私保护
docker安装rabbitmq并配置hyperf使用
通过以上步骤,您可以实现在Docker容器中安装和配置RabbitMQ,并在PHP的Hyperf框架中进行集成和使用。这种方式为开发者提供了快速部署并实现消息队列解决方案的能力,同时维持了环境与生产环境的一致性,从而为开发高效的分布式应用程序提供了便利。
9 3
docker安装rabbitmq并配置hyperf使用
|
2天前
|
网络安全 文件存储 C#
Docker 安装迅雷NAS
【7月更文挑战第3天】在Docker中安装迅雷NAS的步骤包括:确保已安装Docker,使用`docker run`命令拉取镜像(可选阿里云仓库),设置容器参数如命名、主机名、网络模式、挂载目录和重启策略,并开启防火墙端口。访问迅雷NAS网页需内测邀请码,注意安全性和内网使用。操作可能因设备和网络环境差异需调整。
33 15
|
7天前
|
存储 Linux 网络安全
Centos安装Docker的详细安装步骤,Docker相关组件:docker-ce-cli、docker-ce和containerd.io的区别
Centos安装Docker的详细安装步骤,Docker相关组件:docker-ce-cli、docker-ce和containerd.io的区别;CentOS7安装DockerCompose;Docker镜像仓库
193 11
|
5天前
|
Docker 容器
docker安装minio
以上就是在Docker中安装MinIO的步骤。
13 2
|
5天前
|
Docker 容器
docker desktop安装es并连接elasticsearch-head:5
以上就是在Docker Desktop上安装Elasticsearch并连接Elasticsearch-head:5的步骤。
21 2
|
7天前
|
应用服务中间件 API 数据库
Docker 安装 KONG 带你玩转 API 网关
**摘要:** 在微服务架构中,API网关Kong作为流行开源选择,提供身份验证、安全和流量控制等功能。通过Docker部署Kong简单高效。步骤包括:创建Docker网络,部署PostgreSQL数据库,初始化Kong数据库,启动Kong容器,并检查运行状态。此外,安装Konga管理界面便于直观管理Kong。使用Docker命令行,逐步设置环境变量和网络连接,即可完成安装。当不再需要时,可清理相关容器和网络。Kong结合Konga,为API管理提供强大且用户友好的解决方案。
22 1
|
20天前
|
持续交付 开发工具 git
阿里云云效产品使用问题之在云效代码域中gitlab使用docker安装的,迁移时遇到“获取企业信息失败”,是什么原因
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
21天前
|
缓存 Linux Docker
CentOS 7 下安装 Docker 及配置阿里云加速服务
CentOS 7 下安装 Docker 及配置阿里云加速服务
328 1
|
22天前
|
Linux Docker 容器
Centos8安装Docker
Centos8安装Docker
72 1