LNMP+zabbix监控平台部署(采用阿里云服务器一体化部署监控wordpress网站)

news/2024/5/10 13:47:54/文章来源:https://wujincheng.blog.csdn.net/article/details/103755933

部署前须知:
一般情况下,我们是将其中Zabbix-Server、Zabbix-Proxy、Zabbix-Web、Zabbix-Database专门部署在一台独立服务器上,Zabbix-Agent一般部署在需要被监控的网站的服务器上。

由于资金限制,本人只有一台阿里云服务器,所以就在一台上做了。

首先确定自己的网站的LNMP已经部署完毕!,此处不作讲解!

文章目录

        • 1、下载zabbix
        • 2、Zabbix Server端和Zabbix Agent执行如下代码
        • 3、Zabbix Server端配置
        • 4、将zabbix网页文件复制到nginx发布目录
        • 5、配置Nginx的zabbix的虚拟主机
        • 6、访问http://39.97.176.117:8080
        • 7、我们继续向下一步
        • 8、一直点下一步,最后出现这个页面
        • 9、登录zabbix
        • 10、zabbix主页面
        • 11、启动zabbix_server
        • 12、配置zabbix-agent端
        • 13、添加需要被监控的主机
        • 14、配置zabbix-agent的配置文件
        • 15、换字体
    • 复习总结:
        • 1、配置zabbix-web
        • 2、配置zabbix-database
            • (1)创建zabbix数据库:
            • (2)格式化zabbix数据库:
        • 3、配置zabbix-server
            • (1)为什么server也要明白数据库的信息呢?
        • 4、配置zabbix-agent
            • (1) agent需要知道把数据传给谁
        • 5、配置zabbix-proxy
        • 6、整个过程其中涉及到的端口

1、下载zabbix

wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz/download

2、Zabbix Server端和Zabbix Agent执行如下代码

yum -y  install  curl  curl-devel  net-snmp net-snmp-devel  perl-DBI  mariadb-devel mysql-devel 
groupadd zabbix
useradd -s /sbin/nologin -M zabbix -g zabbix

3、Zabbix Server端配置

  • 创建zabbix数据库,执行授权命令
create database zabbix charset=utf8;
grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
flush privileges;
  • 解压zabbix软件包,执行如下代码,安装Zabbix_server

解压zabbix:

mv download /usr/local/
cd /usr/local;tar xzf download
./configure --prefix=/usr/local/zabbix/ --enable-server --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
make -j4&&make install

4、将zabbix网页文件复制到nginx发布目录

mkdir /usr/local/nginx/html/zabbix
cd /usr/local/zabbix-3.2.6/frontends/
\cp php/* /usr/local/nginx/html/zabbix/ -a

5、配置Nginx的zabbix的虚拟主机

cd /usr/local/nginx/conf/vhost/
vim www.zabbix.com.conf

这里我采用的是基于端口的虚拟主机:

    server {listen       8080;server_name  localhost;location / {root   html/zabbix;index  index.html index.php;}location ~*\.php$ {root html/zabbix;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

6、访问http://39.97.176.117:8080

在这里插入图片描述注意:起初这里是会有很多红色的错误地方,需要你配置以下将其变更正确:

yum  install  php-mbstring  php-bcmath  php-gd  php-xml  -y
yum  install  gd  gd-devel  -y
sed   -i '/post_max_size/s/8/16/g;/max_execution_time/s/30/300/g;/max_input_time/s/60/300/g;s/\;date.timezone.*/date.timezone \= PRC/g;s/\;always_populate_raw_post_data/always_populate_raw_post_data/g'  php.ini

我进行到这一步依然有下面这个是红色的:
在这里插入图片描述这里添加一个gettext.so模块就好了。

以上做完之后,重启php-fpm即可!

7、我们继续向下一步

在这里插入图片描述注:因为我数据库做的多实例,所以端口不是3306.
上面这些信息在第3步就做了。请看第3步。
点击下一步,发现报错:
在这里插入图片描述无法匹配到数据库,这里我们需要导入一些sql语句把zabbix数据库给"格式化"一下:

