【记录】Zabbix安装及简单使用(二)

需要说明的是,此记录仅是本人安装过程的情况,每个人的安装环境不一,过程中可能还需要安装其它的依赖情况,这里说不尽也道不完,还需各位根据情况进行排错。

Zabbix4.0

为什么要写这个标题的原因,是因为我在部署到线上环境的时候,由于种种原因选择了docker部署Zabbix4.0版本的。因为自己没有好好阅读官方的产品手册,所以遇到了不少坑,所以也在这记录下来,希望能帮助到一些后来的朋友。
docker镜像用的是centos-4.0.26版本
拉取

docker pull zabbix/zabbix-server-mysql:centos-4.0.26
docker images 
REPOSITORY                              TAG                 IMAGE ID            CREATED             SIZE
zabbix/zabbix-server-mysql              centos-5.0-latest   45a52b35737c        8 days ago          345MB

获取数据库文件和web源码
在官网
在这里插入图片描述
下拉
在这里插入图片描述
下载Zabbix源码并解压缩

wget https://cdn.zabbix.com/zabbix/sources/stable/4.0/zabbix-4.0.26.tar.gz
tar -xzvf zabbix-4.0.26.tar.gz

解压后得到zabbix-4.0.26文件夹
sql文件在zabbix-4.0.26/database/mysql下,web文件在zabbix-4.0.26/frontends/php下
创建数据库并导入数据

mysql -uroot -p
mysql>create database zabbix character set utf8 collate utf-bin;
mysql>grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'zabbix';
mysql>flush privileges;
mysql>use zabbix;
mysql>source <yourpath>/zabbix-4.0.26/database/mysql/schema.sql;
mysql>source <yourpath>/zabbix-4.0.26/database/mysql/images.sql;
mysql>source <yourpath>/zabbix-4.0.26/database/mysql/data.sql;
mysql>quit;

必须按照schema.sql>images.sql>data.sql导入数据,否则报错。
把web源码拷贝到站点文件夹,参考前一篇文章【记录】Zabbix安装及简单使用(一)
需注意的是配置文件在站点根目录/conf/zabbix.conf.php。

server端部署

  1. 启动镜像
docker run -d -t \
--name zabbix-server
--hostname zabbix-server
-e DB_SERVER_HOST="your database host" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_DATABASE="zabbix" \
-v /home/zabbix/zabbix_server.conf:/etc/zabbix/zabbix_server.conf \
-v /home/zabbix/logs:/tmp/logs \
-v /home/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
-v /home/zabbix/externalscripts:/usr/lib/zabbix/externalscripts \
-p 10051:10051 \
zabbix/zabbix-server-mysql:centos-4.0.26

-d:后台运行容器
-t:给容器分配一个终端
-e:设置容器的环境变量
-v:挂载文件夹
-p:端口映射 宿主机端口:容器端口
–name:设置容器名称
–hostname:设置容器的主机名
这几个数据库的环境变量是必须设置的,否则容器起不来。zabbix-server docker会根据这几个环境变量写入配置文件的数据库配置,至于还能传入其它的环境变量,大家可以看看官方手册:Zabbix Documentation 4.0 从容器安装
在这里插入图片描述

挂载点也是有限制的
在这里插入图片描述
查看容器运行情况

docker ps -a
CONTAINER ID        IMAGE                                      COMMAND                  CREATED             STATUS                      PORTS                                                                                                                                                  NAMES
f53c6cd87c67        zabbix/zabbix-server-mysql:centos-4.0.26   "/sbin/tini -- /usr/…"   46 hours ago        Up 38 hours                 0.0.0.0:10051->10051/tcp                                                                                                                               zabbix-server

查看容器IP

docker inspect zabbix-server

把web的配置文件相应修改即可访问。

  1. 存在的一些坑
    坑一:
    原本的本地上用docker部署5.0版本的时候一切都十分顺利,只要把容器正常启动就可以正常工作,但是部署了4.0后发现ICMP的监控模版不能使用,在web上看报了错
    在这里插入图片描述
    server容器上日志
    在这里插入图片描述
    补充一句,因为zabbix容器的日志类型是不能修改的,即配置文件里的LogType,默认就是console,要查看日志使用命令
dokcer logs zabbix-server -f

这是因为fping的执行权限问题,按照网上的解决步骤是:

docker exec -it zabbix-server bash
chown -R root:root /usr/sbin/fping
chmod 4710 /usr/sbin/fping
chown -R root:root /usr/sbin/fping6
chmod 4710 /usr/sbin/fping6

修改/etc/passwd,允许zabbix使用shell登录,测试fping

vim /etc/passwd
zabbix:x:997:994:Zabbix Monitoring System:/var/lib/zabbix:/bin/bash
su zabbix
fping baidu.com 
baidu.com is alive

好的,可以执行说明权限没问题,然而报错并没有消失。
这个问题困扰了我好几天,问了好多人也没发现什么问题。
经过不断的docker stop rm run 之后,还是没有找出问题所在。
就在我快要顶不住了要吐了的时候,一道闪电划过我的脑袋瓜子,我的手不受控制地敲下两行命令

mv /usr/sbin/fping6 /usr/sbin/fping6.bk
ln -s /usr/sbin/fping /usr/sbin/fping6

wrlg,两分钟过后,告警消失了!我又添加了几个测试主机使用ICMP监控,发现已经可以正常使用。
至今我仍然不明白,难道4.0版本默认使用ipv6?因为我是务实的,所以并没有深究下去,如果有大神可以告知一二那就甚好。
坑二:
容器里没有中文环境,是得邮件推送是中文内容乱码而且以bin结尾的附件发送。
需要执行以下命令生成中文环境:

localedef -f UTF-8 -i zh_CN zh_CN.UTF-8
locale -a
C
POSIX
en_US.utf8
zh_CN.utf8

看到有zh_CN.utf8就可以推送中文了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值