前言:
本人小白,在一个多月前通过面试进入公司,在进入公司的第一天,老板把我叫到他办公室,坐下来慢慢喝茶,吹牛,给我吹他们以前做的软件,经营的产品,还装作一副什么都告诉我的样子,其实这都是套路,我早已看透,允许我默默地笑笑。甚至给我吹牛说除了堆代码(忘了告诉了,我其实是学Java开发的),其他硬件的都可以找他,我就半信半疑的在心中赞赏了一下他。结果,在第二天,我到办公室坐下,打开电脑,然后他就给我扔了一大堆文件过来,什么开发技术路线,又什么插件等等,,,,其中有一个zabbix,(这是我第一次接触zabbix,以前从未听说过),起初我还以为这就像Java的一个框架或者工具包什么的,可以直接调用,然后我准备百度一番其用法,结果才发现是一个监控系统。这时我就和他谈了,经过交流,我才发现,其实他是要对zabbix做二次开发。好吧,既然要做二次开发,那肯定得先知道它原来的作用啊,所以便在网上寻找zabbix使用之道。使用便从安装配置开始,参照网上很多帖子,发现总是有错误,而且zabbix的各个版本和Linux的各个版本的安装方法也不一样,大家其实在网上可以看到有很多用yum安装的(然而当时的我对yum这个东西是一脸懵逼,迷之微笑。哈哈哈,暴露了我Linux的知识水平),这样折腾了好几天,各种安装配置,有的在半路就死了,有的是到zabbix的web界面就死了,当时真是头大啊,老板还时不时问怎么样了?我能怎么说?只能说试了很多种方法没成功。最后在zabbix中文社区找到了社区群,加了进去,才发现里面做运维的大神很多啊,虽然一言不合就开车,但是有问题他们都是很热心的帮助的,在此感谢各位!特别感谢昵称是:希望科技,的大佬,我下面这个方法就是在他的指导下完成的,希望对各位也有帮助。
【小白在学习的路上,大神勿喷,有想指导指导我的,先谢谢留言!】
基础信息:
LINUX版本:CentOS 7
Zabbix版本:3.2.6
===============================================================================
一、安装 CentOS 7
关闭selinux #setenforce 0 临时关闭
需要关闭 selinux,一定要关闭这个,开启selinux会引起一连串问题,甚至zabbix的discovery功能也不能正常使用;
命令如下:
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
确认是否修改成功;命令如下:
# grep SELINUX /etc/selinux/config
然后重启系统即可
# reboot
关闭防火墙
systemctl start firewalld.service#启动firewall
systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall开机启动
安装YUM源:cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo(此处如果提示没有wget,则安装)
yum -y install wget
yum clean all
yum makecache
二、安装 LAMP
1、安装MySQL
从最新版本的linux系统开始,默认的是 Mariadb而不是mysql!
使用系统自带的repos安装很简单:
# yum install -y mariadb mariadb-server
启动mariadb
# systemctl start mariadb
之前的服务管理命令还可以用
# service mariadb start
设置开机自启动
# systemctl enable mariadb
安全初始化,设置root密码等
# mysql_secure_installation
测试登录
# mysql -uroot -p123456 //密码123456
2.安装Apache软件
# yum -y install httpd
# systemctl start httpd.service
# systemctl enable httpd.service
# systemctl status httpd.service //检查一下状态
“enabled”表示httpd服务已设为开机启动,“active(running)”则表示httpd服务正在运行中。
3.安装PHP
# yum -y install php
安装php-mysql
php-mysql是一个用于让PHP程序使用MySQL数据库的模块。要安装该模块,使用命令:
# yum -y install php-mysql
# systemctl restart
httpd //重启httpd服务
安装完成后,PHP会生成配置文件/etc/httpd/conf.d/php.conf,因为该配置文件在/etc/httpd/conf.d目录下,所以它会被Apache所读取。PHP还会生成配置文件/etc/httpd/conf.modules.d/10-php.conf,该配置文件也会被Apache所读取,它的设定让Apache可以加载PHP模块。不过,PHP软件本身的配置文件其实是/etc/php.ini。
可以测试: 为了测试Apache能不能正常调用PHP,在/var/www/html目录下新建一个phpinfo.php文档,内容如下所示:
<?php phpinfo (); ?>
//其中的<?php ?>是PHP程序的语法,phpinfo ();则是PHP程序提供的一个函式库,该函式库可以显示出你这个web服务器的相关信息。
访问 http://ip /phpinfo.php
参考网页 http://www.linuxidc.com/Linux/2015-06/118818.htm
三、安装 Zabbix
安装包下载地址:http://www.zabbix.com/download.php
1.官方文档:https://www.zabbix.com/documentation/3.2/manual/installation/install_from_packages
2.导入源:
rpm -ivh
http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
rpm --import
/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
3.安装zabbix包
yum -y install zabbix-server zabbix-server-mysql zabbix-web-mysql
4.我们给本机也安装上客户端
yum -y install zabbix-agent
5.初始化数据库
mysql> CREATE DATABASE zabbix DEFAULT
CHARACTER SET utf8 COLLATE utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on zabbix.*
to zabbix@localhost identified by 'zabbix'; //密码是 zabbix
Query OK, 0 rows affected (0.00 sec)
mysql> quit
导入数据
进入到这个目录
#cd /usr/share/doc/zabbix-server-mysql-3.2.6
#ls
AUTHORS
ChangeLog COPYING create.sql.gz
NEWS README
运行命令
# zcat create.sql.gz | mysql -uroot –p123456 zabbix //zabbix 对应数据库中新建的 zabbix库
6.启动zabbix server服务
# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
实际上我的配置文件修改的是DBHost和DBPassword去掉前面的#号。
启动zabbix服务,设置开机自启动
#systemctl start zabbix-server
#systemctl enable zabbix-server
7. 编辑zabbix前端的php配置
vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
//主要去掉# 改成上海
调整时间同步:安装 ntpdate
, yum -y install ntpdate
#ntpdate cn.pool.ntp.org
NTP参考链接:http://www.linuxidc.com/Linux/2015-11/124911.htm
启动apache服务,设置开机自启动
#systemctl start httpd
#systemctl enable httpd
8.登陆zabbix
http://IP/zabbix/
http://IP/zabbix/setup.php
默认用户名/密码:Admin/zabbix
图片下文字显示□□ 解决方法:
参考:
http://www.cnblogs.com/enjoycode/p/zabbix_3_installation_on_centos_7.html
Win+R打开运行,输入fonts,回车进入Windows字体目录,找到微软雅黑-常规字体,复制出来将文件名修改为msyh.ttf,然后上传到/usr/share/zabbix/fonts
上传成功后,编辑
vim /usr/share/zabbix/include/defines.inc.php
将'graphfont' 修改为msyh
修改后 define('ZBX_GRAPH_FONT_NAME',
'msyh'); // font file name
也可直接执行命令:
查看字体配置# grep FONT_NAME /usr/share/zabbix/include/defines.inc.php -n
45:define('ZBX_GRAPH_FONT_NAME',
'graphfont'); // font file name
93:define('ZBX_FONT_NAME', 'graphfont');
确认字体名称是否可以替换
# grep graphfont /usr/share/zabbix/include/defines.inc.php -n
45:define('ZBX_GRAPH_FONT_NAME',
'graphfont'); // font file name
93:define('ZBX_FONT_NAME', 'graphfont');
执行快捷替换
# sed -i "s/graphfont/msyh/g"
/usr/share/zabbix/include/defines.inc.php
确认是否替换成功
# grep FONT_NAME /usr/share/zabbix/include/defines.inc.php -n
45:define('ZBX_GRAPH_FONT_NAME',
'msyh'); // font file name
93:define('ZBX_FONT_NAME', 'msyh');