cd /usr/local/zabbix-3.2.6/database/mysql/
mysql -uzabbix -pzabbix  -S /data/mysql/3307/mysql3307.sock zabbix < schema.sql
mysql -uzabbix -pzabbix  -S /data/mysql/3307/mysql3307.sock zabbix < images.sql
mysql -uzabbix -pzabbix  -S /data/mysql/3307/mysql3307.sock zabbix < data.sql

注:上面这个因为我是多实例所以需要加-S

下面这种情况有可能会遇到。反正我没遇到。
nginx报错:
在这里插入图片描述
在nginx.conf文件中加入:

worker_processes  1;
events {use epoll;worker_connections  1024;
}
http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  logs/access.log  main;#client_max_body_size 200M;#limit_conn_zone $binary_remote_addr zone=addr:10m;#limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;//fastcgi_buffer_size 128k;//fastcgi_buffers 4 256k;//fastcgi_busy_buffers_size 256k;include /usr/local/nginx/conf/vhost/*.conf;
}

上面//注释的内容就是需要添加的内容。

8、一直点下一步,最后出现这个页面

在这里插入图片描述

9、登录zabbix

默认用户为admin,密码为zabbix
在这里插入图片描述

10、zabbix主页面

在这里插入图片描述这里可以看出zabbix server没有起来,也没有监听10051端口。
所以我们需要起服务,并让它监听10051端口。

cd  /usr/local/zabbix-3.2.6
cp  misc/init.d/tru64/zabbix_server  /etc/init.d/zabbix_server
chmod  o+x  /etc/init.d/zabbix_server
/etc/init.d/zabbix_server start

又报错:
在这里插入图片描述在/usr/local/sbin目录下找不到zabbix_server这个文件。

ln -s /usr/local/zabbix/sbin/zabbix_server /usr/local/sbin/

做个软链接到/usr/local/zabbix/sbin/zabbix_server。
在这里插入图片描述注意:千万不要把/etc/init.d/zabbix_server文件拿来做软连接,这个zabbix_server和sbin下的那个zabbix_server内容是不一样的。

11、启动zabbix_server

 /etc/init.d/zabbix_server start

在这里插入图片描述

lsof -i:10051

在这里插入图片描述我们可以看到进程虽然是起来了,但是依然没有监听10051端口。
查看zabbix日志:
在这里插入图片描述因为我做的是多实例,所以mysql位置并没有在yum安装的默认位置,做个软链接就行了。

 ln -s /data/mysql/3307/mysql3307.sock /var/lib/mysql/mysql.sock

重启zabbix即可。
再lsof:
在这里插入图片描述这样就好了。网页上刷新一下,也就好了。
在这里插入图片描述出现不能监听端口10051,还有一种情况就是:

vim /usr/local/zabbix/etc/zabbix_server.conf

在这里插入图片描述看看DBpassword,DBuser,DBname是否正确。

12、配置zabbix-agent端

解压zabbix-3.2.6.tar.gz源码文件,切换至解压目录,编译安装Zabbix,命令如下:

./configure  --prefix=/usr/local/zabbix_agent  --enable-agent
make
make install

注:因为我是在一台云服务器上做的,所以注意不要和zabbix-server冲突。

启动zabbix-agent:


ln  -s  /usr/local/zabbix_agent/sbin/zabbix_agentd  /usr/local/sbin/
cp /usr/local/zabbix-3.2.6/misc/init.d/tru64/zabbix_agentd /etc/init.d/
chmod o+x zabbix_agentd
/etc/init.d/zabbix_agentd start

在这里插入图片描述

13、添加需要被监控的主机

在这里插入图片描述
在这里插入图片描述添加监控信息模版:
在这里插入图片描述在这里插入图片描述在这里插入图片描述

14、配置zabbix-agent的配置文件

