阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

在LNMP架构中搭建Zabbix监控服务

200次阅读
没有评论

共计 6963 个字符,预计需要花费 18 分钟才能阅读完成。

在上文中我具体操作了在 LAMP 架构中搭建 Zabbix 监控服务,在本篇中我将在 LNMP 中搭建一个 Zabbix 服务,操作步骤相比于之前要稍微复杂一些,但也只是在细节上 LNMP 稍多一些,大体过程还是类似的。

实验环境:
在 LNMP 架构中搭建 Zabbix 监控服务
STKAITI 下载链接见 https://www.linuxidc.com/Linux/2018-11/155200.htm

操作步骤
一、搭建 LNMP
1 安装 nginx1.4

[root@promote~]#wget http://nginx.org/packages/CentOS/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
[root@promote ~]# rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm    #安装 nginx 官方源
[root@promote ~]# yum install nginx -y
[root@promote ~]# systemctl start nginx
[root@promote ~]# systemctl enable nginx
[root@promote ~]# netstat -ntap | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*              LISTEN      3024/nginx: master 

在浏览器上访问 http://192.168.199.129/
在 LNMP 架构中搭建 Zabbix 监控服务

2 安装 mysql5.7(这里为了安装方便我也 mariadb 来代替 mysql,功能都是一样的):

[root@promote ~]# yum install mariadb-server mariadb -y    #下载 mariadb 安装包
[root@promote ~]# systemctl start mariadb.service
[root@promote ~]# systemctl enable mariadb.service
[root@promote ~]# mysql_secure_installation      #配置 mariadb 相关参数
Set root password? [Y/n] y
Remove anonymous users? [Y/n] n
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] n
Reload privilege tables now? [Y/n] y

3 安装 PHP7.2

[root@promote~]#rpm -Uvh https://dl.Fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@promote ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm    #下载 PHPyum 源
[root@promote ~]# yum install php72w php72w-devel php72w-fpm php72w-gd php72w-mbstring php72w-mysql -y    #安装 PHP 相关服务
[root@promote ~]# php -v    #查看版本
PHP 7.2.10 (cli) (built: Sep 15 2018 07:10:58) (NTS)
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

4 配置 nginx 支持 PHP:

[root@promote ~]# vim /etc/php-fpm.d/www.conf
8 user = nginx    #将 Apache 改为 nginx
10 group = nginx  #将 Apache 改为 nginx

5 配置 PHP:

[root@promote ~]# vim /etc/php.ini
359 expose_php = Off    #隐藏 PHP 版本
368 max_execution_time = 300    #监控执行时间
378 max_input_time = 300    #接收数据等待时间
389 memory_limit = 128M    #每个脚本占用内存
656 post_max_size = 16M    #POST 数据大小
799 upload_max_filesize = 2M    #下载文件大小
800 always_populate_raw_post_data = -1    #可以用 $HTTP_RAW_POST_DATA 接收 post raw data
date.timezone = Asia/Shanghai    #将时区设为上海时区

6 配置 PHP 请求被传送到后端的 php-fpm 模块,默认情况下 php 配置模块是被注释掉的:

[root@promote ~]# vim /etc/nginx/conf.d/default.conf
10        index  index.php index.html index.htm;
30    location ~ \.php$ {
31        root          /usr/share/nginx/html;
32        fastcgi_pass  127.0.0.1:9000;
33        fastcgi_index  index.php; 34        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_scr    ipt_name; 35        include        fastcgi_params; 36    }    #把 fastcgi_param 中的 /scripts 改为 $document_root,root 是配置 php 程序用户

7 开启服务

[root@promote ~]# systemctl start php-fpm.service
[root@promote ~]# systemctl enable php-fpm.service
[root@promote ~]# systemctl restart nginx
[root@promote ~]# vim /usr/share/nginx/html/index.php    #创建 PHP 测试首页
<?php
  phpinfo();
?>

在浏览器上访问 http://192.168.199.129/index.php

在 LNMP 架构中搭建 Zabbix 监控服务
测试 PHP 能否连接数据库:

[root@promote html]# vim index.php
<?php
$link=mysqli_connect(‘127.0.0.1′,’root’,’123123′);
 if ($link) echo “true”;
 else echo “false”;
?>

在 LNMP 架构中搭建 Zabbix 监控服务

8 创建 zabbix 数据库与 zabbix 用户:

[root@promote html]# mysql -u root -p
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on *.* to ‘zabbix’@’%’ identified by ‘123123’;
MariaDB [(none)]> flush privileges;

解决本地无法登陆问题:

[root@promote ~]# mysql -u zabbix -p    #现在用 zabbix 用户是无法登陆数据库的,因为有空用户在进行占用
Enter password:
ERROR 1045 (28000): Access denied for user ‘zabbix’@’localhost’ (using password: YES)

MariaDB [(none)]> select user,host from mysql.user;
+——–+————————-+
| user  | host                    |
+——–+————————-+
| zabbix | %                      |
| root  | 127.0.0.1              |
| root  | ::1                    |
|        | localhost              |
| root  | localhost              |
|        | promote.cache-dns.local |
| root  | promote.cache-dns.local |
+——–+————————-+
7 rows in set (0.00 sec)

MariaDB [(none)]> drop user ”@’localhost’;    #删除库中的空用户
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> drop user ”@’promote.cache-dns.local’;    #删除空用户
Query OK, 0 rows affected (0.00 sec)

测试 zabbix 用户能否连接 PHP:

[root@promote ~]# vim /usr/share/nginx/html/index.php
<?php
$link=mysqli_connect(‘127.0.0.1′,’zabbix’,’123123′);
 if ($link) echo “true”;
 else echo “false”;
