设为首页 收藏本站
查看: 1736|回复: 0

[经验分享] LNMP环境下Zabbix3.4安装和配置

[复制链接]

尚未签到

发表于 2019-1-18 08:00:54 | 显示全部楼层 |阅读模式
  一直使用cacti来监控公司的服务器,使用中发现cacti局限性还是比较大的,对于监控网络设备出图比较好。但对于服务,更细致的自定义监控却不是很友善。在cacti上集成了nagios用于监控服务,使用起来比较麻烦,特别是出图。对于zabbix只做过简单的了解,听说部署简单,自动发现功能强大。安装测试试用一下。
  安装环境
CentOS7.4,Nginx1.12.2,MariaDB10.2,PHP7.2,Zabbix3.4.7
一、LNMP环境搭建
1、安装Linux(CentOS7.4)
最小化安装,配置IP地址,主机名,安装vim、bash-completion等
  2、安装Nginx(1.12.2)

# wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
# rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm  #安装nginx官方源
  或者手动创建yum源:http://nginx.org/en/linux_packages.html

# vim /etc/yum.repos.d/nginx.repo        #手动创建nginx yum安装源
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
#其中baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/,把”OS”替换成”rhel”或”centos”,把”OSRELEASE”替换成”6”或”7”,用于6.x或7.x版本。
# yum install nginx             #安装nginx,默认为nginx-1.12.2
# systemctl start nginx
# systemctl enable nginx
# firewall-cmd --permanent --add-service=http --zone=public
# firewall-cmd --reload
  打开http://10.100.3.66,将看到以下内容,说明nginx安装成功。

3、安装MySQL(mariadb-10.2)
  # vim /etc/yum.repos.d/mariadb.repo         #通过yum方式安装
输入以下内容

# MariaDB 10.2 CentOS repository list - created 2018-03-06 07:26 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
  安装MySQL:可通过https://downloads.mariadb.org/mariadb/repositories/地址获取mariadb源
  # yum install MariaDB-server MariaDB-client
使用yum源安装,下载速度比较慢,可通过以下地址下载RPM包安装
http://mirrors.neusoft.edu.cn/mariadb//mariadb-10.2.13/yum/rhel74-amd64/rpms/
方法:

#先yum安装较小的依赖包:
# yum install lsof rsync perl-DBI boost-program-options jemalloc MariaDB-shared
#再rpm下载安装较大的包:
# rpm -ivh galera-25.3.23-1.rhel7.el7.centos.x86_64.rpm
# rpm -ivh MariaDB-10.2.13-centos74-x86_64-client.rpm
# rpm -ivh MariaDB-10.2.13-centos74-x86_64-server.rpm
#启动和配置MySQL:
# systemctl start mariadb
# mysql_secure_installation     #根据提示配置密码和安装选项
# systemctl restart mariadb     #配置完成后重启MySQL
  4、安装PHP(7.2)
源码安装方法:http://php.net/get/php-7.2.3.tar.gz/from/a/mirror
yum安装方法:https://webtatic.com/packages/php72/

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 或yum install epel-release
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm #yum源
# yum install php72w php72w-devel php72w-fpm php72w-gd php72w-mbstring php72w-mysql
# systemctl start php-fpm
# systemctl enable php-fpm
# php –v

netstat -tln|grep 9000

5、配置Nginx

  # vim /etc/php-fpm.d/www.conf   #修改php-fpm配置文件,把apache改为nginx

# vim /etc/nginx/conf.d/default.conf    #配置location,在index中添加index.php。以支持index.php的首页:

配置php请求被传送到后端的php-fpm模块,默认情况下php配置块是被注释的,此时去掉注释并修改为以下内容:

默认配置,把.php$改为..php(\/.)*$(可省略),把root中的html改为/usr/share/nginx/html,把fastcgi_param中的/scripts改为$document_root。root是配置php程序放置的根目录。
保存后,重启nginx服务
systemctl restart nginx
  6、配置php

# vim /etc/php.ini      #修改PHP配置文件
expose_php = Off        #禁止显示php版本的信息
short_open_tag = On     #取消前面的;,修改为On。表示支持php短标签
#以下为zabbix配置要求
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
always_populate_raw_post_data = -1
date.timezone = Asia/Shanghai
  7、测试
通过http://10.100.3.66/phpinfo.php查看php模块是否正常,测试后删除
  # vim /usr/share/nginx/html/phpinfo.php     #在首页目录新增,测试php

通过http://10.100.3.66/test.php查看mysql数据库连接是否正常,测试后删除
  # vim test.php          #新增test.php(名字随意),测试mysql连接

注:mysql_connect扩展自 PHP 5.5.0 起已废弃,改用mysqli或pdo_mysql,参阅:http://php.net/manual/zh/mysqlinfo.api.choosing.php
在开启SELinux情况下,php连接mysql测试会失败。

# getsebool -a |grep httpd_can_network      #检查httpd进程的许可模式
可以看到httpd_can_network_connect --> off
# setsebool -P httpd_can_network_connect=1  #开启连接后即可测试正常
  二、安装Zabbix
1、安装zabbix软件包 通过yum源安装:https://www.zabbix.com/download 官方中文手册:https://www.zabbix.com/documentation/3.4/zh/start 配置yum安装源:

# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
安装Zabbix服务器,前端,代理agent:
# yum install zabbix-server-mysql zabbix-web-mysql zabbix-get zabbix-agent
  2、配置数据库

# mysql -uroot -p       #输入密码,登录mysql
> create database zabbix character set utf8 collate utf8_bin;   #创建数据库
#创建mysql用户zabbix并授权:
> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';
> flush privileges;
#导入数据库初始结构和数据:
# zcat /usr/share/doc/zabbix-server-mysql-3.4.7/create.sql.gz |mysql -uzabbix -p zabbix             #根据提示输入数据库用户zabbix的密码
#配置数据库账号密码:
# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password
  3、配置SELinux
在开启SELinux情况下,zabbix-server启动会失败

# getsebool -a|grep httpd_can_connect
可以看到httpd_can_connect_zabbix --> off
# setsebool -P httpd_can_connect_zabbix on
# setsebool -P httpd_can_network_connect_db on
  但只修改以上规则还不够,需要测试的太多。直接关闭得了。
关闭SELilunx:

# vim /etc/selinux/config
SELINUX=disabled    #重启系统
  4、检查中文是否开启(默认开启)

# vim /usr/share/zabbix/include/locales.inc.php
'zh_CN' => ['name' => _('Chinese (zh_CN)'),     'display' => true],
  5、启动

# cp -r /usr/share/zabbix/ /usr/share/nginx/html/
# chown -R zabbix:zabbix /etc/zabbix/
# chown -R zabbix:zabbix /usr/share/nginx/
# chown -R zabbix:zabbix /usr/lib/zabbix/
# chmod -R 755 /etc/zabbix/web/
# chmod -R 777 /var/lib/php/session/
# systemctl start zabbix-server
# systemctl enable zabbix-server
# systemctl start zabbix-agent
# systemctl enable zabbix-agent
# netstat -anpl|grep 10051      #查看端口是否起来,zabbix_agent端口为10050

安装中遇到的问题:
无法打开http://10.100.3.66/zabbix/setup.php,报以下错误:
1>、FastCGI sent in stderr: “PHP message: PHP Warning:
require_once(/etc/zabbix/web/maintenance.inc.php): failed to open stream:
Permission denied in
/usr/share/nginx/html /zabbix/include/classes/core/ZBase.php on line 269
权限问题,路径:/etc/zabbix/web
解决办法:chmod -R 755 /etc/zabbix/web/

  2>、FastCGI sent in stderr: "PHP message: PHP Fatal error:
Uncaught Exception: Cannot start session. In
/usr/share/nginx/html/zabbix/include/classes/core/CSession.php:50
权限问题,路径:less /etc/php-fpm.d/www.conf
php_value[session.save_path] = /var/lib/php/session
解决办法:chmod -R 777 /var/lib/php/session/
  6、配置Zabbix安装
打开http://10.100.3.66/zabbix,将自动跳转到安装界面:

下一步,检查配置是否正确,全部OK即可。

下一步,输入数据库密码

下一步,输入Name,随意起

确认配置是否正确

下一步,提示无法创建配置文件

从提供的下载链接中下载配置文件,然后上传到/etc/zabbix/web/即可,或修改web权限为web服务器启动用户可写的权限。

# cp zabbix.conf.php /etc/zabbix/web/
# chown zabbix.zabbix /etc/zabbix/web/zabbix.conf.php
  再点击完成

输入默认用户名Admin,密码zabbix,即可登录。


点击用户,可修改系统语言、主题、自动登录等选项

Update后界面即变为中文的

最后修改nginx主页,跳转到zabbix
vim /usr/share/nginx/html/index.html

三、配置zabbix
监控zabbix服务器:
配置-->主机,选择zabbix server,启用主机。如下图,启动后ZBX显示为绿色。

查看监控主机的信息:
监测中-->最新数据,如有以下告警,是因为PHP7.2版本中比较严格,count函数仅支持参数为数组, 非数组情况下将报警告。

解决办法:

# vim /usr/share/nginx/html/zabbix/latest.php       #定位到104行
修改$singleHostSelected = (count($filter['hostids']) == 1);为:
$singleHostSelected = (count(array($filter['hostids'])) == 1);
  刷新,就看不到告警信息了。
在过滤器中选择zabbix server主机,可以看到相关监控项:

展开监控项,可以看到具体的监控内容。例如CPU:

点击右边的图形,可以以图表形式展示:

最下方汉字显示为乱码,是因为语言已经改为中文了,但字体识别不到,可以使用Windows系统里的字体。
解决办法:
在Windows系统中,打开控制面板-->字体,如下图:

找到想使用的字体,如黑体(simhei.ttf,右键属性可查看),上传到Linux。
再复制到fonts目录:cp simhei.ttf /usr/share/nginx/html/zabbix/fonts/
再修改defines.inc.php文件:

# vim /usr/share/nginx/html/zabbix/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME',   'graphfont');
define('ZBX_FONT_NAME', 'graphfont');
  修改为:

define('ZBX_GRAPH_FONT_NAME',   'simhei');
define('ZBX_FONT_NAME', 'simhei');
  刷新页面即可看到中文汉字了,如下图:





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-664573-1-1.html 上篇帖子: 配置和管理Zabbix(二) 下篇帖子: zabbix解决中文显示问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表