cd /usr/local/zabbix_agent/etc/
cp zabbix_agentd.conf zabbix_agentd.conf.bak //先备份配置文件
vim zabbix_agentd.conf //添加如下内容
LogFile=/tmp/zabbix_agentd.log
Server=39.97.176.117
ServerActive=39.97.176.117
//上面两个都是配置zabbix_server所在的地址
Hostname=39.97.176.117 //这里配置zabbix_agent的地址

在这里插入图片描述再添加云服务器的安全组规则,打开10050端口
在这里插入图片描述
再重启zabbix_agent即可!

/etc/init.d/zabbix_agentd stop
/etc/init.d/zabbix_agentd start

等一会,下面这个变绿就部署成功了。
在这里插入图片描述

15、换字体

在这里插入图片描述这个默认字体,有些地方并不能显示出来。所以我们需要换字体。
在网上下载simkai.ttf字体到自己的主机,然后如果是云服务器用scp远程拷贝到自己的云服务器上。如果是虚拟机还可以采用rz上传。
由于我是云服务器所以:

在云服务器上:mv DejaVuSans.ttf DejaVuSans.ttf.bak
在macbook主机的终端上:
scp /Users/shijiandingyiqingchun/Desktop/simkai.ttf root@39.97.176.117:/usr/local/nginx/html/zabbix/fonts/DejaVuSans.ttf
//windows直接rz上传即可。

这样就好了:
在这里插入图片描述

复习总结:

1、配置zabbix-web

在这里插入图片描述

2、配置zabbix-database

(1)创建zabbix数据库:

在这里插入图片描述

(2)格式化zabbix数据库:

在这里插入图片描述

3、配置zabbix-server

在这里插入图片描述

(1)为什么server也要明白数据库的信息呢?

因为它需要给数据库传输收集到的监控数据!
在这里插入图片描述通过socket文件,定义是那个数据库。

在这里插入图片描述数据库找到了,就看是这个数据库中名为什么的database,需要以什么身份去登录这个database。

4、配置zabbix-agent

在这里插入图片描述

(1) agent需要知道把数据传给谁

在这里插入图片描述如果有proxy,可以填proxy ip地址。

5、配置zabbix-proxy

我们这个其实还不算是分布式监控系统,因为没有zabbix-proxy,proxy和server差不多,是给server分担压力,但比server组件要小巧。我们前面zabbix-server新建了一个zabbix数据库,server负责给它提供数据,zabbix-proxy也可以添加数据库,proxy组件负责给它传输数据。

举个例子:
某公司整个四川有一个zabbix-server,四川各个市都有一个proxy,每个市可以查看自己的监控数据,总部还可以通过server的数据库zabbix看到总的监控数据。

6、整个过程其中涉及到的端口

8080、9000、3307、3308、4040、4041、10050、10051
8080:zabbix的web界面对外访问(nginx侦听端口)
9000:将php文件交给后台php解析。
3307和3308:主从库,zabbix-database就在其中。
4040:mysql-proxy读写分离软件开启的端口,主要用于网站请求的接收,并将其转发给后端mysql数据库,实现和mysql3307、3308端口的交互。
4041:mysql-proxy读写分离软件开启的端口,主要用于管理查看读写分离状态。
10050:zabbix-agent开启的端口,主要用于和server或者proxy进行交互和数据传输。
10051:zabbix-server开启的端口,主要用于和agent或者proxy、database交互。zabbix-proxy也是开启这个端口,负责和server、proxy、database。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_747925.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jQuery网站/博客-全球最佳

这是Internet上最好的jQuery网站和博客的集合&#xff08;或者至少是到目前为止我发现的博客&#xff09;。如果您想出现在此列表中&#xff0c;请发表评论并证明自己的理由。 相关文章&#xff1a; 进入互联网的十大jQuery Gurus blog.jquery.com 写更少&#xff0c;做更多&am…

2019升级版最新Python学习路线:关于电影购票网站实现的讲解

