群晖安装docker版zabbix4.2.6及grafana

虚拟容器 盛行 3周前 (08-31) 367次浏览 已收录 8个评论 扫描二维码
文章目录
[隐藏]

1.简介

之前使用DSM内置的docker工具安装zabbix出现了无法执行SQL语句的问题,也就是修改zabbix上面的任何东西都会提示报错(如下图),之后就使用ssh连进去直接使用命令行安装一切正常,对比了使用图形界面创建的容器和命令行下创建的容器做对比,配置都是一样的,目前不清楚是因为什么原因造成SQL执行失败。
群晖安装docker版zabbix4.2.6及grafana

2.相关

DSM版本:6.2.2-24922 Update 2
docker版本:18.09.0-0505
mysql版本:5.7.27
zabbix-java-gateway版本:4.2.6
zabbix-server-mysql版本:4.2.6
zabbix-web-nginx-mysql版本:4.2.6
zabbix-agent版本:4.2.6
grafana版本:6.3.3

因为使用的是mysql数据库,所以镜像要拉取mysql版本的zabbix相关镜像,本文中使用的镜像taglatest的,为了方便记录将taglatest修改为最新版本的4.2.6,可能在你安装的时候4.2.6已经不是最新版本了。

3.效果

因为容器太多,为了方便展示过滤容器,所以添加了一个“-v3”,实际安装代码中无此字符请无视。

群晖安装docker版zabbix4.2.6及grafana

4.步骤

因为在DSM中没有使用“root”用户登录,所以在运行命令之前都需要加上“sudo”才可以正常运行命令,相应的此命令也可以应用在“linux”其它版本中的docker,至于使用什么软件去连接ssh,自己去百度,这里就不讲了。

4.1.DSM安装docker

进入DSM套件中心所有套件-找到“Docker”并安装

群晖安装docker版zabbix4.2.6及grafana

4.2.开启ssh服务

找到DSM中的-“控制面板”-终端机和SNMP钩选启动ssh功能”-应用

群晖安装docker版zabbix4.2.6及grafana

使用完ssh服务之后建议关闭此服务,需要的时候在启用。

4.3.运行mysql

sudo docker run --name mysql-server -t \
      --hostname mysql-server \
      --restart=always \
      -v /etc/localtime:/etc/localtime \
      -v /volume1/docker/mysql/1/:/var/lib/mysql \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix" \
      -e MYSQL_ROOT_PASSWORD="111111" \
      -p 3306:3306 \
      -d mysql:5.7 \
      --character-set-server=utf8 --collation-server=utf8_bin

--name mysql-server:指定容器名称
-t:分配终端
\:换行
--hostname mysql-server:容器主机名称
--restart=always:自动启动容器
-v /etc/localtime:/etc/localtime:让容器时间和宿主机时间同步
-v /volume1/docker/mysql/1/:/var/lib/mysql:映射数据库目录

/volume1/docker/mysql/1/:DSM上的目录路径,你的可能不是“volume1”,路径请先创建好,如果是“linux”不需要自己创建,容器在启动时没有此目录会自动创建
/var/lib/mysql:容器内mysql数据路径

-e:指定变量
-p 3306:3306:指定映射的端口(可指定多个端口),-p 代表将容器上的端口(后)映射到本机的3306(前)上。
-d:后台运行
mysql:5.7:使用mysql5.7版本
--character-set-server=utf8:字符集设置
--collation-server=utf8_bin:排序规则

4.4.运行zabbix-java-gateway

sudo docker run --name zabbix-java-gateway -t \
      --hostname zabbix-java-gateway \
      --restart=always \
      -v /etc/localtime:/etc/localtime \
      -d zabbix/zabbix-java-gateway:latest

上面已解释的参数这里就不在解释了,更多可以参考以下文章,下面只解释没有解释过的参数。

二、Docker常用命令

