千家信息网

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

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,docker是什么,还有怎么用,请看我另一篇博客,希望你们看懂了,然后还能用得上.至于zabbix,应该是挺出名的服务器监控软件了,简单灵活而又智能化,还能调用API,比起我以前用的nagios感觉还
千家信息网最后更新 2024年09月22日zabbix详解:(一)使用docker搭建安装zabbix3.2监控平台

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

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

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

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


启动docker容器:

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

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数据库:

#进入软件包下载目录,没有定性,只是我喜欢放到这里cd /opt/ #解压tar xf zabbix-3.2.1.tar.gz #里面有几种数据库,但是我们用mysql,所以进入mysql数据库创建脚本目录,cd /opt/zabbix-3.2.1/database/mysql#列出文件,可以看到有schema.sql、p_w_picpaths.sql、data.sql这三个文件 ls -ltotal 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 p_w_picpaths.sql-rw-r--r-- 1 www www  122134 Sep 30 17:47 schema.sql#进入准备好的mysql数据库,输入密码,进入MySQL控制台mysql -uroot -pXXXXXX #创建数据库zabbix,并且数据库编码使用utf8create database zabbix character set utf8;#刷新系统授权表 #新建账户zabbix,密码zabbix,一般情况下,直接用下面一种方法就可以insert into mysql.user(Host,User,Password) values('localhost','zabbix',password('zabbix')); flush privileges; #允许账户zabbix能从本机连接到数据库zabbixgrant 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/p_w_picpaths.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.sqlmysql -uzabbix -p123456 -hlocalhost zabbix < /opt/zabbix-3.2.1/database/mysql/p_w_picpaths.sqlmysql -uzabbix -p123456 -hlocalhost zabbix < /opt/zabbix-3.2.1/database/mysql/data.sql

安装zabbix:

1、添加用户:#创建用户组zabbixgroupadd 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-develapt-get install -y libsnmp-dev libmysqld-dev curl3、安装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 # Zabbixzabbix-agent 10050/tcp # Zabbix Agentzabbix-agent 10050/udp # Zabbix Agentzabbix-trapper 10051/tcp # Zabbix Trapperzabbix-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/#启用自定义keyUnsafeUserParameters=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代码):

#进入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 =16Mmax_execution_time =300max_input_time =300#保存退出:wq! #编辑修改vi /usr/local/php/etc/php-fpm.conf request_terminate_timeout = 300#保存退出:wq! #重启php-fpmservice php-fpm reloa

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

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

#编辑修改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是微软雅黑

#把字体文件msyh.ttf上传到zabbix站点根目录下fonts文件夹中cp -ar msyh.ttf /data/htdocs/www/zabbix/fonts/msyh.ttf#备份默认的字体文件:mv DejaVusSans.ttf DejaVusSans.ttf.bak#修改msyh.ttf名称为DejaVusSans.ttfmv 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 看到欢迎界面,直接右下角下一步:

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


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

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

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

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


登录使用:

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

默认的账号:admin

默认的密码:zabbix

Sign in 登录进去

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

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

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

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

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

配置 数据 数据库 文件 用户 目录 脚本 环境 监控 端口 系统 服务 字体 客户 客户端 密码 就是 问题 中文 命令 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 平度商城软件开发服务公司 珠海学习网络安全老品牌 网络安全和英语同时学习 嵌入式软件开发专业好的学校 打印机服务器控制打印权限 目前财务软件开发商 怎么测试网络安全性 网络安全体系的恢复 高中数据库说课稿 剑与家园苹果版如何切换服务器 网络安全的诈骗方式 邮储总行软件开发岗面试 nas服务器搭建教程 贵州通讯软件开发服务参考价格 常熟市微派网络技术有限公司 总体设计不属于软件开发时期 联影网络安全 根据网络安全法的规定关机 服务器断电挂载磁盘错误 惠普服务器阵列卡换电池 扬州软件开发有哪些 sap软件开发合同 mc服务器简介乱码 软件开发过程中的二八定律 东莞企学宝培训软件开发 美国一号网络技术有限公司 网络技术支持工程师做什么 毛晶玥网络安全课视频 阿里云上部署服务器安全吗 杭州软件开发公司哪家正规
0