一步步搭建zabbix监控平台

打算折腾个Zabbix,用于监控公司的服务器设备与网络服务,并在服务中断的时候及时报警通知。

计划是:先遵循官网的快速部署向导,部署一下zabbix基础版本,再进行配置,看是否能满足需求,不能满足的部分再进行二次定制开发。

本篇主要讲述快速部署方面的内容。

https://www.zabbix.com/download

按照网页的指引,选择自己想要安装的zabbix版本+系统OS版本+数据库版本

这次采用zabbix 3.4+Centos 7 + Mysql的部署方案(准确来说,我用的好像是mariaDB)

准确来说,这个系统是要LAMP环境(Linux + Apache+mysql(MariaDB)+PHP,不过后面zabbix的源里,有设置apache和php的依赖性安装,所以不需要手动提前安装,只要手动提前部署mysql(MariaDB)即可。

先安装部署mysql(MariaDB)

yum -y install mariadb* #加个*通配符,表示mariadb全部组件

安装完后,把mysql的服务给开起来,并设置为开机自启动

systemctl start mariadb #启动mariadb

systemctl enable mariadb #添加mariadb到开机自启动顺序里

好了,然后赶紧登陆上去MariaDB试试,顺带改个密码:

mysql -u root

用root用户登录到localhost的mysql(MariaDB),执行以下sql指令并退出

SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘Your_password’);

请将上面的Your_password改成你要设的密码!提示成功后退出

exit

接下来来安装zabbix的3.4版本+mysql数据库支持的源

rpm -i https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

以上地址可能会有变化,请参考官网给出的地址!

源添加成功后,使用yum工具来安装zabbix的相关组件

yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y

接下来来建立个初始化数据库

mysql -uroot -p

然后输入你的密码:

Your_password

严重警告:真的拿Your_password来当密码是个很不负责任的行为!请更改,不知道怎么做的话,可以采用Zabbix@公司英文名@日期的方式。

创建一下zabbix数据库:

create database zabbix character set utf8 collate utf8_bin;

然后把这个数据库授权给新建的zabbix账号

grant all privileges on zabbix.* to zabbix@localhost identified by ‘password‘;

请把password更换为zabbix用户的数据库密码!请不要不负责任的直接使用password当密码!要出事的!

然后退出数据库命令行模式

quit;

然后导入Zabbix模板和初始数据

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

这个-p参数后的是数据库名,请不要把这个-p zabbix错误的替换成-p password,照抄即可。

完事后,该编辑下Zabbix里面的数据库密码设置了。

文件路径:/etc/zabbix/zabbix_server.conf

修改内容为:

DBPassword=password

然后保存,再去修改php设置里面的时区地点参数。

文件路径:/etc/httpd/conf.d/zabbix.conf

内容:

php_value date.timezone Asia/Shanghai

然后启动zabbix相关服务,并把他们添加到linux开机自启动里面。

systemctl restart zabbix-server zabbix-agent httpd

systemctl enable zabbix-server zabbix-agent httpd

然后开放一下防火墙的80端口

firewall-cmd –zone=public –add-port=80/tcp –permanent

然后为了让规则生效,重启下防火墙

systemctl restart firewalld

接下来进行网页前端化安装

 

打开网页 服务器ip/zabbix  即可看到上面这个东西。点下一步安装

这些是安装前环境检查,确保你的生产环境符合安装要求。一步步按着来的话,这里应该是稳稳的全绿。继续下一步。

不稳的话请参照下面这个表进行排查,该表抄自官网。

Pre-requisite Minimum value Description
PHP version 5.4.0
PHP memory_limit option 128MB In php.ini:
memory_limit = 128M
PHP post_max_size option 16MB In php.ini:
post_max_size = 16M
PHP upload_max_filesize option 2MB In php.ini:
upload_max_filesize = 2M
PHP max_execution_time option 300 seconds (values 0 and -1 are allowed) In php.ini:
max_execution_time = 300
PHP max_input_time option 300 seconds (values 0 and -1 are allowed) In php.ini:
max_input_time = 300
PHP session.auto_start option must be disabled In php.ini:
session.auto_start = 0
Database support One of: MySQL, Oracle, PostgreSQL, IBM DB2 One of the following modules must be installed:
mysql, oci8, pgsql, ibm_db2
bcmath php-bcmath
mbstring php-mbstring
PHP mbstring.func_overload option must be disabled In php.ini:
mbstring.func_overload = 0
PHP always_populate_raw_post_data option must be disabled Required only for PHP versions 5.6.0 or newer.
In php.ini:
always_populate_raw_post_data = -1
sockets php-net-socket. Required for user script support.
gd 2.0 or higher php-gd. PHP GD extension must support PNG images (–with-png-dir), JPEG (–with-jpeg-dir) images and FreeType 2 (–with-freetype-dir).
libxml 2.6.15 php-xml or php5-dom
xmlwriter php-xmlwriter
xmlreader php-xmlreader
ctype php-ctype
session php-session
gettext php-gettext
Since Zabbix 2.2.1, the PHP gettext extension is not a mandatory requirement for installing Zabbix. If gettext is not installed, the frontend will work as usual, however, the translations will not be available.

接下来,设置下mysql(MariaDB)的信息,基本上改下密码就行,毕竟其他的我们都没改过。

这个是自定义Zabbix服务器相关信息的,这些信息修改为可选项,如果端口没冲突,你也没有必要非得去改它名字的话,那就懒得动了。

这个页面是设置信息回顾的(Review),如果没问题就直接下一步,有问题就回过去重新弄。

安装完毕,开始爽吧~

 

当然,也还有比较悲催没弄好用户权限的同学,导致这个配置页面没法正常被创建,就会看到下面这个画面。

那么,就按照这个来,点击蓝色字体下载那个配置用的文件,然后把它放到php文件夹下你放zabbix的位置。这个位置问你自己,因为权限报错说明文件夹是你自己建的,而不是zabbix生成。当然,你也可以把那个目录给chmod -R 777一下,不过把文件夹变成公共厕所的风险务必要自行承担!

接下来就是登陆了,默认用户Admin,默认密码zabbix。

Enjoy !

其他问题联系qq:1637999484 ,解答一些小问题。不过我自己也比较忙,不保证一定能给你解决问题。

发表评论

电子邮件地址不会被公开。 必填项已用*标注