这次的Python学习路线跟大家讲一下关于电影购票网站的实现。这几天咱们国产的哪吒很火嘛&#xff01; 1. 用户功能 同前面所有项目的用户功能&#xff0c;利用AjaxDjango系统认证QQ邮箱实现登陆注册 2. 用户未登陆会跳转到注册登录界面&#xff0c;登录后会返回至主页&#…

jquerymobile_使用jQueryMobile从桌面到移动网站的转换

jquerymobilejQuery Mobile是用于制作移动Web应用程序的强大框架。 但是&#xff0c;我们可以使用它将现有的桌面网站转换为移动形式吗&#xff1f; 可以使用MobilizeToday.com在线服务。 它们提供了基于小部件的模型&#xff0c;该模型将任何现有HTML内容表示到移动视图中。 …

使用jQueryMobile从桌面到移动网站的转换

jQuery Mobile是用于制作移动Web应用程序的强大框架。 但是&#xff0c;我们可以使用它将现有的桌面网站转换为移动形式吗&#xff1f; 可以使用MobilizeToday.com在线服务。 它们提供了基于小部件的模型&#xff0c;该模型将任何现有HTML内容表示到移动视图中。 背后的技术是X…

eyoucms 网站原创文章要怎样进行优化?

互联网一直都是在变化中的&#xff0c;而且百度、搜狗等搜索引擎的抓取方式也在不断的进行改变&#xff0c;这些都导致了网站优化手法的改变&#xff0c;如果说唯一没有变化的话就是对于原创文章的编写以及发布。但是要写出一个高质量原创的文章可不是一件简单的事情&#xff0…

用Python清理收藏夹里已失效的网站,快测试一下你的收藏夹吧

最近打开好多以前收藏的网站&#xff0c;发现好多都已经失效了&#xff0c;好多以前想看还没来得及看的内容&#xff0c;也找不见了。。。 失效的书签们 我们日常浏览网站的时候&#xff0c;时不时会遇到些新奇的东西&#xff0c;于是我们就默默的点了个收藏或者加书签。然而…

SEO删除网站的旧内容,对目前已有的排名有影响吗?

搜索引擎是一个动态变化的过程&#xff0c;而相对于网站而言&#xff0c;对于过往的内容&#xff0c;它都是一沉不变的&#xff0c;这就是为什么网站需要持续的推陈出新&#xff0c;才能使得整站排名保持长期的稳定。 但这里有一个问题&#xff0c;垂直行业的内容资源库是有限…

大型网站系统架构分析

千万级的注册用户&#xff0c;千万级的帖子&#xff0c;nTB级的附件&#xff0c;还有巨大的日访问量&#xff0c;大型网站采用什么系统架构保证性能和稳定性&#xff1f; 首先讨论一下大型网站需要注意和考虑的问题。 数据库海量数据处理&#xff1a;负载量不大的情况下select、…

用Python爬取各大网站招聘平台,终于让我给知道对口的工作

个人经历&#xff1a;低不成&#xff0c;高不就 依稀还记得15年刚出来工作那会&#xff0c;在第一个互联网公司实习&#xff0c;在公司听惯了身边人说公司这不好&#xff0c;那不好&#xff0c;作为新人的我深受影响&#xff0c;不知从何时开始就想快点结束实习期换一份更好的…

用Python爬取各大网站招聘平台,终于让我给知道对口的工作

个人经历&#xff1a;低不成&#xff0c;高不就 依稀还记得15年刚出来工作那会&#xff0c;在第一个互联网公司实习&#xff0c;在公司听惯了身边人说公司这不好&#xff0c;那不好&#xff0c;作为新人的我深受影响&#xff0c;不知从何时开始就想快点结束实习期换一份更好的…

用Python清理收藏夹里已失效的网站

