CentOS7 下安装zabbix服务

最近上网发现zabbix有着强大的监控功能,自己想吃一口新鲜的,但是安装的时候发现自己踩到很多的坑。多番折腾后终于找到一个比较合适快捷的安装过程,整体安装调试时间在20分钟左右。

前戏准备工作

[root@ACA80AFA ~]# cat /etc/centos-release //查看版本号
CentOS Linux release 7.5.1804 (Core) 

 日常基本操作,我们关闭防火墙

systemctl disable firewalld

接下来我们进行对于SELinux的文件修改

vi /etc/sysconfig/selinux

1

将SELINUX改为“disabled”,保存后重启。(修改参数文件后需要重启才能生效

  • 在以后的安装中我们需要使用wget,但是默认的系统安装中没有安装wget,安装wget
yum install wget
*若提示需要配置资源库,则执行yum -y update,执行完毕后,再进行安装
  • ​​​​​​接下来对yum进行操作,
mv /etc/yum.repos.d/CentOS-Base.repo{,.bak}
  • 为了避免使用本地镜像带来的奇奇怪怪的问题,我们采用阿里云的镜像。
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • 执行完毕后我们用  yum clean all    清理一下,然后我们使用yum makecache命令,把服务器的包信息下载到本地电脑缓存起来
yum makecache
  • 接下来需要强调的是我们会用到EPEL。所谓EPEL 是yum的一个软件源,里面包含了许多基本源里没有的软件了,但在我们在使用epel时是需要安装它才可以了,EPEL,即Extra Packages for Enterprise Linux的简称,是为企业级Linux提供的一组高质量的额外软件包,包括但不限于Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux (SL), Oracle Enterprise Linux (OEL),使用docker之前安装EPEL源。话不多说,我们来进行操作。
yum install epel-release -y
  • 接下来我们在来安装fish
yum install fish -y && fish
  • 接下来我们再来安装Apache, PHP, MySQL以及php连接mysql库组件。
yum install httpd php php-mysql mariadb-server -y
  • 编辑名为test.php的文件,添加对应的内容。
vi /var/www/html/test.php

编辑内容为:
<?php
		phpinfo();
?>

之后我们使用systemctl start httpd设置httpd服务开机启动

接下来我们使用浏览器进行测试查看,测试方法为 http://ip/tset.php ,例如我的IP为172.168.10.250,测试地址为 http://172.168.10.250/tset.php

若出现如上图所示界面,则证明前面配置的服务无误,若出现报错,考虑是否关闭防火墙以及selinux修改后是否重启的问题,细节问题往往是关键

  • 随后我们使用systemctl start mariadb命令,使mariadb开机启动(如果提前安装过mysql的话,这一步很容易出现类似于 Failed to start mariadb.service: Unit not found.这样的错误,这是一个坑啊我在这折腾了很久还是没有结果,后来了解到这是Centos7内置的MySQL镜像已经放弃Oracle公司的MySQL,改用MySQL的分支数据库mariaDB)
  • 接下来我们需要进行有关MySQL的一系列操作
mysql_secure_installation
.......
.......
Enter current password for root (enter for none):    //在这里按下回车进行操作




*以下都是啰嗦的废话,建议这样的选择,实际按y还是n根据个人口味选择
————————————————————————————————————————————————————————————————————————————
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!
  • 进行完如上操作后,使用命令 mysql -uroot -p密码 进入MySQL,进行有关数据表库的相关操作(一定记得在语句后要加上';',每次操作到这里都想起第一次配置的时候那种心痛到无法呼吸的快感
create database zabbix character set utf8;          //创建有关zabbix的数据库
create user	'test'@'%' identified by 'qazwsx';	    //创建密码为qazwsx的test用户
grant all on zabbix.* to 'test'@'%' identified by 'qazwsx';   //授权test用户拥有zabbix的数据库的所有权限
flush privileges;                                   //刷新权限
exit
  • 在对数据库进行完操作后,需要接下来安装相应的rpm包,但是我们发现在对某些rpm包操作的时候,往往会有一些错误提示,导致无法安装。特别是有一些网络下载的rpm,这是因为需要的签名并不全,没有包含这些软件的签名。解决的方法很简单,我们只需要执行下列代码,执行完毕后再安装即可。
rpm --import /etc/pki/rpm-gpg/RPM*          //这样做是为了把签名写入系统,因为安装包时需要数字签名,这样导入系统后不会出现NOKEY
  • 再接下来我们需要安装zabbix对应的包(如果一台主机扮演三个端,那么可以都安装上,但是一般来说,都是在zabbix服务端安装zabbix-server-mysql ,zabbix-web, zabbix-web-mysql)
yum install zabbix-server-mysql zabbix-get zabbix-web zabbix-web-mysql zabbix-agent zabbix-sender -y
  • 在配置完毕后,我们需要修改zabbix.conf文件
vi /etc/httpd/conf.d/zabbix.conf

————————————————————————————————————————————————————————
将最后一行的时区进行如下修改,去掉注释,时区改成亚洲上海
php_value date.timezone Asia/Shanghai
  • 接下来我们进入对应目录,把对应文件进行解压
cd /usr/share/doc/zabbix-server-mysql-3.0.22/
ls            // 查看文件
AUTHORS  ChangeLog  COPYING  create.sql.gz  NEWS  README
gzip -d create.sql.gz                //文件解压
  • 对数据库进行操作
mysql -utest -p密码 zabbix < create.sql
mysql -utest -p密码                                //进入数据库(前面已经给授权)
———————————————————————————————————————————————————————————————————————————————
MariaDB [(none)]> use zabbix;                     //切换用户库
MariaDB [zabbix]> show tables;                    //查看数据表
  • 对zabbix的文件进行参数配置
vi /etc/zabbix/zabbix_server.conf
————————————————————————————————————————————————————————————————————————
对文件进行如下的操作:
将DBHost的注释(#)去掉,将localhost改成127.0.0.1;
将DBUser参数改成刚刚设置好的用户,也就是我刚刚用的test;
将DBPassw的注释(#)去掉,等号后添加刚刚设置的密码;
将DBSocket的注释(#)去掉,修改后面路径,改为/var/lib/mysql/mysql.sock
  • 最后再对zabbix服务和http服务进行相关操作即可(特别重要,我跟你讲,不搞一下就404你信不信!
systemctl start zabbix-server
systemctl status zabbix-server
systemctl status httpd
systemctl restart httpd
  • 最后是调试工作,浏览器访问地址:http://ip/zabbix,例如我的ip是172.168.10.250,访问如图

下一步我们发现检查的全都是可爱的原谅色,从来没这么喜欢过这种颜色。

在接下来的配置中输入之前我们配置的用户和密码

完成配置后就出现登陆界面,你们知道为什么我在这没有配图了么,我把密码忘了,把密码忘了。。。。有人说上面不是密码么?我想说,其实那是打个比方,我把自己坑进去了。行吧,其实是有默认账户密码的,看来这是要写一套的节奏。

其实默认的账户密码还是有的:
账户:admin
密码:zabbix

其实到这我还有些疑问,为啥我先装了svn后在搞这个就出Failed to start mariadb.service: Unit not found. 希望好心大佬给个明路,感激不尽啊

最后一句:上班真好玩

猜你喜欢

转载自blog.csdn.net/aptx689/article/details/82782073