评论

收藏

[Linux] 基于nginx的zabbix 5.0安装部署

服务系统 服务系统 发布于:2021-07-16 15:47 | 阅读数:648 | 评论:0

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

实验环境
之前大家可能经常会基于apache去部署zabbix,但是这样会偶尔遇到一些问题,比如说:公司系统的框架是nginx的,然后搭建的zabbix却是基于apache的,这样就会出现不兼容的情况,那么今天小编就带大家操作一下基于nginx的zabbix5.0的部署。
下面跟大家交代一下小编的实验环境框架:
操作系统:Centos7
web应用:nginx
php:7.2
数据库:mariadb


安装部署服务端
配置源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
DSC0000.png
yum repolist  #查看zabbix 源文件
<p>yum list zabbix<em>   #查看当前源存在哪些zabbix应用包</p>
<br><h1>直接安装zabbix服务端跟客户端</h1><br>
yum -y install zabbix-server-mysql zabbix-agent
DSC0001.png
#安装web前端服务的一个依赖包
yum -y install centos-release-scl   #安装scl的依赖包,主要用于调取源
DSC0002.png

这里安装完成之后,我们需要对之前下载的yum源文件进行修改,因为在5.0版本的zabbix的源中,web前端的源是被默认禁用的,我们需要启用
cd /etc/yum.repo.d/
vim zabbix.repo<br><h1>找到<a href="前端" title="zabbix-frontend">zabbix-frontend</a></h1><br>
enabled=0  #将这里的关闭修改为1,即为开启
DSC0003.png
#修改完成之后在次使用 yum list zabbix 就会发现源文件中多了web相关的源<br><h1>安装web前端服务</h1><br>
yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl
DSC0004.png

到这里zabbix服务端的应用就全部部署完成了,下面就开始部署数据库了。

安装配置数据库(这里使用的是mariadb,感兴趣的同学可以使用编译或者别的方法安装mysql试试)
yum -y install mariadb-server
DSC0005.png

数据库安装完成之后,可以先启动数据库看看
systemctl start mariadb.service
<br><h1>执行完毕之后可以使用以下命令进行查看数据库是否正常启动</h1><br>
netstat -ltunp | grep 3306
DSC0006.png

mariadb安装完成之后,默认是没有登录密码的,我们可以直接使用mysql进行数据库的登录
登录之后,可以先进行一个业务库的创建(这里需要注意,数据库在创建的时候要注意字符集的设定,否则在后续的web端进行部署的时候会出现问题)
[root@localhost ~] mysql
<p>Mariadb [(none)] &gt;</p>
<p>Mariadb [(none)] &gt;create database zabbix character set utf8 collate utf8_bin;  #创建数据库时指定字符集为utf8</p>
<p>Mariadb [(none)] &gt;</p>
<p>Mariadb [(none)] &gt;show databases;   #查看数据库是否创建成功</p>
<br><h1>这里看到zabbix数据库已经成功创建之后就可以退出数据库了


DSC0007.png

然后我们查看下zabbix在安装时都安装了些什么
rpm -ql zabbix-server-mysql
DSC0008.png

这里能看到我们在安装的时候,zabbix 有提供一个用于初始化的gz的压缩包
我们把这个压缩包里的sql语句都导出来,方便后续的使用
[root@localhost ~] zcat /usr/share/doc/zabbix-server-mysql-5.0.13/create.sql.gz &gt; zabbix.sql
<p>[root@localhost ~] ls   #就能查看到我们导出的sql 文件</p>
<p>[root@localhost ~] mysql &lt; zabbix.sql</p>
ERROR 1046 (3D000) at line 1: No database selected   #这里可以看到出现了一个报错,没有数据库可以用来查看
DSC0009.png
#那我们这里稍微修改下zabbix.sql 的文件
[root@localhost ~] vim zabbix.sql<br><h1>在文件的最上端添加</h1><br>
<p>use zabbix;</p>
[root@localhost ~] mysql &lt; zabbix.sql #然后再次进行数据的导入
DSC00010.png

导入完成之后,我们再次进入数据库进行查看下之前导入的数据表
[root@localhost ~] mysql
<p>Mariadb [(none)] &gt; use zabbix</p>
<p>Mariadb [(none)] &gt; show tables;</p>
<br><h1>因为zabbix需要进行数据库的链接,所以这里我们需要进行一步用户的授权操作</h1><br>
<p>Mariadb [(none)] &gt; grant  all on zabbix.</em> to zabbix@localhost identified by 'zabbix';</p>
<br><h1>到这里数据库也算是部署完成并且配置完成了</h1><br>
DSC00011.png

DSC00012.png

zabbix服务端的配置
[root@localhost ~] vim /etc/zabbix/zabbix_server.conf  #zabbix服务端的配置文件
<br><h1>进来之后我们查找一下DBName,会有一个DBName=zabbix的参数配置,这里默认就是zabbix</h1><br><br><h1>DBName=zabbix   #这里因为我们创建的数据库的名字就是zabbix 所以不需要修改,但是如果有同学在创建数据库时,数据库名不是zabbix的,这里就需要进行修改了</h1><br>
<p>DBUser=zabbix  #连接数据库的用户</p>
<br><h1>DBPassword=</h1><br><br><h1>原来的配置文件默认是没有密码的,这里需要修改一下</h1><br>
<p>DBPassword=zabbix</p>
<br><h1>DBSocket=  #socket 跟默认是一致的,这里不需要修改