失效的书签们 我们日常浏览网站的时候&#xff0c;时不时会遇到些新奇的东西&#xff08; 你懂的.jpg &#xff09;&#xff0c;于是我们就默默的点了个收藏或者加书签。然而当我们面对成百上千的书签和收藏夹的时候&#xff0c;总会头疼不已…… 尤其是昨天还在更新的程序设计…

织梦怎么样备份网站

很多用织梦的朋友不知道怎么备份网站&#xff0c;还有些朋友备份网站的方式不对。当遇到网站被黑、服务器到期等关键时刻&#xff0c;导致数据丢失&#xff0c;网站不能用。新搭建网站就得一切从头再来&#xff0c;找技术恢复&#xff0c;又是一笔不小的开支。这是一种无形的损…

网市场云建站 v4.9 更新,增加网站子账户

开发四年只会写业务代码&#xff0c;分布式高并发都不会还做程序员&#xff1f; 网市场云建站系统&#xff0c;结合云技术&#xff0c;一台2核4G服务器可以建立超过4万个网站&#xff01;打破传统建站的高成本&#xff0c;让价格不再是阻碍的门槛&#xff0c;让每个人都能有自…

Python_爬虫_爬取好大夫网站_数据清洗部分

1.前言 通过对好大夫网站内容的爬取&#xff0c;我们已经收集到好大夫的相关数据&#xff0c;并将其存入excel表中。之所以先存入excel表中&#xff0c;是因为有很多是非结构化数据&#xff0c;需要进行数据清理后在进行保存&#xff0c;excel中有很多的功能能够帮助进行数据清…

使用Apache服务部署静态网站。

1、安装Apache服务程序&#xff0c;命令后面的Apache服务的软件包名称为httpd。2、httpd服务程序并将其加入到开机启动项中3、在浏览器&#xff08;这里以Firefox浏览器为例&#xff09;的地址栏中输入http://127.0.0.1并按回车键&#xff0c;就可以看到用于提供Web服务的httpd…

php特级课---1、网站大访问量如何解决

php特级课---1、网站大访问量如何解决 一、总结 一句话总结&#xff1a; 负载均衡和冗余技术 1、负载均衡和冗余技术是一回事么&#xff1f; 并不是&#xff1a;负载均衡是用户分流&#xff1b;冗余技术是避免出现单点故障 负载均衡&#xff1a;将不同的用户分流到不同的服务器…

python实战教程:7万网站用户行为大数据的分析

今天的教程有点长&#xff0c;耐心点看完&#xff0c;你会有收获的。基础薄弱的伙伴&#xff0c;不清楚的可以留言&#xff0c;要视频学习教程的&#xff0c;可以留言&#xff01; 7万网站用户行为大数据分析 数据分析师&#xff0c;是通过数据对业务团队决策、公司管理层的决…

手把手教你做毕业设计:基于JSP+MySQL的简单校园新闻网站(1)

系列教程来了&#xff01;毕业设计头大的伙伴&#xff0c;看过来了&#xff01;基础薄弱的伙伴&#xff0c;需要视频教程的&#xff0c;可以留言&#xff0c;我整理后发大家&#xff01; 整体流程 做一个项目&#xff0c;首先是需求分析&#xff0c;将要做的东西说明白。 然后…

手把手教你做毕设计系列:基于JSP+MySQL的简单校园新闻网站(3)

系列教程&#xff08;2&#xff09;下一期出&#xff0c;保存的文件一下子打不开了&#xff0c;下期更新哈&#xff01; 新建数据库 使用Navicat新建数据库shcoolnews。 为了保存管理员用户名、密码&#xff0c;新建user表&#xff0c;结构如下图。 简单解释下&#xff0c;i…

jquery找到第几个字符_10个可以找到jQuery承包商的网站

jquery找到第几个字符作为一名技能娴熟的前端Web开发人员&#xff0c;您可以选择以自由职业者&#xff0c;承包商或临时或永久任职的身份独立从事工作 。 或者&#xff0c;您可能只想在业余时间通过在线寻求一些项目工作来提高自己的技能。 因此&#xff0c;今天我列出了一些地…