?>

在浏览器上访问 http://192.168.199.129/index.php

在 LNMP 架构中搭建 Zabbix 监控服务
到此为止 LNMP 架构就搭建完成了,下面开始部署 zabbix 服务

二、部署 zabbix server:

[root@promote~]#rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
[root@promote ~]# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y
[root@promote ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix    #将 zabbix 脚本文件导入到 zabbix 数据库中
[root@promote ~]# mysql -u zabbix -p
MariaDB [(none)]> use zabbix
MariaDB [zabbix]> show tables;    #查看 zabbix 数据库中的表,如果脚本导入成功,就应该会看到很多表

修改 zabbix 配置文件,需要修改以下内容:

[root@promote ~]# grep -n ‘^'[a-Z] /etc/zabbix/zabbix_server.conf
38:LogFile=/var/log/zabbix/zabbix_server.log
49:LogFileSize=0
72:PidFile=/var/run/zabbix/zabbix_server.pid
82:SocketDir=/var/run/zabbix
91:DBHost=localhost        #去掉注释
101:DBName=zabbix
117:DBUser=zabbix
125:DBPassword=123123    #修改密码
357:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
475:Timeout=4
518:AlertScriptsPath=/usr/lib/zabbix/alertscripts
529:ExternalScripts=/usr/lib/zabbix/externalscripts
565:LogSlowQueries=3000

修正图表中文乱码:

[root@promote ~]# vim /usr/share/zabbix/include/defines.inc.php

在 LNMP 架构中搭建 Zabbix 监控服务

[root@promote zabbix]# cp STKAITI.TTF /usr/share/zabbix/fonts/ #从微软系统下复制相应的字体文件到 /usr/share/zabbix/fonts/

赋予文件权限:

[root@promote ~]# cp -r /usr/share/zabbix/ /usr/share/nginx/html/
[root@promote ~]# chown -R zabbix.zabbix /etc/zabbix/
[root@promote ~]# chown -R zabbix.zabbix /usr/share/nginx/
[root@promote ~]# chown -R zabbix.zabbix /usr/lib/zabbix/
[root@promote ~]# chmod -R 755 /etc/zabbix/web/
[root@promote ~]# chmod -R 777 /var/lib/php/session/

启动服务:

[root@promote ~]# systemctl start zabbix-server.service
[root@promote ~]# systemctl enable zabbix-server.service
[root@promote ~]# systemctl start zabbix-agent.service
[root@promote ~]# systemctl enable zabbix-agent.service
[root@promote ~]# systemctl restart php-fpm.service
[root@promote ~]# systemctl restart nginx      #这两个服务一定要重启,不然在登陆 zabbix 监控页面时会出错

在浏览器上登录 zabbix 界面:
版本显示为 4.0

在 LNMP 架构中搭建 Zabbix 监控服务
这里必须每项都显示 OK 才可以,如果有报错请重新启动 PHP,nginx 和 zabbix 服务,如果还有问题,请检查三个服务的配置文件
在 LNMP 架构中搭建 Zabbix 监控服务
接着填写密码即可,密码就是 zabbix 登录数据库密码,端口保持默认即可
在 LNMP 架构中搭建 Zabbix 监控服务
接着填写 zabbix 的服务器名称,这里我就定义为 zabbix
在 LNMP 架构中搭建 Zabbix 监控服务
接着点击下一步就会显示 zabbix 的完整信息
在 LNMP 架构中搭建 Zabbix 监控服务
接着点击下一步就会看到这个信息,是说没办法创建配置文件,这时候点击图中的下载链接下载这个文件,接着将这个文件挂载到 zabbix 服务器上,具体操作如下:
在 LNMP 架构中搭建 Zabbix 监控服务
在 LNMP 架构中搭建 Zabbix 监控服务
点击完成就会发现报错消失了
在 LNMP 架构中搭建 Zabbix 监控服务
使用账户密码登录 zabbix,默认账号密码为‘Admin’和‘zabbix’
在 LNMP 架构中搭建 Zabbix 监控服务
接着就会看到 zabbix 的监控页面
在 LNMP 架构中搭建 Zabbix 监控服务

三、配置被监控服务器:

[root@promote ~]# systemctl stop firewalld.service
[root@promote ~]# setenforce 0

下载 yum 源:

[root@promote~]# rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
[root@promote ~]# yum install zabbix-agent -y

更改 zabbix 配置文件,需要更改以下内容:

[root@promote ~]# grep -n ‘^'[a-Z] /etc/zabbix/zabbix_agentd.conf
13:PidFile=/var/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
98:Server=192.168.199.129      #地址指向 zabbix 监控端
139:ServerActive=192.168.199.129    #地址指向 zabbix 监控端
150:Hostname=test      #定义服务器名称
268:Include=/etc/zabbix/zabbix_agentd.d/*.conf

开启服务:

[root@promote ~]# systemctl start zabbix-agent.service
[root@promote ~]# systemctl enable zabbix-agent.service
[root@promote ~]# netstat -ntap | grep 10050      #查看端口,注意被监控端端口是 10050
tcp        0      0 0.0.0.0:10050          0.0.0.0:*              LISTEN      38128/zabbix_agentd
tcp6      0      0 :::10050                :::*                    LISTEN      38128/zabbix_agentd

到此为止,在 LNMP 上搭建 zabbix 服务已经完成,要想监控到其他服务器还需要在浏览器的监控页面上手动添加,添加过程我在上篇博客“在 LAMP 架构上搭建 Zabbix 监控服务”已经详细讲过,这里就不再操作。

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计6963字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中