基于LNMP架构搭建zabbix监控

本文档详细介绍了如何基于LNMP架构搭建Zabbix监控系统。首先,逐步讲解了LNMP环境的安装,包括nginx1.14、MySQL5.7和PHP的配置。接着,重点阐述了配置nginx支持PHP以及解决MySQL字符集问题。然后,详述了Zabbix server的部署,包括控制端和代理端(被监控端)的设置,以及如何解决网络问题和导入数据库脚本。最后,验证了Zabbix监控功能的正常运行,能够监控httpd和sshd服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LNMP安装环境

1、安装nginx1.14

[root@localhost ~]# wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
[root@localhost ~]#vim /etc/yum.repos.d/nginx.repo
[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”,把“OSERELESE”替换成“6”或“7”
[root@localhost ~]#yum clean all
[root@localhost ~]#yum list
[root@localhost ~]# yum -y install nginx
[root@localhost ~]# systemctl start nginx
[root@localhost ~]# systemctl enable nginx

2、安装MySQL5.7

[root@localhost ~]# yum -y install mariadb-server mariadb
[root@localhost ~]# systemctl enable mariadb.service 
[root@localhost ~]# systemctl start mariadb.service 

[root@localhost ~]# mysql_secure_installation
...
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!
...

Remove anonymous users? [Y/n] n
 ... skipping.
...
Disallow root login remotely? [Y/n] n
 ... skipping.
...
Remove test database and access to it? [Y/n] n
 ... skipping.
 ...
Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

3、安装PHP

rpm -Uvh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
或
yum -y install epel-release

//yum仓库建立

[root@localhost ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

//等待时间取决于网络

yum -y install php72w php72w-devel php72w-fpm php72w-gd php72w-mbstring php72w-mysql

//查看版本号

php -v

4、配置nginx支持PHP

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

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

//10 index index.php index.html index.html;

//配置php请求被传送到后端的php-fpm模块,默认情况下php配置块事被注释的,此时去掉注释并修改
//30~36取消注释,并修改31和34行
 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_script_name;
 35         include        fastcgi_params;
 36     }

//配置php

vim /etc/php.ini		#修改php配置文件

//359 expose_php = Off
//202 short_open_tag = On

以下为zabbix配置要求:
//368 max_execution_time = 300		#执行时间
//378 max_input_time = 300			#接收数据等待时间
//389 memory_limit = 128M			#每个脚本占用内存
//656 post_max_size = 16M			#post数据大小
//799 upload_max_filedize = 2M		#下载文件大小
//800 always_populate_raw_post_data = -1	#需要添加可以用$HTTP_RAW_POST_DATA接收post raw data(原始未处理数据)
//877 data.timezone = Asia/Shanghai	#取消注释,设置时区

//启动php-fpm

systemctl start php-fpm
systemctl enable php-fpm

systemctl restart nginx
netstat -natp | grep 9000 

//测试首页

vim /usr/share/nginx/html/info.php

<?php
phpinfo();
?>

在浏览器登录http://192.168.28.40/info.php测试页面

mark

//测试连接数据库

vim /usr/share/nginx/html/info.php

<?php
$link=mysqli_connect('127.0.0.1','root','123456');
if ($link) echo "连接成功!!!";
else echo "连接失败!!!";
?>
注意:mysql_connect扩展PHP5.5.0起已废弃,改用mysqli或pdo_mysql

mark

mysql -u root -p

create database zabbix character set utf8 collate utf8_bin;
grant all priviliges on *.* to 'zabbix'@'%' identified by '123456';
flush privileges;

//collate的作用

对于mysql中那些字符类型的列,如VARCHAR,CHAR,TEXT类型的列,都需要一个COLLATE类型来告知MySQL如何对该列进行排序和比较。

vim /usr/share/nginx/html/info.php

<?php
$link=mysqli_connect('127.0.0.1','zabbix','123456');
if ($link) echo "Zabbix数据库连接成功!";
else echo "Zabbix数据库连接失败!";
?>

mark

//解决来凝结失败,无法登录的问题

select user,host from mysql.user;		#有空用户名称占用导致本地无法登录,远程可登录

MariaDB [(none)]> select user,host from mysql.user;
+--------+-----------------------+
| user   | host                  |
+--------+-----------------------+
| zabiix | %                     |
| root   | 127.0.0.1             |
| root   | ::1                   |
|        | localhost             |
| root   | localhost             |
|        | localhost.localdomain |
| root   | localhost.localdomain |
+--------+-----------------------+
7 rows in set (0.00 sec)

mark

drop user ''@localhost;

drop user ''@cacti;

flush privileges;

mark

5、部署zabbix server

zabbix官网http://www.zabbix.com/download

控制端
rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

//网络问题,需要多安装几次

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

//导入数据库脚本

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
vim /etc/zabbix/zabbix-server-mysql*/create.sql.gz | grep -uzabbix -p zabbix 			#生成数据库文件,注意密码不要输成root的,最好是admin123,否则后面还要改配置文件

//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 DBName=zabbix
//101 DBHost=localhost
//116 DBUser=zabbix
//124 DBPassword=admin123
//356 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
//473 Timeout=4
//516 AlertScriptsPath=/usr/lib/zabbix/alertscripts
//527 ExternalScripts=/usr/lib/zabbix/externalscripts
//563 LogSlowQueries=3000
--------可选操作(可以不用做)---------

vim /usr/share/zabbix/include/defines.inc.php	#修正图标中文乱码
:%s /graphfont/kaiti/g	#从微软系统下复制相应的字体文件到/usr/share/zabbix/fonts目录中注意字体名称要对应配置文件,且注意大小写
cp STKAITI.TTF /usr/share/zabbix/fonts/


setenforce 0 	#一定要关闭
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/
chowd -R 755 /etc/zabbix/web/
chowd -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

systemctl restart php-fpm
systemctl restart nginx
http://192.168.28.40/zabbix/		#安装后登录 默认用户名Admin 密码:zabbix

mark

mark

mark

mark

mark

mark

在出现上图问题时,可以进行以下操作

1、根据提示,下载文件

2、复制文件到指定目录,并赋予权限

cp zabbix.conf.php /etc/zabbix/web/
chown zabbix.zabbix /etc/zabbix/web/zabbix.conf.php

mark

mark

代理端即被被控制端

如果服务器也需要被自己监控也需要安装—zabbix-agent

1、部署zabbix-agent
rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

yum -y install zabbix-agent
2、修改配置文件
vim /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.28.40						# 指向监控服务器
//139 ServerActive=192.168.28.40				# 指向监控服务器
//150 Hostname=mxx              			    #指定名称
//268 Include=/etc/zabbix/zabbix_agentd.d/*.conf
3、开启服务并检查端口
systemctl start zabbix-agent
systemctl enable zabbix-agent
netstat -natp | grep zabbix				#查看10050端口
监控验证

在zabbix图形页面——配置——主机——创建主机(定义主机名称、添加群组、填写主机IP地址)——模板——选定要监控的模板(httpd sshd服务)——选择——添加(添加连接模板)——添加(添加主机)

mark

mark

mark

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值