文章目录[隐藏] 1查看版本2命令帮助3拉取镜像4显示本地镜像5创建并启动容器6显示正在运行的容器7复制文件到 […]

4.5.运行zabbix-server-mysql

sudo docker run --name zabbix-server-mysql -t \
      --hostname zabbix-server-mysql \
      --restart=always \
      -v /etc/localtime:/etc/localtime \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix" \
      -e MYSQL_ROOT_PASSWORD="111111" \
      -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
      --link mysql-server:mysql \
      --link zabbix-java-gateway:zabbix-java-gateway \
      -p 10051:10051 \
      -d zabbix/zabbix-server-mysql:latest

--link mysql-server:mysql:链接到“mysql-server”容器,后面的“mysql”是别名
--link zabbix-java-gateway:zabbix-java-gateway:链接到“zabbix-java-gateway”容器,后面“zabbix-java-gateway”是别名

4.6.运行zabbix-web-nginx-mysql

sudo docker run --name zabbix-web-nginx-mysql -t \
      --hostname zabbix-web-nginx-mysql \
      --restart=always \
      -v /etc/localtime:/etc/localtime \
      -e PHP_TZ=Asia/Shanghai \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix" \
      -e MYSQL_ROOT_PASSWORD="111111" \
      --link mysql-server:mysql \
      --link zabbix-server-mysql:zabbix-server \
      -p 80:80 \
      -d zabbix/zabbix-web-nginx-mysql:latest

-e PHP_TZ=Asia/Shanghai:使用的时区,如果不加服务器报警的时候就会使用国外的
--link zabbix-server-mysql:zabbix-server:不要修改默认的“zabbix-server”名称,如果修改了会造成“zabbix-server”端起不来。

如果要将容器的系统时间与宿主机的时间一样,可以加参数:-v /etc/localtime:/etc/localtime

4.7.运行zabbix-agent

sudo docker run --name zabbix-agent -t \
      --hostname zabbix-agent \
      --restart=always \
      -v /etc/localtime:/etc/localtime \
      -e ZBX_METADATA="system.uname" \
      -p 10050:10050 \
      --link zabbix-server-mysql:zabbix-server \
      -d zabbix/zabbix-agent:latest

-e ZBX_METADATA="system.uname":自动注册时使用的主机元数据

4.8.运行grafana

sudo docker run --name grafana -t \
      --hostname grafana \
      --restart=always \
      -v /etc/localtime:/etc/localtime \
      -p 3000:3000 \
      -d grafana/grafana
以上命令运行完成之后如果访问zabbix-WEB出现类似于“无法选择配置”或是“前端不匹配”的问题请耐心等待“zabbix-server-mysql”容器创建完成数据结构,查看进程可以使用命令docker logs -f zabbix-server-mysql

4.9.访问应用

zabbix-web:http:\\ip
默认用户名:Admin/admin
默认密 码:zabbix
grafana-web:http:\\ip:3000
默认用户名:admin
默认密 码:admin

4.10.修改用户名密码语言

在zabbix4.2.6上点击右上角的人物图像会出现报错造成我们无法修改配置,其它版本无此问题,可能镜像的问题,目前不确定只有这个版本有,报错如下:
Fatal error: Uncaught Error: Call to undefined function mime_content_type() in /usr/share/zabbix/include/sounds.inc.php:27 Stack trace: #0 /usr/share/zabbix/include/views/administration.users.edit.php(345): getSounds() #1 /usr/share/zabbix/include/classes/mvc/CView.php(199): include(‘/usr/share/zabb…’) #2 /usr/share/zabbix/profile.php(189): CView->render() #3 {main} thrown in /usr/share/zabbix/include/sounds.inc.php on line 27
我们可以通过点击“administration”-“users”-“Admin”进入如下界面修改,修改完成之后需要重新登录
群晖安装docker版zabbix4.2.6及grafana

4.11.解决图表文字乱码

