群晖安装docker版zabbix4.0.20及grafana

虚拟容器 盛行 1年前 (2019-08-31) 9956次浏览 已收录 92个评论 扫描二维码
文章目录
[隐藏]

1.相关

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

2.效果

群晖安装docker版zabbix4.0.20及grafana

3.步骤

因为在DSM中没有使用“root”用户登录,所以在登录终端之后使用sudo -i切换到“root”用户,提示输入密码输入自己的密码或运行命令之前都加上“sudo”运行即可。

3.1.DSM安装docker

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

群晖安装docker版zabbix4.0.20及grafana

3.2.开启ssh服务

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

群晖安装docker版zabbix4.0.20及grafana

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

3.3.mysql-server

注意:本段内容须成功“回复本文”后“刷新本页”方可查看!


--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:排序规则

3.4.zabbix-java-gateway

注意:本段内容须成功“回复本文”后“刷新本页”方可查看!


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

Docker和docker-compose相关命令

文章目录[隐藏] 1docker命令1.1容器管理1.1.1创建并启动容器1.1.2看正在运行的容器1.1.3 […]

3.5.zabbix-server-mysql

注意:本段内容须成功“回复本文”后“刷新本页”方可查看!


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

3.6.zabbix-web-nginx-mysql

注意:本段内容须成功“回复本文”后“刷新本页”方可查看!


-v /root/simkai.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf:映射字体文件,解决图表中中文字符乱码的问题,单独处理图表中中文字符乱码请点我,请将字体文件提前上传到/root/目录下。
-e PHP_TZ=Asia/Shanghai:使用的时区,如果不加服务器报警的时候就会使用国外的
--link zabbix-server-mysql:zabbix-server:不要修改默认的“zabbix-server”名称,如果修改了会造成“zabbix-server”端起不来。
如果要将容器的系统时间与宿主机的时间一样,可以加参数:-v /etc/localtime:/etc/localtime

3.7.zabbix-proxy-mysql

注意:本段内容须成功“回复本文”后“刷新本页”方可查看!


这里因为zabbix-server-mysql的数据库与zabbix-proxy-mysql不在一台主机上面,为了方便都使用zabbix名称的数据库,不会冲突,但是如果是一台主机请注意修改zabbix-proxy-mysql的数据库为zabbix_proxy即可。另外zabbix-proxy-mysql这样启动是主动模式,如果要修改为被动可以增加-e ZBX_PROXYMODE="1",主动=0;被动=1

-e ZBX_SERVER_HOST="zabbix.china.com":zabbix-server主机的IP地址域是域名
-e ZBX_HOSTNAME="proxy-china":zabbix-proxy-mysql主机的名称,随便定义,也就是要在web页面的“agent代理程序”中要输入的名称。

3.8.容器版agent

注意:本段内容须成功“回复本文”后“刷新本页”方可查看!


-e ZBX_METADATAITEM="system.uname":自动注册时使用的主机元数据
容器启动成功之后需要到zabbix-web上去点击配置主机Zabbix server-接口地址更改为zabbix-agent的IP地址,默认的127.0.0.1无法上线,查看zabbix-agent的IP命令:docker exec -it zabbix-agent ifconfig eth0

3.9.非容器版agent

不使用docker版的agent,Zabbix server上线的方法,使用yum或是离线安装好agent,编辑配置文件

vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1,172.17.0.4(zabbix-server-mysql容器IP地址)
ServerActive=127.0.0.1(这个默认不要去修改)
Hostname=Zabbix server(这个默认不要去修改)

修改保存之后重启zabbix-agent

systemctl restart zabbix-agent

然后去Web页面修改Zabbix server的接口IP为宿主机IP地址或docker网关地址,等待上线即可,如下图:

群晖安装docker版zabbix4.0.20及grafana

3.10.运行grafana

注意:本段内容须成功“回复本文”后“刷新本页”方可查看!


以上命令运行完成之后如果访问zabbix-WEB出现类似于“无法选择配置”或是“前端不匹配”的问题请耐心等待“zabbix-server-mysql”容器创建完成数据结构,查看进程可以使用命令docker logs -f zabbix-server-mysql

3.11.访问应用

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

3.12.报错处理

在zabbix4.2.6上点击右上角的人物图像会出现报错造成我们无法修改配置,4.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

sudo docker exec -it zabbix-web-nginx-mysql bash
apk add php7-fileinfo
exit
sudo docker restart zabbix-web-nginx-mysql

此问题是因为“zabbix-web-nginx-mysql”容器中缺少“php7-fileinfo”造成,进入到容器中安装,然后重启“zabbix-web-nginx-mysql”容器即可

或我们可以通过点击“administration”-“users”-“Admin”进入如下界面修改,修改完成之后需要重新登录
群晖安装docker版zabbix4.0.20及grafana

3.13.解决图表文字乱码

当我们修改成为中文界面的时候,图表下的文字会出现乱码的情况,可以点击“配置”-主机图形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.0.20版本中,例如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.0.20及grafana


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

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

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(92)个小伙伴在吐槽
  1. 学习一下 学习一下
    kiwi2020-09-26 18:54 (2天前)回复 Windows 10 | Chrome 78.0.3904.108
    • 盛行
      好的,大佬
      盛行2020-09-26 19:08 (2天前)回复 Linux | Chrome 81.0.4044.117
  2. 很需要这个
    Runto2020-09-17 18:46 回复 Windows 10 | Chrome 79.0.3945.130
  3. 谢谢大佬
    lcj2020-09-16 20:39 回复 Windows 10 | Chrome 78.0.3904.108
    • 盛行
      你才是大佬
      盛行2020-09-16 20:40 回复 Windows 7 | Chrome 84.0.4147.125
  4. 新手,好多东西都不懂,望指教。
    mahaha2020-09-15 11:43 回复 Windows 10 | Chrome 70.0.3538.102
    • 盛行
      好说,大佬尽管吩咐
      盛行2020-09-15 12:36 回复 Linux | Chrome 81.0.4044.117