DSC00013.png

web端php的配置
[root@localhost ~] cd /etc/opt/rh/
<p>[root@localhost rh] ls</p>
<p>rh-nginx116   rh-php72</p>
<p>[root@localhost rh] cd rh-php72    #这里先修改php的配置文件</p>
<p>[root@localhost rh-php72] ls</p>
<p>opt pear  pear.conf  php.d   php-fpm.conf  php-fpm.d   php.ini  pki  pm skel  sysconfig  X11  xdg  xinetd.d</p>
<p>[root@localhost rh-php72]  vim php-fpm.d/zabbix.conf</p>
<p>6 listen.acl_users=apache,nginx    #监听的认证用户,这里默认是apache的,需要我们添加一个nginx</p>
<p>24 ;php_value[date.timezone] = Europe/Riga   #这里默认的时区是欧洲的时区,需要修改</p>
<p>24 php_value[date.timezone] = Asia/Shanghai</p>
<br><h1>这里php就这两处需要进行修改的


DSC00014.png

DSC00015.png

web端的nginx的配置修改
[root@localhost rh-php72] cd ..
<p>[root@localhost rh] cd rh-nginx116</p>
<p>[root@localhost rh-nginx116]  ls</p>
<p>nginx  opt  pki  pm  skel   sysconfig  X11  xdg  xinetd.d</p>
<p>[root@localhost rh-nginx116] cd nginx</p>
<p>[root@localhost nginx] cd conf.d</p>
<p>[root@localhost conf.d] ls</p>
<p>zabbix.conf</p>
<p>[root@localhost conf.d] vim zabbix.conf</p>
server {<br><h1>listen       80;</h1><br><br><h1>server_name    example.com;</h1><br>
<p>这里只需要针对性的修改上面这两条就可以了,修改为</p>
<spacecab4e16095a02e6e40ce58c1c553eee7Code 0>
<p>...</p>
<p>...</p>
}
DSC00016.png

DSC00017.png

这里因为在配置文件中,我们配置的监听端口是80并且监听的域名是本地的,所以在主配置文件中,我们需要将这两条进行注释。
[root@localhost conf.d]  cd ..
<p>[root@localhost nginx] vim nginx.conf</p>
server  {<br><h1>listen        80  default_server</h1><br><br><h1>listen        [::]:80  default_server</h1><br>
}
<br><h1>这里将server 中所有的配置全部都注释掉,以保证两个配置文件不会发生冲突


DSC00018.png

DSC00019.png

到这里 我们的zabbix-server,php,nginx,mysql 这些就都已经部署配置完成了
然后接下来我们检查一下我们本地的一些基本的安全策略
[root@localhost nginx] systemctl status firewalld
<p>[root@localhost nginx] systemctl disable firewalld</p>
<p>[root@localhost nginx] getenforce</p>
<p>Enforcing    #表示开启状态,需要关闭</p>
<p>[root@localhost nginx] setenforce 0</p>
<p>[root@localhost nginx] vim /etc/selinux/config</p>
SELINUX = disable  #将这里修改为关闭
DSC00020.png

现在就部署的差不多了,我们来把相应的服务启动一下,看一下效果
[root@localhost nginx] systemctl start zabbix-server.service  
<p>[root@localhost nginx] systemctl start rh-php72-php-fpm.service</p>
<p>[root@localhost nginx] systemctl start rh-nginx116-nginx.service</p>
<p>[root@localhost nginx] netstat -lutnp</p>
<p>这其中 9000 是php的端口</p>
<p>3306是mysql的端口</p>
<p>80是nginx端口</p>
<p>10051是zabbix-server的端口</p>
<br><h1>检查以上的端口是否都存在,如端口存在则说明对应的应用已经启动完成了


DSC00021.png

都启动完成之后,我们可以通过浏览器访问来进行查看
只要在浏览器中输入我们服务器对应的IP地址进行访问就可以了
DSC00022.png

DSC00023.png

这里主要检查小编标注的的那部分是不是都是ok的,如果存在不是ok状态的,就需要针对单项进行修复。
DSC00024.png

这里就是数据库的实例名,用户,密码,安装我们安装数据库时的情况填写就可以了
DSC00025.png

这边是zabbix的用户名
DSC00026.png

这里就是zabbix在web页面上需要配置的全部的参数内容了
DSC00027.png

这里就可以看到,恭喜你,您已经成功的安装好了zabbix服务
DSC00028.png

zabbix默认的用户名是Admin密码是zabbix
DSC00029.png

在zabbix5.0中是有配置可以修改为中文字符显示的。
DSC00030.png

DSC00031.png

这里我们就可以看到页面已经转换成中文。
至此zabbix5.0基于nginx的部署就完成了,谢谢各位看官的学习观看,后续小编还会继续更新相关的技术文章的,请各位看官多多支持。

关注下面的标签,发现更多相似文章