当我们修改成为中文界面的时候,图表下的文字会出现乱码的情况,可以点击“配置”-主机图形CPU jumps-“预览”即可看到。下面解决文字码码的问题。

copy C:\Windows\Fonts\simkai.ttf c:\

以上命令可以在“CMD”窗口中运行或是新建“txt”文件把代码放进去,然后将“txt”修改为“bat”运行即可将字体复制到“c”盘根目录下,然后将字体上传到“DSM”系统中的目录下。

sudo docker cp simkai.ttf zabbix-web-nginx-mysql:/usr/share/zabbix/assets/fonts
如果直接使用以上命令需要先“cd”到字体文件“simkai.ttf”目录下,否则将会失败,并且容器内“fonts”路径因zabbix版本不同有所不同,以上命令只适用于4.2.6版本中,例如3.4.15版本的就不是这个路径,如下命令。
sudo docker cp simkai.ttf zabbix-web-nginx-mysql-v3:/usr/share/zabbix/fonts
sudo docker exec -it zabbix-web-nginx-mysql vi /usr/share/zabbix/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME',           'simkai'); // font file name

群晖安装docker版zabbix4.2.6及grafana


IT博客站版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:群晖安装docker版zabbix4.2.6及grafana
喜欢 (2)
[使用支付宝扫码]
分享 (0)
盛行
关于作者:
企业应用技术爱好者,喜欢分享知识。如果文章中有错误,欢迎指正,谢谢。
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(8)个小伙伴在吐槽
  1. 你好,在zabbix4.2.6上点击右上角的人物图像会出现报错造成我们无法修改配置,其它版本无此问题,可能镜像的问题,目前不确定只有这个版本有,报错如下:Fatal error: Uncaught Error: Call to undefined function mime_content_type() in /usr/share/zabbix/include/sounds.inc.php:27 Stack trace: #0 /usr/share/zabbix/include/views/administration.users.edit.php(345): getSounds() #1 /usr/share/zabbix/include/classes/mvc/CView.php(199): include(‘/usr/share/zabb…’) #2 /usr/share/zabbix/profile.php(189): CView->render() #3 {main} thrown in /usr/share/zabbix/include/sounds.inc.php on line 27这个问题,你解决了吗?怎么解决的啊?
    Wrap2019-09-04 10:45 回复 Windows 10 | Chrome 76.0.3809.132
    • 盛行
      这个我也没有解决,其它都正常,应该镜像的问题,等官方更新吧,4.2.5安装都是好的。
      盛行2019-09-04 11:07 回复 Linux | Chrome 66.0.3359.126
      • 谢谢,之前没往镜像有问题方面想,换个4.2.5版本,确实是可以了
        Wrap2019-09-04 13:57 回复 Windows 10 | Chrome 76.0.3809.132
        • 盛行
          是的,镜像有问题 :mrgreen: :mrgreen: 我本来4.2.5,用着用着更新4.2.6了,然后我就发现这个问题了。
          盛行2019-09-04 14:01 回复 Linux | Chrome 66.0.3359.126
          • 厉害厉害,这个博客网站全部都是你自己弄的吗?感觉好厉害的样子,666,我平时都只是用有道云什么的做个笔记
            Wrap2019-09-04 14:09 Windows 10 | Chrome 76.0.3809.132
          • 盛行
            谢谢夸奖,就是记录一下,东西太多靠脑子记不住,我没有搞站的时候也是用了很多笔记工具,用起来感觉都不行,很垃圾,所以就自己搞了一个。
            盛行2019-09-04 14:41 Linux | Chrome 66.0.3359.126
    • web容器安装 php7-fileinfo
      缺舟2019-09-11 10:23 回复 Mac OS X | Chrome 76.0.3809.132
      • 盛行
        在4.2.5里面不需要安装php,因为nginx容器里面有,4.2.6里面也有php,你意思还需要在加个php容器?
        盛行2019-09-11 11:35 回复 Linux | Chrome 66.0.3359.126